b1dd7b868f77c14f5cfc4ea5e601140f.ppt
- Количество слайдов: 49
AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY 95
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC Planning n Analysis n Feasibility Study (optional) n Requirements Determination n Conceptual Design n Physical Design n Construction and/or Purchase (prototype) n Training n Conversion - old to new n Implementation
METHODOLOGY OVERVIEW • Methodology defined: The way something gets done. The strategy, steps, directions, or actions. • Methodologies can be: • purchased • created • combination of both • Thousands available for developing information systems 97
METHODOLOGY OVERVIEW • Classifications of Methodologies • Traditional • Structured Analysis and Design • Information Modeling/Engineering • Object-Oriented • Prototyping is a technique - (some say that it is a methodology) 98
The Traditional- now) Methodology (1950 s • Applicable for small teams on small projects • Functional perspective of problem domain • Informal, unstructured, unrepeatable, unmeasurable, ad-hoc way • Tools used to support it are okay 99
Traditional Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Communication Process Flows with users Logic System Flowcharts Forms, Layouts, Grid Charts Interviews English Narrative, Playscript, Program Flowcharts, HIPO Charts 100
Structured Analysis and Design Methodology (mid-1970 s - now) • Data Flow methodology (synonym) • Compliments Structured Programming • Very popular - perhaps the leading one • Can be repeatable, measurable, & automated • CASE brought significant assistance • 1) Yourdon, and 2) Gane & Sarson • Functional perspective of problem domain • Describes the real world as data flowing through the information system, being transformed from inputs to 101 outputs
Structured Analysis and Design Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Communication Process Flows with users Logic Data Flow Data Dictionary, Interviews, Diagram Data Structure User Reviews, Diagrams, JAD sessions Entity. Relationship Diagrams Decision Tree/Table, Structured English, Structure Charts, Warnier/Orr 102 Diagram
Monthly Account Statements (adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten and Bentley, Mc. Graw-Hill, 1998) Bank New or Modified Prior Monthly Statement Reconcile Account Balances Transaction Bill Creditor Account Balance Current Balance Pay a Bill Payment Account Transactions Bank Accounts Modified Balance Payment Account Transactions Deposit Modified Balance Withdraw Funds from an Account Withdraw or transfer Employer Pay Deposit Funds into an Account Bank Other Income Source Reimbursement
(adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten and Bentley, Mc. Graw-Hill, 1998) CUSTOMER Customer Number (PK) Customer Name Shipping Address Billing Address Balance Due ORDER has placed Order Number (PK) Order Date Order Total Cost Customer Number (FK) sold ORDERED PRODUCT INVENTORY PRODUCT Product Number (PK) Product Name Product Unit of Measure Product Unit Price sold as Ordered Product ID (PK). Order Number (FK). Product Number (FK) Quantity Ordered Unit Price at Time of Order
Information Modeling Methodology (early-1980 s - now) • Data modeling & information engineering (synonyms) • Describes the real world by its data, the data’s attributes, and the data relationships • Can be repeatable, measurable, and automated • Data perspective of the problem domain 105
Information Modeling Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Communication Process Flows with users Logic Business Interviews, Area User Reviews, Analysis, Process Entity- Model Relationship Diagrams Business Systems Design JAD Sessions, Brainstorming 106
Object-Oriented Methodology (mid/late-1980 s - now) • Object modeling • Compliments object-oriented programming • Can be repeatable, measurable, & automated • Object perspective of the problem domain • Describes the real world by its objects, the attributes, services, and relationships • Data & functions are encapsulated together 107
Object-Oriented Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Communication Process Flows with users Logic Object Model Interviews, Model Attributes User Reviews, JAD Sessions, Brainstorming Object Models Services, Scenarios, Decision Tree/Tables, Structured 108 English
Object-Oriented Methodology • Revolutionary or Evolutionary? • Most difficult aspect is the transition some people have to make from a functional or data problem solving strategy to an object problem solving strategy. Some people must change from a “function think” or “data think” to an “object think” strategy. 109
Object Technology Principles • Abstraction • Encapsulation (Information Hiding) • Inheritance • Message Communication • Associations • Polymorphism • Common Methods of Organization • Reuse 110
• Abstraction A mental ability that permits people to view real-world problem domains with varying degrees of detail depending on the current context of the problem. • Helps people to think about what they are 111 doing • Functional and Data abstraction
• Encapsulation (Information Hiding) A technique in which data are packaged together with their corresponding procedures. 4 In Object-Oriented Technology the “package” is called an OBJECT 4 The interface to each object is defined in such a way as to reveal as little as possible about its inner workings 4 Encapsulation allows [software] changes to be reliably made with limited effort [Gannon, Hamlet, & Mills, 1987] One cake please! Ingredients cake 2 eggs 4 cups flour 1 cup milk 1 cup sugar etc. . . . Directions Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl. . . 112
• Inheritance A mechanism for expressing similarity between things thus simplifying their definition. Inheritance Student • looks • behavior • attitudes • etc. . . Person Faculty Staff 113
• Message Communication Objects communicate via messages OBJECT 114
• Associations The union or connection of ideas or things. (Objects need to interact with each other) • same point in time Advertisement #2 Advertisement #1 Billing Statement • under similar circumstances crime scene #2 crime scene #1 crime scene #n 115
• Polymorphism (“many forms”) 4 The ability to hide different implementations behind a common interface. 4 The ability for two or more objects to respond to the same request, each in its own way. • H 2 O = water, ice, steam (liquid, solid, vapor) • Eating Door #1 Door #2 Door #3 versus Door #1 #2 #3 116
• Polymorphism PRINT 4 Two examples TEXT object PRINT GRAPH object PRINT IMAGE object Object #1 Add PO object Object #2 Add Account object Object #3 Add Department object = add a line item to the PO = increase $ Amount Balance = hire a new employee
O-O Systems Analysis & Design Methodology Classification Theory (Common Methods of Organization) • Objects and their characteristics • Wholes and Parts • Groups (Classes) and Members 118
• Common Methods of Organization People are accustomed to thinking in terms of. . . Objects & Attributes • color • price • weight • engine • options. . . Wholes and Parts Groups & Members VANS: • light utility • passenger • etc. . . • number of doors • number of wheels • number of windows • number of lights • number of bolt type 1 • number of bolt type 2 • etc. . 119
• Reuse The ability to reuse objects Varying Degrees of Reuse: • complete or sharing • copy, purchase or cloning • partial or adjusting Software: • “Chips” • Components • Controls • Models • none 120
• Reuse Software Reuse Costs and Payoffs Orenstein, D. “Code reuse: Reality doesn’t match promise”, Computerworld, August 24, 1998, page 8. • Components must be reused three to five times before the costs of creating and supporting them are recovered • It costs one and a half to three times as much to create and support a single reusable component as to create a component for just one use • It costs 25% as much to use a reusable component as it does to create a new one • It takes two to three product cycles (about three years) before the benefits of reuse become 121 significant
O-O Systems Analysis & Design Methodology Three Classic Systems Analysis and Design Proble • Data Model versus Function Model • Analysis to Design Transition • Maintaining Source Code 122
Function Models System Behavior North Rim of the Grand Canyon Data Models South Rim of the Grand Canyon Colorado River VVVVVV Classic Software Development Problem #1: Multiple Models
Design Models Analysis Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVV Classic Software Development Problem #2: Model Transformation
Who wrote this code? Begin “Caller” Program Init x, y, z. . . Open (files/database) Read. . . Compute. . . DO “Callee” with x, y, z Spaghetti? Update (files/database) Close (files/database) End Main Program Procedure Callee Parameters x, y, z Compute. . . End Procedure End Program Classic Software Development Problem #3: Maintaining Source Code
SOLUTION INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING Object Technology Colorado River 126
O-O Systems Analysis & Design Methodology Coad’s Object-Oriented Systems Analysis & Design Methodology* * formerly, Coad and Yourdon * based on Coad, P. , North, D. , and Mayfield M. , Object Models: Strategies, Patterns, and Applications, Prentice Hall, Englewood Cliffs, NJ, 1995. 127
Coad’s Object-Oriented Methodology Standard Sequ Use four object model components (Problem Domain [PD], Human Interaction [HI], Data Management [DM], and System Interaction [SI]) to guide and organize the work. For each of PD, HI, DM, and SI repeat the following: Variation notes for 1. Identify the information system’s purpose and features activities 2, 3 and 4: 2. Select the model component’s objects and organize them by applying patterns 1. They may be done in any sequence that is appropriate 2. One or more of them 3. Establish responsibilities for model component’s objects: • what the object knows • who the object knows • what the object does 4. Work out model component’s dynamics using scenarios may be omitted 3. One or more of them may be done in parallel 4. Model components may be done in any order that is appropriate
Coad’s Object-Oriented Methodology Summary Activities 1 Model Component Identify Purpose and Features 2 Identify objects and patterns (behavior, data) 3 4 Establish object responsibilities Define service scenarios (behavior, data, functions) Problem Domain (PD) 4 4 Human Interaction (HI) 4 4 Data Management (DM) 4 4 4 4 System Interaction (SI) 4 indicates that the activity has been performed for the model component
Iterative View of Coad’s Methodology Identify Purpose and Features Identify objects and patterns } One for each of: • System Interaction • Data Management Establish object responsibilities • Human Interaction • Problem Domain Define service scenarios 130
Spiral View of Coad’s Methodology System Interaction Data Management Human Interaction Problem Domain (SI) (DM) (HI) (PD) Define service scenarios Identify Purpose and Features Identify objects and patterns Establish object responsibilities 131
Coad’s Object Model Components Information System Human Interaction Problem Domain Data Management System Interaction Note: PD, HI, and SI are similar to Smalltalk programming language concept called Model-View-Controller (MVC)
Model Components • Problem domain -- directly correspond to the problem being modeled • Human interaction -- provide interface between the PD objects and people • Data management -- provide interface between PD objects and a database or file management system • System interaction -- provide interface between PD objects and other systems or devices 133
O-O Systems Analysis & Design Methodology Coad’s Object-Oriented Systems Analysis & Design Notation* * formerly, Coad and Yourdon * based on Coad, P. , North, D. , and Mayfield M. , Object Models: Strategies, Patterns, and Applications, Prentice Hall, Englewood Cliffs, NJ, 1995. 134
Subject Matter Expert & Notation • Can you draw a stick figure of a person? • Can you draw a picture of an automobile? • Can you draw a picture of the space shuttle? • Can you draw a picture of an Oopsla? • Why not? • Subject Matter Expert (SME) • Notation - symbols used to communicate 135
Coad’s Object Model Notation model component class with objects class 136
Coad’s Object Model Notation Attributes { Services { Member member. Number first. Name last. Name telephone address city etc. . . check. Out. Video check. In. Video buy. Item etc. . . Expanded view of a class or class with objects into its three sections: top: Class Name middle: attributes bottom: services 137
Coad’s Object Model Notation generalization-specialization connection whole-part object connection n-n 1 object connection n message n n 138
The Problem Domain Object Model “The Big Picture” 139
Video Store - Problem Domain (PD) Object Model 1 -n Inventory 1 -n Sale. Item Rental. Item Video Transaction 1 Employee n 1 0 -1 n 1 1 -n Store. Location Rental. Transaction Sales. Transaction 1 -n VCR Concession. Item Game Member Vendor 1 -n n 1 n Purchase. Order 1 -n 1 1 Sale. Rental. Line. Item 1 1 POLine. Item 1 Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted fro
Inventory bar. Code. Number description qty. On. Hand price cost tax. Code order. Inventory inquire. About. Available. Invento ry add. New. Inventory. Item change. Inventory. Item. Informati on delete/Remove. Inventory. Item update. Quantity-On-Order 1 -n Sale. Item quantity. Sold qty. On. Hand update. Quantity. Sold update. Inventory. Qty-On-Hand Video Game 1 -n Rental. Item times. Rented due. Date member. Number update. Rental. Information Concession. Item PD Object Model with Attributes & Services VCR 1 of 3
Transaction transaction. Number employee. Number transaction. Date transaction. Time Employee 1 n employee. Number employee. Name employee. Phone position. Code update. Employee. Information 1 pay. For. Transaction Sales. Transaction Rental. Transaction quantity. Sold purchase. For. Sale. Items 0 -1 1 -n n member. Number rent. An. Item checking-in. Rental. Item 1 1 -n Member member. Number credit. Card. Number member. Name credit. Card. Expire. Date memeber. Address deposit. Amount member. City overdue. Amount member. State member. Zipcode member. Phone acquire. Membership verify. Membership update. Credit. Card. Information update. Membership. Information cancel. Membership update. Overdue. Amount determine. If. Delinquent n 1 1 Sale. Rental. Line. Item transaction. Number bar. Code. Number price sales. Tax PD Object Model with Attributes & Services 1 2 of 3
Vendor vendor. Number vendor. Name vendor. Address vendor. City vendor. State vendor. Zipcode vendor. Phone vendor. Fax. Number add. New. Vendor. Information change. Vendor. Information delete. Vendor provide. Vendor. Information Store. Location 1 -n store. Number address city state zipcode telephone provide. Store. Information n 1 Purchase. Order 1 -n purchase. Order. Number purchase. Order. Date purchase. Order. Due. Date purchase. Order. Cancel. Date vendor. Number 1 create. New. Purchase. Order delete. Existing. Purchase. Order POLine. Item purchase. Order. Number bar. Code. Number quantity. Ordered item. Cost 1 PD Object Model with Attributes & Services 3 of 3
b1dd7b868f77c14f5cfc4ea5e601140f.ppt