49
1 AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY

95 AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY

Embed Size (px)

Citation preview

  • Slide 1
  • 95 AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY
  • Slide 2
  • Planning Feasibility Study (optional) Requirements Determination Conceptual Design Physical Design Construction and/or Purchase (prototype) Training Conversion - old to new Implementation Evolution - maintenance & enhancements SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) Analysis Design
  • Slide 3
  • 97 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
  • Slide 4
  • 98 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)
  • Slide 5
  • 99 The Traditional Methodology 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 (1950s - now)
  • Slide 6
  • 100 Traditional Methodology Tools -----------TECHNIQUES & TOOLS REPRESENTING----------- System Data Communication Process Flows with users Logic Forms, Layouts, Grid Charts System Flowcharts English Narrative, Playscript, Program Flowcharts, HIPO Charts Interviews
  • Slide 7
  • 101 Structured Analysis and Design Methodology 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 outputs (mid-1970s - now)
  • Slide 8
  • 102 Structured Analysis and Design Methodology Tools -----------TECHNIQUES & TOOLS REPRESENTING----------- System Data Communication Process Flows with users Logic Data Dictionary, Data Structure Diagrams, Entity- Relationship Diagrams Data Flow Diagram Decision Tree/Table, Structured English, Structure Charts, Warnier/Orr Diagram Interviews, User Reviews, JAD sessions
  • Slide 9
  • Reconcile Account Balances Pay a Bill Withdraw Funds from an Account Deposit Funds into an Account Bank Creditor Employer Other Income Source Bank Monthly Account Statements Account Transactions Bank Accounts Account Transactions Bill Payment Monthly Statement Account Balance Transaction Prior Monthly Statement New or Modified Monthly Statement Modified Balance Pay Reimbursement Withdraw or transfer Deposit Payment Modified Balance Current Balance (adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998)
  • Slide 10
  • (adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998) CUSTOMER Customer Number (PK) Customer Name Shipping Address Billing Address Balance Due ORDER Order Number (PK) Order Date Order Total Cost Customer Number (FK) INVENTORY PRODUCT Product Number (PK) Product Name Product Unit of Measure Product Unit Price ORDERED PRODUCT Ordered Product ID (PK). Order Number (FK). Product Number (FK) Quantity Ordered Unit Price at Time of Order has placed sold sold as
  • Slide 11
  • 105 Information Modeling Methodology Data modeling & information engineering (synonyms) Describes the real world by its data, the datas attributes, and the data relationships Can be repeatable, measurable, and automated Data perspective of the problem domain (early-1980s - now)
  • Slide 12
  • 106 Information Modeling Methodology Tools -----------TECHNIQUES & TOOLS REPRESENTING----------- System Data Communication Process Flows with users Logic Business Area Analysis, Entity- Relationship Diagrams Business Area Analysis, Process Model Business Systems Design Interviews, User Reviews, JAD Sessions, Brainstorming
  • Slide 13
  • 107 Object-Oriented Methodology 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 (mid/late-1980s - now)
  • Slide 14
  • 108 Object-Oriented Methodology Tools -----------TECHNIQUES & TOOLS REPRESENTING----------- System Data Communication Process Flows with users Logic Object Model Attributes Object Model Object Models Services, Scenarios, Decision Tree/Tables, Structured English Interviews, User Reviews, JAD Sessions, Brainstorming
  • Slide 15
  • 109 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.
  • Slide 16
  • 110 Object Technology Principles Abstraction Encapsulation (Information Hiding) Inheritance Message Communication Associations Polymorphism Common Methods of Organization Reuse
  • Slide 17
  • 111 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 doing Functional and Data abstraction
  • Slide 18
  • 112 Encapsulation (Information Hiding) A technique in which data are packaged together with their corresponding procedures. cake Ingredients Directions 2 eggs 4 cups flour 1 cup milk 1 cup sugar etc....... Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl... 4In Object-Oriented Technology the package is called an OBJECT 4The interface to each object is defined in such a way as to reveal as little as possible about its inner workings 4Encapsulation allows [software] changes to be reliably made with limited effort [Gannon, Hamlet, & Mills, 1987] One cake please!
  • Slide 19
  • 113 Inheritance A mechanism for expressing similarity between things thus simplifying their definition. looks behavior attitudes etc... Person StudentFaculty Staff Inheritance
  • Slide 20
  • 114 Message Communication OBJECT Objects communicate via messages
  • Slide 21
  • 115 Associations The union or connection of ideas or things. (Objects need to interact with each other) same point in time Billing Statement Advertisement #1 Advertisement #2 under similar circumstances crime scene #1 crime scene #2 crime scene #n
  • Slide 22
  • 116 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 O = water, ice, steam (liquid, solid, vapor) Eating 2 versus Door #1 Door #2 Door #3 Door #1 #2 #3
  • Slide 23
  • Polymorphism 4 Two examples PRINT TEXT object GRAPH object IMAGE object Object #1 PO object Account object Department object Object #2 Object #3 Add = add a line item to the PO = increase $ Amount Balance = hire a new employee
  • Slide 24
  • 118 Objects and their characteristics Wholes and Parts Groups (Classes) and Members Classification Theory (Common Methods of Organization) O-O Systems Analysis & Design Methodology
  • Slide 25
  • 119 Common Methods of Organization People are accustomed to thinking in terms of... color price weight engine options... Objects & Attributes number of doors number of wheels number of windows number of lights number of bolt type 1 number of bolt type 2 etc.... Wholes and Parts Groups & Members VANS: light utility utility passenger etc...
  • Slide 26
  • 120 Reuse Varying Degrees of Reuse: complete or sharing copy, purchase or cloning partial or adjusting none The ability to reuse objects Software: Chips Components Controls Models
  • Slide 27
  • 121 Reuse 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 significant Software Reuse Costs and Payoffs Orenstein, D. Code reuse: Reality doesnt match promise, Computerworld, August 24, 1998, page 8.
  • Slide 28
  • 122 O-O Systems Analysis & Design Methodology Three Classic Systems Analysis and Design Problems: Data Model versus Function Model Analysis to Design Transition Maintaining Source Code
  • Slide 29
  • VVVVVVVVVVVV Colorado River North Rim of the Grand Canyon South Rim of the Grand Canyon Classic Software Development Problem #1: Multiple Models Data Models Function Models SystemBehavior
  • Slide 30
  • VVVVVVVVVVVV Colorado River North Rim of the Grand Canyon South Rim of the Grand Canyon Classic Software Development Problem #2: Model Transformation Design Models Analysis Models
  • Slide 31
  • Classic Software Development Problem #3: Maintaining Source Code Begin Caller Program Init x,y,z... Open (files/database) Read... Compute... DO Callee with x,y,z Update (files/database) Close (files/database) End Main Program Procedure Callee Parameters x,y,z Compute... End Procedure End Program Spaghetti? Who wrote this code?
  • Slide 32
  • 126 SOLUTION Colorado River Object Technology INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING
  • Slide 33
  • 127 Coads Object-Oriented Systems Analysis & Design Methodology* O-O 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.
  • Slide 34
  • 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: 1. Identify the information systems purpose and features 2. Select the model components objects and organize them by applying patterns 3. Establish responsibilities for model components objects: what the object knows who the object knows what the object does 4. Work out model components dynamics using scenarios Coads Object-Oriented Methodology Standard Sequence Variation notes for activities 2, 3 and 4: 1. They may be done in any sequence that is appropriate 2. One or more of them 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
  • Slide 35
  • Model Component Problem Domain (PD) Human Interaction (HI) Data Management (DM) System Interaction (SI) Identify objects and patterns (behavior, data) Establish object responsibilities (behavior, data, functions) Define service scenarios (behavior, data, functions) Identify Purpose and Features Activities indicates that the activity has been performed for the model component 1 2 3 4 Coads Object-Oriented Methodology Summary
  • Slide 36
  • 130 Iterative View of Coads Methodology Establish object responsibilities Identify Purpose and Features Identify objects and patterns Define service scenarios } One for each of: System Interaction Data Management Human Interaction Problem Domain
  • Slide 37
  • 131 Spiral View of Coads Methodology (SI) (DM) (HI) (PD) System Interaction Data Management Human Interaction Problem Domain Define service scenarios Establish object responsibilities Identify objects and patterns Identify Purpose and Features
  • Slide 38
  • Coads Object Model Components Problem Domain Data ManagementSystem Interaction Information System Note: PD, HI, and SI are similar to Smalltalk programming language concept called Model-View-Controller (MVC) Human Interaction
  • Slide 39
  • 133 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
  • Slide 40
  • 134 Coads Object-Oriented Systems Analysis & Design Notation* O-O 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.
  • Slide 41
  • 135 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
  • Slide 42
  • 136 Coads Object Model Notation class with objects model component class
  • Slide 43
  • 137 Coads Object Model Notation Member memberNumber firstName lastName telephone address city etc... checkOutVideo checkInVideo buyItem etc... Attributes Services { { Expanded view of a class or class with objects into its three sections: top: Class Name middle: attributes bottom: services
  • Slide 44
  • 138 Coads Object Model Notation object connection message n n generalization-specialization connection whole-part object connection n-n 1 n
  • Slide 45
  • 139 The Problem Domain Object Model The Big Picture
  • Slide 46
  • Inventory StoreLocation Employee Member SalesTransaction RentalTransaction Vendor PurchaseOrder Transaction ConcessionItem Video Game VCR SaleItem RentalItem 1-n 1 1 n 0-1 n n 1 n 1 1 1-n POLineItem 1 1 1-n SaleRentalLineItem 1 1-n 1 Video Store - Problem Domain (PD) Object Model Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted from the figure.
  • Slide 47
  • PD Object Model with Attributes & Services Inventory ConcessionItem Video Game SaleItem RentalItem 1-n barCodeNumber description qtyOnHand price cost taxCode orderInventory inquireAboutAvailableInvento ry addNewInventoryItem changeInventoryItemInformati on delete/RemoveInventoryItem updateQuantity-On-Order quantitySold qtyOnHand updateQuantitySold updateInventoryQty-On-Hand timesRented dueDate memberNumber updateRentalInformation VCR 1 of 3
  • Slide 48
  • Member SalesTransaction RentalTransaction Transaction 1 1 n 0-1 n n 1 PD Object Model with Attributes & Services transactionNumber employeeNumber transactionDate transactionTime payForTransaction quantitySold purchaseForSaleItems memberNumber rentAnItem checking-inRentalItem memberNumber creditCardNumber memberName creditCardExpireDate memeberAddress depositAmount memberCity overdueAmount memberState memberZipcode memberPhone acquireMembership verifyMembership updateCreditCardInformation updateMembershipInformation cancelMembership updateOverdueAmount determineIfDelinquent Employee employeeNumber employeeName employeePhone positionCode updateEmployeeInformation 1 SaleRentalLineItem transactionNumber barCodeNumber price salesTax 1-n 11 2 of 3
  • Slide 49
  • PD Object Model with Attributes & Services StoreLocation Vendor PurchaseOrder 1 n 1 storeNumber address city state zipcode telephone provideStoreInformation vendorNumber vendorName vendorAddress vendorCity vendorState vendorZipcode vendorPhone vendorFaxNumber addNewVendorInformation changeVendorInformation deleteVendor provideVendorInformation purchaseOrderNumber purchaseOrderDate purchaseOrderDueDate purchaseOrderCancelDate vendorNumber createNewPurchaseOrder deleteExistingPurchaseOrder 1-n POLineItem purchaseOrderNumber barCodeNumber quantityOrdered itemCost 1 1-n 3 of 3