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

138
CSE2102 CTINS-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: jeffry-ward

Post on 27-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

CSE2102

CTINS-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

CSE2102

CTINS-2

What is the State of CT Insurance What is the State of CT Insurance Department?Department?

CT Insurance Department is a quasi-state Agency CT Insurance Department is a quasi-state Agency that is Responsible for Licensing:that is Responsible for Licensing: Insurance Agents (people) Insurance Agencies Insurance Companies (insurance products)

The Agency Consists of around 100+ Employees The Agency Consists of around 100+ Employees in Numerous Divisionsin Numerous Divisions Administration, Consumer Affairs Financial Regulation, Licensing Life & Health, Property & Casualty Market Conduct

CSE2102

CTINS-3

Brief Explanation of DivisionsBrief Explanation of Divisions

Licensing: Issue Licenses to Sell Insurance to Licensing: Issue Licenses to Sell Insurance to Individuals and Insurance AgenciesIndividuals and Insurance Agencies

Financial Regulation: Issue Licenses to Companies Financial Regulation: Issue Licenses to Companies and Audit their Booksand Audit their Books

Life & Health and Property & Casualty: Approve Life & Health and Property & Casualty: Approve the Insurance Products (Policies) Sold in CTthe Insurance Products (Policies) Sold in CT

Consumer Affairs: Take Complaints from Consumer Affairs: Take Complaints from Individuals, etc., Against Insurance Agents, Individuals, etc., Against Insurance Agents, Agencies, and CompaniesAgencies, and Companies

Market Conduct: Investigate Potential Illegal Market Conduct: Investigate Potential Illegal Activities by Agents, Agencies, and CompaniesActivities by Agents, Agencies, and Companies

CSE2102

CTINS-4

What Does Licensing Do?What Does Licensing Do?

License Agents, Agencies, and CompaniesLicense Agents, Agencies, and Companies Many Different Licenses - IncludingMany Different Licenses - Including

Producer (Life, Health, Accident, Property, …) Bail Bond Casualty Adjuster MV Physical Damage Appriaser

Basically, Handling anything to do With the Basically, Handling anything to do With the Ability to Sell Insurance in CTAbility to Sell Insurance in CT

CSE2102

CTINS-5

What Does Consumer Affairs Do?What Does Consumer Affairs Do?

Review & Respond to Complaints from State Review & Respond to Complaints from State ResidentsResidents

Pursue & Resolve ComplaintsPursue & Resolve Complaints Educate & Redirect Consumer if OutsideEducate & Redirect Consumer if Outside

JurisdictionJurisdiction ProvideProvide Informational Pamphlets & BookletsInformational Pamphlets & Booklets Document & Provide Commissioner with Document & Provide Commissioner with

Quarterly ReportsQuarterly Reports PublishPublish Rankings of Insurance CompaniesRankings of Insurance Companies

FOI RequestsFOI Requests

CSE2102

CTINS-6

Complaint Master FileComplaint Master File

Current Back End- Wang Proprietary Software Current Back End- Wang Proprietary Software with Interfaces to MS-DOS-Screens (COBOL)with Interfaces to MS-DOS-Screens (COBOL)

CSE2102

CTINS-7

Data Entry Screen for New ComplaintData Entry Screen for New Complaint

CSE2102

CTINS-8

Result of Entering ComplainantResult of Entering Complainant

CSE2102

CTINS-9

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 Since February 1999

CSE2102

CTINS-10

Transitioning Capabilities for MigrationTransitioning Capabilities for MigrationTwo Objectives for Consumer AffairsTwo Objectives for Consumer Affairs

Capture “Core/Critical” Functionality of WangCapture “Core/Critical” Functionality of Wang Identify Wang Functions to be Transitioned Include Batch and Other Processing Jobs

Provide “Added” Value that Improves ProcessProvide “Added” Value that Improves Process Employees are More Productive Tracking of Current Documents More Precise Recall of Historical Documents Elimination of “Paper”

What Else do you Wish to Achieve?What Else do you Wish to Achieve?

CSE2102

CTINS-11

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

CSE2102

CTINS-12

Business Process for LicensingBusiness Process for Licensing

Scanner

Licensing

..

LicensingDivisionScanningOperator

StoredImages

BasicInformationEntered

DB

CompletedApplications

HistoricalRecords

Printer

New LicensesNew AppointmentsFOI

Letters (RequestInformation, etc.)

Licensing DivisionData Entry Operator

SupervisorReview

DB

DB DB

DB

CSE2102

CTINS-13

Business Process for Consumer AffairsBusiness Process for Consumer Affairs

ScannerComplaints, Letters, Responses, etc.

ConsumerAffairsDivisionScanningOperator

StoredImages

BasicInformation

Filenet

Documents to be Processed

HistoricalRecords

Generated Letters

Data Entry by CA Clerical

Oracle

Oracle Oracle

Sorting by Examiner

New Complaints

Processing byExaminers

Data Entry

CSE2102

CTINS-14

Important ConceptsImportant Concepts

Work Queue (WQ)Work Queue (WQ) Set of All Tasks to be Performed by All

Employees of State of CT Insurance Dept. Composed of Work Queue Elements which are

Identified Tasks that are Processed by Users Bar CodesBar Codes

Utilized to Automatically Classify Particular Documents by Type, Identifier, Division, etc.

Scanning/Sorting/IndexingScanning/Sorting/Indexing Categorizing Documents During Scanning into

Work Queue as Work Queue Elements Historical Record - Activity FileHistorical Record - Activity File

A Record of Any “Relevant” Activity or Action taken by User or System

CSE2102

CTINS-15

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 QueueLicensingLicensing

CSE2102

CTINS-16

Utilizing the Work QueueUtilizing the Work QueueConsumer AffairsConsumer Affairs

Examiner orClerical Staff

Consumer AffairsWork Queue

Return Next CA Work Queue Document

Request Next CA Work Queue Document

Generate/Print Letters

Update Complaint

Forward to Examiner

CSE2102

CTINS-17

Strategies for Processing Mail/DocumentsStrategies for Processing Mail/DocumentsThree StagesThree Stages

SortingSorting Classification of Mail by Document Type Scan by Type or Just with Separators

ScanningScanning Processing of Documents into Work Queue

Elements Create WQ Elements for CA Personnel

AssignmentAssignment Detailed Classification of Documents by Some

Type of Identifier (Name, Case#, SSN, etc.) Assigning CA Employee(s) to Process Specific

Work Queue Elements Is Automatic Assignment Possible?

CSE2102

CTINS-18

Scanning ConceptsScanning Concepts

Bar Codes (previously discussed)Bar Codes (previously discussed) On Forms that are Distributed to “Customers” Generated as Labels Added to Incoming Mail

Separators Separators Piece of Paper or Bar Code to Distinguish One

Document from Next Inserted During Mail Sorting Process Prior to

ScanningSeparators

CSE2102

CTINS-19

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.

CSE2102

CTINS-20

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

CSE2102

CTINS-21

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

CSE2102

CTINS-22

Software PlatformsSoftware Platforms

Java is Emerging Programming Language of Java is Emerging Programming Language of Choice for Majority of Software DevelopmentChoice for Majority of Software Development Desktop and Web-Based Applications Easy to Interact with DB Platforms

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 FileNet:FileNet:

Document Scanning and Storage Tracks all Documents Received of All Types

CSE2102

CTINS-23

The CT Insurance Department ProjectThe CT Insurance Department Project

Current TeamCurrent Team Storrs:

Professors Demurjian and Shin Three Software Engineers (Full-Time) Four 20 hour/week Graduate Student Developers

Hartford One Database Administrator (Getronics) One Manager (State of CT Insurance Department) One Developer

CSE2102

CTINS-24

Application ScanningApplication Scanning

CSE2102

CTINS-25

GUI LoginGUI Login

CSE2102

CTINS-26

Work QueueWork Queue

CSE2102

CTINS-27

Data EntryData Entry

CSE2102

CTINS-28

Classify

Process re. ClassificationProcess re. Classification

Lic. Processors

SupervisorReviewClassify

Classified

Forward for Reclassification

Forward forProblemsSup. Rev. Lic. Appl.Sup. Rev. FOIetc.Misc.

Supervisor

Known Document Types

CSE2102

CTINS-29

Revised Licensing Classification - Revised Licensing Classification - Reorganization Reorganization

CSE2102

CTINS-30

Next Set of SlidesNext Set of Slides

Following Slides are Screens for Processing the Following Slides are Screens for Processing the Various LicensesVarious Licenses

Each Window/Screen has an Appropriate TitleEach Window/Screen has an Appropriate Title

CSE2102

CTINS-31

Process License ApplicationProcess License Application

CSE2102

CTINS-32

Process License ApplicationProcess License Application

CSE2102

CTINS-33

Process License ApplicationProcess License Application

CSE2102

CTINS-34

Process License ApplicationProcess License Application

CSE2102

CTINS-35

Process License ApplicationProcess License Application

CSE2102

CTINS-36

Process License ApplicationProcess License Application

CSE2102

CTINS-37

Process License ApplicationProcess License Application

CSE2102

CTINS-38

Process License ApplicationProcess License Application

CSE2102

CTINS-39

Licensing Inquiry Screen for SearchingLicensing Inquiry Screen for Searching

Current Licensing Work has Developed an Inquiry Current Licensing Work has Developed an Inquiry Capability Capability

To Replace Lookup Capabilities in WangTo Replace Lookup Capabilities in Wang Note This is a General Search/Inquiry CapabilityNote This is a General Search/Inquiry Capability

Some Divisions may Only Need This Other Divisions May Need Specific Inquiry

Capability CA: Inquiry on Cases/Complaints

Goals:Goals: Understand What is Currently Provided Think About if it Meets your Needs Suggest Changes/Additions - New Tabs Argue for a Specific Inquiry Capability

CSE2102

CTINS-40

License Inquiry - Initial ScreenLicense Inquiry - Initial Screen

CSE2102

CTINS-41

Click the More Options ButtonClick the More Options Button

CSE2102

CTINS-42

Inquiry ResultsInquiry Results

CSE2102

CTINS-43

Organization Demographics

CSE2102

CTINS-44

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

CSE2102

CTINS-45

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

CSE2102

CTINS-46

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.

CSE2102

CTINS-47

Consumer Affairs Screens - InquiryConsumer Affairs Screens - Inquiry

CSE2102

CTINS-48

CAIT – More OptionsCAIT – More Options

CSE2102

CTINS-49

CAIT – More Options CAIT – More Options

CSE2102

CTINS-50

CAIT ResultsCAIT Results

CSE2102

CTINS-51

CA Processing Tool (CAPT)CA Processing Tool (CAPT)

CSE2102

CTINS-52

CAPTCAPT

CSE2102

CTINS-53

CAPTCAPT

CSE2102

CTINS-54

CAPTCAPT

CSE2102

CTINS-55

CAPTCAPT

CSE2102

CTINS-56

CAPTCAPT

CSE2102

CTINS-57

CAPTCAPT

CSE2102

CTINS-58

CAPTCAPT

CSE2102

CTINS-59

CAPTCAPT

CSE2102

CTINS-60

Software Engineering IssuesSoftware Engineering IssuesCase Study in CT Insurance ProjectCase Study in CT Insurance Project

Ghezzi – Chap 2: Software QualitiesGhezzi – Chap 2: Software Qualities Ghezzi – Chap 3: Software PrinciplesGhezzi – Chap 3: Software Principles Ghezzi – Chap 4: Software Architectural StructureGhezzi – Chap 4: Software Architectural Structure

Design Tradeoffs/Design for Today/Tomorrow Ghezzi – Chap 5: Specification ProcessGhezzi – Chap 5: Specification Process

Interviews and Visio Ghezzi – Chap 9: Design and Development ToolsGhezzi – Chap 9: Design and Development Tools

Evaluating UML Tools and Java IDEs Ghezzi – Chap 7/8: Software Engineering ProcessGhezzi – Chap 7/8: Software Engineering Process

Documentation for Users: Contract Documentation/Design Models for Developers Standards for Developers: Maintenance

CSE2102

CTINS-61

Software QualitiesSoftware QualitiesGhezzi Chapter 2Ghezzi Chapter 2

RecallRecall Correctness Correctness andand Reliability Reliability Robustness Robustness andand Performance Performance User Friendliness User Friendliness andand Verifiability Verifiability Maintenance Maintenance andand Reusability Reusability Repairability Repairability andand Evolvability Evolvability Portability, Understandability, Portability, Understandability, andand

InteroperabilityInteroperability Productivity, Timeliness, Productivity, Timeliness, andand Visibility Visibility

Which Qualities are Most Important for CT Which Qualities are Most Important for CT Insurance Department Project and Why?Insurance Department Project and Why?

CSE2102

CTINS-62

Software QualitiesSoftware Qualities

CorrectnessCorrectness Critical Issue – We are Handling both Money

and also Sensitive Data (SSNs) We Must Insure that Agents are Licensed if

Satisfy Requirements More Importantly, they are Denied if Don’t!

User Community Diverse and Computer-PhobicUser Community Diverse and Computer-Phobic Dealing with Mistrust, Not Used to Computers,

etc. Examiners Give Written Material for Clerical

to Enter – They Don’t Type Over Time, Turned them Around with

Increased Productivity and Accuracy

CSE2102

CTINS-63

Software QualitiesSoftware Qualities

ReliabilityReliability Consistent Behavior, Always Up Currently, Renewing 70,000 Agents/Agencies Third Cycle with our Software – Very Reliable

RobustnessRobustness Critical for so Many Novice Users Critical to Insure Licensing Occurs if all

Conditions are met PerformancePerformance

We’ve Faced Database Slowdowns that have Required Optimizations and Redoing Queries

Network Slowdowns Related to their Topology No Issues Re Java Speed

CSE2102

CTINS-64

Software QualitiesSoftware Qualities

MaintenanceMaintenance Already in Mode for Licensing/Consumer Aff. Constantly Making Changes and Upgrades Corrections and Perfections as Well

ReusabilityReusability Better Now than Before Large Usage of Beans/Components Many Large Scale Infrastructure as Well

Document Printing/Output Shared Query Tools have Same format – Instantiated from

Single Set of Code Reusing Tab of Functionality Across Multiple

Tools and Multiple Divisions

CSE2102

CTINS-65

Software QualitiesSoftware Qualities

RepairabilityRepairability Changes Tend to be Targeted within Division Change to Licensing – No Impact on ConAff Java– Along with Our Task Based Approach

Evolvability Evolvability Again – Changes Continue to be Made Multiple Releases (2 Builds/week) Facilitated by:

Prototype System at Storrs Prototype System at Hartford Production System at Hartford

All Changes are “Tried” out First

CSE2102

CTINS-66

Software QualitiesSoftware Qualities

Portability - Mostly Success – Some Problems Portability - Mostly Success – Some Problems Win 98 to Win 2K to Win XP w.r.t. Java Interactions of Java with MS Office Suite (via

VB and VC++) Variable Depending on OS Inability to Replicate Errors Incorporated Massive Error Tracking

UnderstandabilityUnderstandability Consistent Tool Look and Feel All Scanning, Classify, Inquiry, and Processing

Tools have Similar Structure Driven by User Input (Design/Spec by Visio)

CSE2102

CTINS-67

Software QualitiesSoftware Qualities

InteroperabilityInteroperability Currently we have: Win 2K and XP (Client) Win NT, 2K, XP (Servers) Two versions of Oracle, FileNet DMS Java 1.5 plus VC++ plus VB Integration with Fax Server and Outlook Interface to External off-site DBs

User FriendlinessUser Friendliness Strongly Influence by User Community Similar Look and Feel Across Tools Minimal Key Strokes and Short Cuts from MS

Office Suite Replicated in Java GUIs

CSE2102

CTINS-68

Software PrinciplesSoftware PrinciplesGhezzi Chapter 3Ghezzi Chapter 3

RecallRecall Rigor and Formality Separation of Concerns Modularity Abstraction Anticipation of Change Generality Incrementality

Which Qualities have been Uzed for CT Insurance Which Qualities have been Uzed for CT Insurance Department Project and Why?Department Project and Why?

CSE2102

CTINS-69

Software PrinciplesSoftware Principles

Rigor and FormalityRigor and Formality Least Utilized Principle Interviews Captured in Visio, Word, Screen

Shots Feedback/Change List Tracked in Word Weekly Meetings and Report of Changes System Specification Driven by GUI and User

Business Logic No Attempt to Verify Correctness of Business

Logic (w.r.t. Spec) in Actually Code Overall ProcessOverall Process

User Driven – Capabilities of GUIs/Tools Data Driven – Database Content/Queries

CSE2102

CTINS-70

Sample Specification of Business ProcessSample Specification of Business Process

CSE2102

CTINS-71

Sample Specification of Business ProcessSample Specification of Business Process

CSE2102

CTINS-72

Software PrinciplesSoftware Principles

Separation of ConcernsSeparation of Concerns Separation of Software by Divisions Development of Separate Tools by Division Within Each Division,

Differentiate Among Tasks Within Each Task, Subtasks With Each Subtask, Separate

GUI Database GUI/DB Interactions

Customize Lists of Tasks/Subtasks on User-by-User Basis

CSE2102

CTINS-73

Software PrinciplesSoftware Principles

Modularity and Abstraction Modularity and Abstraction Both Utilized as Implementation Vehicles Division/Tool/Task/Subtask Realized in

Modular (Package-Based) Architecture Architecture Influences Organization of

Software in Source Code Control System Strive for Max Cohesion/Min Coupling

Anticipation of ChangeAnticipation of Change Built to Change

In One Division – Many Changes (Yo-Yoing) In Another – Simply Improve and Refine

Technologies (Java, Oracle, HTML) Chosen due to their Long-Term Stability

CSE2102

CTINS-74

Software PrinciplesSoftware Principles

GeneralityGenerality Strongly Utilized at Different Levels Beans (from Dates to Addresses) Tabs in GUIs – Reused in Multiple Tools

Many Tabs for Consumer Affairs Generalized Resulting Tabs Reused in other Divisions/Tools

Entire Inquiry Tool All Inquiries have Same Format Top and Bottom Portions very Similar Use of Dates and Drop Downs

Overall – Strong Use of Generality w.r.t. Reusing Overall – Strong Use of Generality w.r.t. Reusing the Same Code in Multiple Contextsthe Same Code in Multiple Contexts

CSE2102

CTINS-75

Supplement Tab – Add a MemoSupplement Tab – Add a Memo

CSE2102

CTINS-76

Letters Tab – Select Letter to SendLetters Tab – Select Letter to Send

CSE2102

CTINS-77

Output Tab – Generate MediaOutput Tab – Generate Media

CSE2102

CTINS-78

License Inquiry Tool – First ToolLicense Inquiry Tool – First Tool

CSE2102

CTINS-79

CA Inquiry Screen – Basic InquiryCA Inquiry Screen – Basic Inquiry

CSE2102

CTINS-80

Inquiry – Expanding to More OptionsInquiry – Expanding to More Options

CSE2102

CTINS-81

Advanced TabAdvanced Tab

CSE2102

CTINS-82

Market Conduct ITMarket Conduct IT

CSE2102

CTINS-83

Life & Health/Property & Casualty ITLife & Health/Property & Casualty IT

What Else are all These Inquiry Tools Example of?What Else are all These Inquiry Tools Example of?

Program Family!Program Family!

CSE2102

CTINS-84

Software PrinciplesSoftware Principles

IncrementalityIncrementality True at All Levels for Project Incremental Development by Division

Licensing, Consumer Affairs, Market Conduct, . . . Incremental Development within Division

Different License Applications (12 Kinds) Different Subtasks Code Same Task for User and Supervisor

Incremental Development with Subtask Deploy GUI for Testing Deploy GUI with DB for Testing Deploy Full Subtask for Testing

CSE2102

CTINS-85

Software SpecificationSoftware SpecificationGhezzi Chapter 5Ghezzi Chapter 5

Diverse User Community with Almost No Diverse User Community with Almost No Computer Expertise and NomenclatureComputer Expertise and Nomenclature

Needed to Find a Way to Bridge GapNeeded to Find a Way to Bridge Gap Original Manager ConductedOriginal Manager Conducted

Interviews with Each Division Director + Employees Asked them to Document their Current

Business Processes Manager then LeftManager then Left

Seek Another Alternative with new Manager Use Documents as Basis for Interactive

Interviews that Produce Vision Screen Mockups + Written Documentation

CSE2102

CTINS-86

Software SpecificationSoftware SpecificationGhezzi Chapter 5Ghezzi Chapter 5

Diverse User Community with Almost No Diverse User Community with Almost No Computer Expertise and NomenclatureComputer Expertise and Nomenclature

Needed to Find a Way to Bridge GapNeeded to Find a Way to Bridge Gap Original Manager ConductedOriginal Manager Conducted

Interviews with Each Division Director + Employees Asked them to Document their Current

Business Processes Manager then LeftManager then Left

Seek Another Alternative with new Manager Use Documents as Basis for Interactive

Interviews that Produce Vision Screen Mockups + Written Documentation

CSE2102

CTINS-87

Processing of Producer License Processing of Producer License ApplicationApplication

Operator Enters BasicInformation on Application

Rejection Letter/License Issued

Operator Enters InformationContained on Attachments

Computer AutomaticallyGenerates Rejection Reasons/Pass

Operator Modifies Rejection Reasons/Pass

The slides that followaddress the dialog boxesthat the operator uses toenter information containedon the attachments

25 July 00 Version

CSE2102

CTINS-88

Sample Visios Documenting ProcessingSample Visios Documenting Processing

CSE2102

CTINS-89

Interviews, Scenarios, and VisioInterviews, Scenarios, and VisioInteractive Specification ProcessInteractive Specification Process

In 2002 of Team Met with Various DivisionsIn 2002 of Team Met with Various Divisions Consumer Affairs Life & Health Property & Casualty Market Conduct

Two Hour Interview Meetings toTwo Hour Interview Meetings to Listen to their Processing Pull-Out Requirements Brainstorm Think for Future without Limits

Result: Visios Reviewed, Edited and Expanded Result: Visios Reviewed, Edited and Expanded Overall 6 Month ProcessOverall 6 Month Process Created 10s of Screens and Scenario of UsageCreated 10s of Screens and Scenario of Usage

CSE2102

CTINS-90

Resulting VisiosResulting Visios

CSE2102

CTINS-91

Resulting VisiosResulting Visios

CSE2102

CTINS-92

Resulting VisiosResulting Visios

CSE2102

CTINS-93

Supplementing VisiosSupplementing Visios

Once Visio’s Stabilized for a Division, Created Once Visio’s Stabilized for a Division, Created Written DocumentationWritten Documentation

Sample Specification for Consumer Affairs Sample Specification for Consumer Affairs Processing Tool is On LineProcessing Tool is On Line

Process Continuing TodayProcess Continuing Today Implementing Screens from L&H and P&C Replaced Visios with Rapid Prototyping with

Java Screens Java Screens allow Users to Look, Feel, Play No Functionality Behind Tool – only GUI

CSE2102

CTINS-94

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

Ghezzi Chapter 5 + SW Architecture MaterialGhezzi Chapter 5 + SW Architecture Material 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 and What Architecture Facilitates Rapid Prototyping and

Requirements Capture in Short Term?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

CSE2102

CTINS-95

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

CSE2102

CTINS-96

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?

CSE2102

CTINS-97

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?

CSE2102

CTINS-98

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

CSE2102

CTINS-99

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?

CSE2102

CTINS-100

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”

CSE2102

CTINS-101

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

CSE2102

CTINS-102

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?

CSE2102

CTINS-103

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

CSE2102

CTINS-104

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

CSE2102

CTINS-105

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

CSE2102

CTINS-106

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

CSE2102

CTINS-107

Ghezzi Chapter 6 - TestingGhezzi Chapter 6 - Testing

Participators in TestingParticipators in Testing Domain Specialists to Formulate Test Cases Software Engineers Involved in Spec & Design Software Developers Software Testers

Sample TestingSample Testing State of CT Insurance Department Project Constant Renewal of Agents and Agencies

Renewal Scenarios to Process “Batches” Single vs. Multiple Renewals Scan 1/3 page w Bar Code + Check

Develop Scenarios, Testing Procedures, and Cases

CSE2102

CTINS-108

Recall Testing ScenarioRecall Testing Scenario

See Course Web Page at:See Course Web Page at:http://www.engr.uconn.edu/~steve/Cse230/TestScenario.pdf

Scenario Outlines:Scenario Outlines: Purpose of Test Resources Required Test Duration Test Procedure

Input(s) Intermediate Results Expected Outputs

Testing Graded on Pass/Fail

CSE2102

CTINS-109

Recall Test CasesRecall Test Cases

CSE2102

CTINS-110

Java Trace for DebuggingJava Trace for Debugging

CSE2102

CTINS-111

Java Trace for DebuggingJava Trace for Debugging

CSE2102

CTINS-112

Overall Test ProcessOverall Test Process

Supported by Different Computing InfrastructureSupported by Different Computing Infrastructure Storrs:Storrs:

Java Appl, Oracle, FileNet DB Server Hartford:Hartford:

Production System with J, O, FN Prototype System with J, O, FN Ability to Deploy Images on Both Systems

Alpha/Beta Testing at Hartford on PrototypeAlpha/Beta Testing at Hartford on Prototype Users Employ CTRL-ALT-PrtScreen for

Screen Shots if Errors Return Debug File from Local Machine Storrs: Try to Recreate Situation and Error

CSE2102

CTINS-113

Ghezzi Chapter 7 – MethodologiesGhezzi Chapter 7 – Methodologies

Methodologically Methodologically User and Business Process Model Driven Work is Task Driven (Jump to Next Slides)

Task Tree Defines Units of FunctionalityTask Tree Defines Units of Functionality Each Task Corresponds to Java Class Each Task Specified via Combination of

Business Logic + Database Prepared by Users and DB Admin

DevelopersDevelopers Code GUI of Task (get Input for Changes) Work on Backend (DB) Interactions Iterate Until Testable Version Available Deploy Pre-Alpha for Testing at Hartford

CSE2102

CTINS-114

Licensing TasksLicensing Tasks

CSE2102

CTINS-115

Consumer Affairs TasksConsumer Affairs Tasks

CSE2102

CTINS-116

Specifying a TaskSpecifying a Task

CSE2102

CTINS-117

Specifying a TaskSpecifying a Task

CSE2102

CTINS-118

Specifying a TaskSpecifying a Task

CSE2102

CTINS-119

Ghezzi Chapter 8 – ManagementGhezzi Chapter 8 – Management

Insurance Department (Hartford)Insurance Department (Hartford) Project Manager Full-Time Consultant 2 Support Developers (Web, Testing, etc.)

UConn (Storrs)UConn (Storrs) 3 Software Engineers (1 in Waterbury -

Remote) 4 - 20 hour/week Grad Students S. Demurjian and D.G. Shin (UConn

Managers) We Utilized Mixed Control – How?We Utilized Mixed Control – How?

CSE2102

CTINS-120

Ghezzi Chapter 9Ghezzi Chapter 9Design 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

CSE2102

CTINS-121

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

CSE2102

CTINS-122

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

CSE2102

CTINS-123

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

CSE2102

CTINS-124

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

CSE2102

CTINS-125

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

CSE2102

CTINS-126

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

CSE2102

CTINS-127

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

CSE2102

CTINS-128

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

CSE2102

CTINS-129

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

CSE2102

CTINS-130

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

Ghezzi Chapters 7 and 8Ghezzi Chapters 7 and 8 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: Use Cases to PowerPoint PresentationsTransition: Use Cases to PowerPoint Presentations

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é

CSE2102

CTINS-131

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

CSE2102

CTINS-132

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?

CSE2102

CTINS-133

Summary of Initial DecisionsSummary of Initial Decisions

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

CSE2102

CTINS-134

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.

CSE2102

CTINS-135

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

CSE2102

CTINS-136

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

CSE2102

CTINS-137

Status and ProgressStatus and Progress

What Actually has Occurred?What Actually has Occurred? UML Tool - Together/J – Not Used Development Tool - Visual Café – Now

JBuilder Database Tool – DBDesigner – Mostly Visio

State of Current Prototyping StatusState of Current Prototyping Status Almost 6 Years – we have

Deployed Licensing and Consumer Affairs Will be Deploying Market Conduct P&C and L&H In Progress All Employees Using various Inquiry Tools

CSE2102

CTINS-138

Status and ProgressStatus and Progress

What Issues have we Faced?What Issues have we Faced? User Community Rapidly Changing Technologies

Java 1.2 to 1.3 to 1.4 to 1.5 From Win 98 to Win NT to Win 2K to Win XP Changes in Oracle and FileNet Versions

What have we left to Face?What have we left to Face?