cse300 ctins-1.1 the ct insurance department project prof. steven a. demurjian, sr. computer science...

50
CSE300 CTINS-1.1 The CT Insurance Department The CT Insurance Department Project Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT 06269-3155 [email protected] http://www.engr.uconn.edu/~steve (860) 486 - 4818

Upload: lila-nazworth

Post on 31-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.1

The CT Insurance Department ProjectThe CT Insurance Department Project

Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department

The University of Connecticut191 Auditorium Road, Box U-155

Storrs, CT 06269-3155

[email protected]://www.engr.uconn.edu/~steve

(860) 486 - 4818

Page 2: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.2

Overview of PresentationOverview of Presentation

Overview of CT Insurance Project - ConceptsOverview of CT Insurance Project - Concepts A Quick Review of JavaA Quick Review of Java Software Engineering and Architectural IssuesSoftware Engineering and Architectural Issues

Language and Database Evaluation Tools (Design & Development)

Software Architectural StructureSoftware Architectural Structure Design Alternatives and Tradeoffs Applet vs. Application RMI for System Interactions Documentation Standards and Design Models

Example GUI/System FunctionalityExample GUI/System Functionality SummarySummary

Page 3: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.3

The CT Insurance Department ProjectThe CT Insurance Department Project

PurposesPurposes Upgrade Computing Environment to 21st

Century Technologies Support all Existing Capabilities Add New Functionality that Provide More

Opportunities for Personnel to Perform Their Jobs in a Cost Effective Manner

Institute Philosophy that Promotes Future Improvements and Extension to eCommerce

Partnership ofPartnership of CT Insurance Department Personnel UConn’s Computer Science & Engrg. Dept. GentronicsWang Corporation Merrill Clark Corporation

Page 4: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.4

Software Architectural StructureSoftware Architectural Structure A First Licensing Prototyping A First Licensing Prototyping

Initial Data Entry Operator(Scanning & Posting)

10-100MB Network

Advanced Data Entry

Operators

DocumentServerStored

Images/CD

DatabaseServerRunningOracle

RMI Registry

Functional Server

RMI Act.Obj/Server

RMI Act.Obj/Server

Analyst Manager

Page 5: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.5

Business Process Model: Business Process Model: Scanning and Initial Data EntryScanning and Initial Data Entry

Scanner

Licensing

..

LicensingDivisionScanningOperator

StoredImages

BasicInformationEntered

DB

CompletedApplications

HistoricalRecords

Printer

New LicensesNew AppointmentsFOI

Letters (RequestInformation, etc.)

Licensing DivisionData Entry Operator

SupervisorReview

DB

DB DB

DB

Page 6: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.6

Software Engineering andSoftware Engineering and Architectural Issues Architectural Issues

Java is Emerging Programming Language of Choice Java is Emerging Programming Language of Choice for Majority of Software Developmentfor Majority of Software Development Distributed Internet-Based Applications Legacy/COTS Integration General-Purpose, Single-CPU Development Specifically Targeted for eCommerce

Oracle will be Database System PlatformOracle will be Database System Platform Proven System with Long, Stable History Underlying Relational Database Management is

Workhorse of Industrial Applications Ability to Interact with Existing and Emerging

Technologies Still to be Determined Technologies for Document Still to be Determined Technologies for Document

Scanning and StorageScanning and Storage

Page 7: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.7

Software Engineering andSoftware Engineering and Architectural Issues Architectural Issues

Design and Development ToolsDesign and Development Tools GDPro vs. Paradigm vs. Rose vs. Together/J Vis. Café v. Jbuilder v. Jdeveloper v. WebDB

Software Architectural StructureSoftware Architectural Structure Design Alternatives and Tradeoffs Applet vs. Application Relevant Issues for Both

Insurance Agents vs. Department Employees Designing for Today and Tomorrow

Software Engineering ProcessSoftware Engineering Process Documentation for Users: Contract Documentation/Design Models for Developers Standards for Developers: Maintenance

Page 8: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.8

Design and Development ToolsDesign and Development Tools

GDPro vs. Paradigm vs. Rose vs. Together/JGDPro vs. Paradigm vs. Rose vs. Together/J What are Advantages of Each? What are Drawbacks of Each? What are Documentation Capabilities of Each? Integration of UML Diagrams Cost vs. Support vs. Training

Visual Café v. Jbuilder v. Jdeveloper v. WebDBVisual Café v. Jbuilder v. Jdeveloper v. WebDB What is Best Tool for Rapid GUI Prototyping? What is Best Tool for Non-GUI Client Code? What is Best Tool for RMI/Servlet Code? What is Best Tool for Database Server Code? Impact of Tool Choice on Long Term

Maintenance/Evolution - re. Ins. Agent GUI

Page 9: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.9

UML Design ToolsUML Design ToolsThe PlayersThe Players

GDPro 3.2GDPro 3.2 Advanced Software Technologies Inc. www.advancedsw.com

Paradigm Plus Enterprise Edition 3.6Paradigm Plus Enterprise Edition 3.6 Computer Associates International www.cai.com

Rational Rose 98 Enterprise Edition (August 98)Rational Rose 98 Enterprise Edition (August 98) Rational Software Corporation www.rational.com

Together/J Version 3.0, Developer EditionTogether/J Version 3.0, Developer Edition TogetherSoft LLC www.togethersoft.com

Page 10: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.10

UML Design ToolsUML Design ToolsThe EvaluatorsThe Evaluators

Scott Craig, Graduate Student, UConnScott Craig, Graduate Student, UConn Strong Background in UML Long-Time User of Rational Rose

Steven A. Demurjian, Professor, UConnSteven A. Demurjian, Professor, UConn Software Engineering/Object-Oriented

Researcher Minimal Experience with Rational Rose

Earl DuBack, Migration Facilitator Manager, CT Earl DuBack, Migration Facilitator Manager, CT Insurance Dept.Insurance Dept. Significant Expertise with Numerous Design

and Documentation Methods Minimal Experience with UML

Page 11: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.11

Comparing UML Design ToolsComparing UML Design ToolsGDPro and Paradigm PlusGDPro and Paradigm Plus

Drawbacks of Both:Drawbacks of Both: Awkward to Learn and Use Neither Provided a Hierarchical View of the

Packages in the Application being Modeled Hierarchical View Akin to File Hierarchy/Explorer Necessary to Organize Design into Units Supports Concurrent Design by Team Members Facilitates Transition to Implementation

Minimal Code Editing/Generation Capabilities No Round-Trip Engineering

S. Craig Found Both Difficult to Use Given his S. Craig Found Both Difficult to Use Given his Experience with Rational RoseExperience with Rational Rose

Overall, Lacking in Key Facets which are Critical to Overall, Lacking in Key Facets which are Critical to Support the Goals of Our ProjectSupport the Goals of Our Project

Page 12: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.12

Comparing UML Design ToolsComparing UML Design ToolsRational RoseRational Rose

Was Expected to be Chosen ToolWas Expected to be Chosen Tool Familiarity of Tool with Numerous Team

Members Rational Influence re. Three Amigos (Booch,

Rumbaugh, Jacobson) who Defined UML Long Established Product Commercially

Utilized Throughout Industry/Academic/Gov. But, Significant DrawbacksBut, Significant Drawbacks

Round-Trip Engineering Lacking Minimal Java Support

JDK 1.1.6 Can be Loaded into Rose Efforts with JDK 1.2 Unsuccessful

Page 13: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.13

Comparing UML Design ToolsComparing UML Design ToolsRational RoseRational Rose

Significant Drawbacks - ContinuedSignificant Drawbacks - Continued Limited to Design and Documentation

No Support to Edit Generated Code within Rose Would Require Extensive Bookkeeping for

Migrating Code Changes to Design and Vice-Versa Some Rose Diagrams Violated UML Standard

Dependencies Among Use-Cases Not Allowed To Achieve, Utilize Generalization and Stereotype

with <<include>> and <<extend>> Awkward to Use and Counter-Intuitive

Overall, Despite S. Craig’s History with Rose, the Overall, Despite S. Craig’s History with Rose, the Tool was Inadequate as Compared to Together/JTool was Inadequate as Compared to Together/J

Page 14: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.14

Comparing UML Design ToolsComparing UML Design ToolsTogether/JTogether/J

Key Benefits and Features:Key Benefits and Features: Integrated Java Code Editor with UML

Diagrams Changes to Code Immediately Propagate to UML

Diagrams Changes to Diagrams Immediately Propagate to

Code Changes to Code in External Tool (Visual Café)

are Reflected in UML Diagrams after File Save Support for Round-Trip Engineering

As Mentioned in Above Change Propagation Ability to “Load” Java Source Code Not Created in

Together/J and Tool Generates UML Diagrams

Page 15: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.15

Comparing UML Design ToolsComparing UML Design ToolsTogether/JTogether/J

Key Benefits and Features:Key Benefits and Features: Hierarchical View of Application

Similar Capability to Rational Rose Allows Modularization of UML Design

Integration with JDK 1.2.2 Ability to Load Zip/JAR File to Bring in All JDK

1.2.2 Classes and APIs UML Designs can Utilize APIs/Classes Simplifies Transition to Software Development by

Allowing Specifics to be Included For Example, GUI Classes, JDBC Interactions,

etc., can All be Modeled

Page 16: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.16

Choosing Together/JChoosing Together/JOther ConsiderationsOther Considerations

Support for Version ControlSupport for Version Control Ships with Concurrent Versions System(CVS) CVS Allows Multiple Users on Different

Workstations Running Together/J to Share Common UML Design Repository

Insures Consistency of Application and Its Model Elements

Ease of Use Ease of Use For Rose Users, Together/J has Similar Look

and Feel: Easy to Switch to Together/J For Non-UML Users, One Evaluator Found it

Easier to Learn and Utilize Together/J Rational Rose - Less Intuitive Together/J - Easy Transition to UML Design

Page 17: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.17

Evaluating Development ToolsEvaluating Development Tools Visual Café/Jbuilder/Jdeveloper/WebDB Visual Café/Jbuilder/Jdeveloper/WebDB What is Best Tool for Rapid GUI Prototyping?What is Best Tool for Rapid GUI Prototyping?

Chosen Visual Café re. Project Team Recommendations and Past Experience

Targeting Visual Café 4.0 Expert Ed. ($799) Caveat: Café Recently Sold to BEA

What is Best Tool for Non-GUI Client Code?What is Best Tool for Non-GUI Client Code? Exploit Editing Capabilities of Together/J Transition to Visual Café

What is Best Tool for Database Server Code?What is Best Tool for Database Server Code? Still Evaluating Potential for Jbuilder and/or Café Role of DBDesigner for ER Design and

Relation Generation

Page 18: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.18

Software Architectural StructureSoftware Architectural Structure Design Alternatives and Tradeoffs Design Alternatives and Tradeoffs

What is Current Software Structure?What is Current Software Structure? How are Components Deployed on Workstations?How are Components Deployed on Workstations? How can Components be Redeployed in Future?How can Components be Redeployed in Future? What Architecture Facilitates Rapid Prototyping What Architecture Facilitates Rapid Prototyping

and Requirements Capture in Short Term?and Requirements Capture in Short Term? How do we Transition for “Real” System?How do we Transition for “Real” System?

GUI Client

Servlets

RMI

InteractionAbstraction

Web Serverat DOIT

OracleDatabaseServer

Page 19: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.19

client<<Applet>>

LicensingServlet

<<Servlet>>

LicensingRMIimpl

<<Application>>

LicensingRMI

InternalOracle

ExternalOracle

JDBC

Updated Daily

120-160(20-30 Licensing)

Current Architecture from Scott CraigCurrent Architecture from Scott Craig

Page 20: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.20

Design Alternatives and TradeoffsDesign Alternatives and Tradeoffs What are Critical Design Considerations? What are Critical Design Considerations? Internal Clients vs. External ClientsInternal Clients vs. External Clients Evolvability with respect to …Evolvability with respect to …

Adding New Clients Over Lifetime of Project Adding/Changing Post-April 2001 Easily Upgrading Components …

Changes re. New Versions of Java/Browsers Adding More Web-Servers, Functional Servers,

Database Servers Supporting External Clients (Mirror Site DOIT) Replacement of Database/OS (Drastic Changes)

What are Dimensions of Extensibility that are Supported by Architecture?

Where is Concurrency/Data Consistency Handled?Where is Concurrency/Data Consistency Handled?

Page 21: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.21

Software Architectural Structure Software Architectural Structure Design Alternatives and TradeoffsDesign Alternatives and Tradeoffs

What is the “Optimal” Architecture?What is the “Optimal” Architecture? For Rapid Prototyping For “Real” System For “Long-Term” Maintenance & Evolution For “Anticipated” Future Users (Agents, etc.) For “Ease of Adopting” Future Technologies

Do we Need a “Single” Architecture?Do we Need a “Single” Architecture? How Do we Transition Between Architectures?How Do we Transition Between Architectures? Where is Concurrency/Data Consistency Handled?Where is Concurrency/Data Consistency Handled?

Any Responsibility in Client? Is there Functional Server Between Client and

Database? Will Database System be Sole Arbitrator?

Page 22: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.22

Software Architectural StructureSoftware Architectural Structure Applet vs. Application Applet vs. Application

Applet: Web Browser or Applet ViewerApplet: Web Browser or Applet Viewer Downloaded from Web Server to Client Allows Transparent Changes to “Code” -- Next

Download Provides “New” Code All at Once Download

Incurs Overhead During Initial Download System Must Handle “Hot” Spots of Activity

During AM, After Lunch On-Demand Download

Incurs Overhead Throughout Usage of Client Download from Web Server Still Uses Network

which Competes with Database Queries by Clients Is One Approach More Complex than Another? Regardless of Approach, Need Modularization

Page 23: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.23

Software Architectural StructureSoftware Architectural Structure Applet vs. Application Applet vs. Application

ApplicationApplication Standalone Application Installed as Program

on Client Workstations Startup Incurs Network Traffic Only on Load

of “Custom Parameters and Values” from DB Changes to Application Require Reinstallation

on Each Platform Automatic Update for New Releases Small Number of GUI Clients (30??)

Should AdvDataEntryOp have Application Due to Size and Complexity of Software?

Will InitDataEntryOp Utilize Downloaded Applet Due to Lack of Complexity?

Page 24: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.24

Software Architectural StructureSoftware Architectural Structure Summary: Applet vs. Application Summary: Applet vs. Application

Does Client Software Need to be Incorporated into Does Client Software Need to be Incorporated into Browser?Browser?

Any Capabilities Client Can Utilize within Browser Any Capabilities Client Can Utilize within Browser as Applet that Aren’t Available as Application (or as Applet that Aren’t Available as Application (or Vice Versa)?Vice Versa)? Web Sites Can be Accessed by Applet or

Application Application Can Load Browser Based on

Situation Will Browser Version and Incompatibility with Java Will Browser Version and Incompatibility with Java

Cause Difficulties in Maintenance?Cause Difficulties in Maintenance? Different Versions use Different Java Versions Unresolved Sun/Microsoft Suit re. Java Is Application Approach “Safer”

Page 25: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.25

Software Architectural StructureSoftware Architectural Structure Summary: Applet vs. Application Summary: Applet vs. Application

What Software will Different Levels of Employees What Software will Different Levels of Employees Require?Require? Scanner/Basic Client for InitDataEntryOp Image/Client/Netscape for AdvDataEntryOp

What is Tradeoff re. Screen Space and Number of What is Tradeoff re. Screen Space and Number of Active Programs?Active Programs? Remove Extra Space Needed for Browser? Recall Tasks in Separate Windows

Do we Need a Unified Approach for Both Internal Do we Need a Unified Approach for Both Internal Clients (Dept. Employees) and External Clients Clients (Dept. Employees) and External Clients (Insurance Agents and Others)?(Insurance Agents and Others)?

Does Frequency of Changes Influence Choice?Does Frequency of Changes Influence Choice? How Often Laws Change vs. GUI Changes

Page 26: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.26

Software Architectural StructureSoftware Architectural Structure Summary: Expanding Scope Summary: Expanding Scope

We’ve had Two Interfaces so Far … We’ve had Two Interfaces so Far … InitDataEntryOp to Enter Basic Information AdvDataEntryOp for New/Modified Licenses

For For AdvDataEntryOPAdvDataEntryOP - - Not All Users Can Do All Functions Customizability - via DB or SW Versions?

Other Divisions and Corresponding GUIsOther Divisions and Corresponding GUIs What is Management Challenge for Maintaining What is Management Challenge for Maintaining

and Distributing … and Distributing … All at Once Downloaded Applets On-Demand Downloaded Applets Installed Applications

How are Various “Approaches” Managed?How are Various “Approaches” Managed?

Page 27: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.27

Software Architectural StructureSoftware Architectural Structure Choice: Application over Applet Choice: Application over Applet

All GUIs for CT Insurance Department EmployeesAll GUIs for CT Insurance Department Employees Chosen for Following Reasons:Chosen for Following Reasons:

Installing Applications Reduces Network Traffic During Startup

Increases Screen Real-Estate Since Browser Not Needed

Removes Dependence on Browser Versions Eliminates Uncertainty re. Microsoft’s Support

of Java within Internet Explorer Note: Note:

System Still Positioned for Internet Based Interactions by Insurance Agents/Firms

Page 28: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.28

Software Architectural StructureSoftware Architectural Structure A First Licensing Prototyping A First Licensing Prototyping

Initial Data Entry Operator(Scanning & Posting)

10-100MB Network

Advanced Data Entry

Operators

DocumentServerStored

Images/CD

DatabaseServerRunningOracle

RMI Registry

Functional Server

RMI Act.Obj/Server

RMI Act.Obj/Server

Analyst Manager

Page 29: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.29

Adv. Data Entry ManagerAnalyst

rmid rmiregistry

Activation ObjectActivatableImplementation.java

rmiregistry 1100 rmiregistry 1101 rmiregistry 1102

Unicast Remote ObjectLicensingImpl

Unicast Remote ObjectLicensingImpl

Unicast Remote ObjectLicensingImpl

Using RMI in Licensing PrototypeUsing RMI in Licensing Prototype

Page 30: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.30

Adv. Data Entry

rmid rmiregistry

Activation ObjectActivatableImplementation.java

rmiregistry 1100

Unicast Remote ObjectLicensingImpl

Using RMI in Licensing PrototypeUsing RMI in Licensing Prototype

• Client Looks Up Activation Object • rmid Creates New Activation Object• rmid Binds Activation Object Interface to Client

• Client Requests a Unicast Remote Object

• Activatable Object Creates New Unicast Remote Object and Binds to Unique Name on a Registry (Round Robin)

• Activatable Object Returns to Client All Necessary Info

• Client can Now Directly Communicate with

Unicast Remote Object Implementation Class(LicenseImpl) • Client Can Invoke Methods and Receive Results

Page 31: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.31

Software Engineering ProcessSoftware Engineering Process Documentation for Users: Contract Documentation for Users: Contract

Existing Documentation and Interviews to Existing Documentation and Interviews to Determine Current and Future User RequirementsDetermine Current and Future User Requirements

Documentation of Business Processes and RulesDocumentation of Business Processes and Rules Creation of Use Cases by Development TeamCreation of Use Cases by Development Team Transition From Use Cases to PowerPoint Transition From Use Cases to PowerPoint

PresentationsPresentations Provide Means to Capture Requirements in

Easy to Understand Medium Utilized for Give-and-Take and Sign-Off

Need for “Written” Scenario Description to Need for “Written” Scenario Description to Accompany PPTAccompany PPT

Creation of “How System Works” and “How to Creation of “How System Works” and “How to Use System” Documents/GUI Mockups in Café Use System” Documents/GUI Mockups in Café

Page 32: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.32

What is System Documentation?What is System Documentation? From Use Cases to …From Use Cases to …

Scenarios for Developers Static Views: Class, Object, Component,

Deployment Diagrams UML Extension: Robustness Diagrams Dynamic Views: Sequence, Collaboration,

Statechart, Activity Diagrams Which Diagrams are Relevant at Which Stages of Which Diagrams are Relevant at Which Stages of

Design and Development Process?Design and Development Process? Are All Diagrams to be Utilized for Project?Are All Diagrams to be Utilized for Project? What are Most Likely Diagrams?What are Most Likely Diagrams?

Software Engineering ProcessSoftware Engineering Process Doc./Design Models for Developers Doc./Design Models for Developers

Page 33: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.33

Software Engineering ProcessSoftware Engineering Process Standards for Developers: Maintenance Standards for Developers: Maintenance

What Documentation Requirements and Standards What Documentation Requirements and Standards are Required?are Required? Use Cases Plus Accompanying Textual

Descriptions Use Case Development Standards

PowerPoint Versions of Use Cases Others???

What are Software Development Standards?What are Software Development Standards? What are Configuration Management/Version What are Configuration Management/Version

Control Standards?Control Standards? Who will Play the Role of Librarian?Who will Play the Role of Librarian?

Page 34: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.34

Business Process Model: Business Process Model: Scanning and Initial Data EntryScanning and Initial Data Entry

Scanner

Licensing

..

LicensingDivisionScanningOperator

StoredImages

BasicInformationEntered

DB

CompletedApplications

HistoricalRecords

Printer

New LicensesNew AppointmentsFOI

Letters (RequestInformation, etc.)

Licensing DivisionData Entry Operator

SupervisorReview

DB

DB DB

DB

Page 35: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.35

OperatorNew LicenseApplicationWork Queue

Next License Application

Requests Next LicenseApplication in Work Queue

Issue New License

Issue Rejection Letter

Supervisor Work Queue

Utilizing the Work QueueUtilizing the Work Queue

Page 36: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.36

Licensing GUIsLicensing GUIs Capabilities and TasksCapabilities and Tasks

Scanning Business ProcessScanning Business Process Scan Documents and Enter Basic Information Verify Readability of Scanned Documents Scanned Documents Automatically Enter a

Work Queue for Subsequent Processing Create Historical Record for Each Action of

Scanning Personnel Historical Record Allows:Historical Record Allows:

Tracking Productivity by Examining Who Scanned Which Documents

Ability to Provide History of Application, License, etc., when Processing Question from Agent, FOI Request, etc.

Page 37: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.37

Licensing GUIsLicensing GUIs Capabilities and TasksCapabilities and Tasks

Processing Work Queue Elements Which Contain:Processing Work Queue Elements Which Contain: License Applications Documents Requested by Insurance Dept. Appointments/Re-appointments FOI Requests, etc …

Each Work Queue Element Contains One or More Each Work Queue Element Contains One or More Scanned Images to be ProcessedScanned Images to be Processed

Result of ProcessingResult of Processing Modify Historical Record Create Entry in Oracle Database Document Sent to CD-Rom Repository Errors/Problems Forwarded to Analyst

Page 38: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.38

Licensing GUIsLicensing GUIs Capabilities and TasksCapabilities and Tasks

Additional Capabilities:Additional Capabilities: Process Problem Work Queue Elements Route Specific Elements to Advanced Data

Entry Operator Set Privileges and Capabilities of Personnel Handle Inquiries: FOI, NAIC, Legislature, etc.

Database Administrator Capabilities (DBA):Database Administrator Capabilities (DBA): Responding to Special Requests Maintaining Oracle Database Investigating Data Consistency

Page 39: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.39

GUI LoginGUI Login

Page 40: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.40

Application ScanningApplication Scanning

Page 41: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.41

Work QueueWork Queue

Page 42: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.42

Data EntryData Entry

Page 43: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.43

Licensing GUIsLicensing GUIs Capabilities and TasksCapabilities and Tasks

Additional Capabilities:Additional Capabilities: Set Privileges and Capabilities of Personnel Handle Inquiries: FOI, NAIC, Legislature, …

Supervisor Review Queue Reclassify Work Queue Elements Investigations, Statistics, Analysis Reports Manager Review Queue, Work Flow Management Reports

Database Administrator Capabilities (DBA):Database Administrator Capabilities (DBA): Responding to Special Requests Maintaining Oracle Database Investigating Data Consistency

Page 44: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.44

Examples of User-Specific TasksExamples of User-Specific TasksCustomizing GUI Based on UserCustomizing GUI Based on User

License ApplicationsLicense Applications Producer Casualty Adjuster Public Adjuster

License ChangeLicense Change Producer Casualty Adjuster Public Adjuster Viatical Settlement

Broker Letter of CertificationLetter of Certification

License ApplicationsLicense Applications Producer Casualty Adjuster Certified Insurance

Consultant Public Adjuster

License ChangeLicense Change Producer Casualty Adjuster Public Adjuster Certified Insurance

Consultant Viatical Settlement Broker

Letter of CertificationLetter of Certification Duplicate LicenseDuplicate License Freedom of InformationFreedom of Information

Page 45: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.45

GUIs for Other DivisionsGUIs for Other Divisions

Exploit Licensing GUI as Blueprint for all Other Exploit Licensing GUI as Blueprint for all Other GUIsGUIs Utilize Similar Look-and-Feel Across GUIs Customize GUIs for Business Models and

Desired Processing for Each Division Reuse Software Components to Speed

Development Key IssuesKey Issues

Realize Existing Computing Functionality Offer New Capabilities for Tracking Trends,

Historical Data, Productivity, etc.

Page 46: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.46

Current Software ArchitectureCurrent Software ArchitectureIssues and DecisionsIssues and Decisions

Utilizing Two-Tiered ApproachUtilizing Two-Tiered Approach RMI Too Costly Employ Middle Layer to “Hide” Relational

Data and Oracle Platform from GUI/Client Stage Data To/From “Java” Instances for

Processing by Client Adopt Strategy Similar to Java Blend Develop “Classes” to Represent Database Views

Needed by Different Tasks

May Exploit EJB in Future Still Haven’t Chosen Document Management Sys.Still Haven’t Chosen Document Management Sys.

Page 47: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.47

Current Software ArchitectureCurrent Software ArchitectureDatabase/Middle-Tier InteractionsDatabase/Middle-Tier Interactions

DatabaseServerRunningOracle

DB Server Contains DB Server Contains Relations Views

Client Application Must Client Application Must Store/Retrieve Between Store/Retrieve Between GUI and Database GUI and Database

Contrast ofContrast of Class vs. Relation Objects vs. Tuples

Creation of Java ClassesCreation of Java Classes One Class per RelationOne Class per Relation

License Relation Yields License Class

Class Contains Gets, Sets, and Iterator

One Class per ViewOne Class per View New Appl. View Yields

New Appl. Class Gets, Sets, and Iterator

Translation

Java ClassesOne Per Relation

Java ClassesOne Per View

Page 48: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.48

Current Software ArchitectureCurrent Software ArchitectureDatabase/Middle-Tier InteractionsDatabase/Middle-Tier Interactions

Client Interacts with Middle-Client Interacts with Middle-Tier for ProcessingTier for Processing

Middle-Tier Provides Middle-Tier Provides Repository for StoringRepository for Storing Information for DB Information from DB

Client Interacts withClient Interacts withMultiple RelationsMultiple Views

for Each Processing Taskfor Each Processing Task

Java Classes Existing Java Classes Existing within “Conceptual within “Conceptual Middle TierMiddle Tier

Allow Information to be Allow Information to be Staged To/From Staged To/From DatabaseDatabase

Utilized by GUI Client Utilized by GUI Client for All Processingfor All Processing

Provides Transparency Provides Transparency of Database to Clientof Database to Client

Utilization

Java ClassesOne Per Relation

Java ClassesOne Per View

Page 49: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.49

Software Design and AnalysisSoftware Design and Analysis

Developing “Reusable” GUI Client for Licensing Developing “Reusable” GUI Client for Licensing EmployeesEmployees

Intend to Reuse Across Different DivisionsIntend to Reuse Across Different Divisions In January 2001 Timeframe, Utilize DREIn January 2001 Timeframe, Utilize DRE

Initial Evaluation of “Reuse” Potential Assignment of General and Specific Classes Incremental Use of DRE on Different

Prototyping Versions Guide Development Process Towards Future

Reuse Key Issue: We Understand the Domain!Key Issue: We Understand the Domain!

Page 50: CSE300 CTINS-1.1 The CT Insurance Department Project Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut

CSE300

CTINS-1.50

SummarySummary

What Decisions have we Made?What Decisions have we Made? UML Tool - Together/J Development Tool - Visual Café Database Tool - DBDesigner

State of Current Prototyping StatusState of Current Prototyping Status Employing Together, Visual Café Integrating with Oracle Database Server at

UConn Utilizing Source Code Control System for

Managing Database Relations UML Designs Java Code