Presentation is loading. Please wait.

Presentation is loading. Please wait.

AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY

Similar presentations


Presentation on theme: "AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY"— Presentation transcript:

1 AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY

2 Conceptual Design SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) Planning
Feasibility Study (optional) Requirements Determination Conceptual Design Physical Design Construction and/or Purchase (prototype) Training Conversion - old to new Implementation Evolution - maintenance & enhancements Analysis Design

3 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

4 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)

5 The Traditional Methodology
(1950s - now) 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

6 Traditional Methodology Tools
TECHNIQUES & TOOLS REPRESENTING System Data Communication Process Flows with users Logic Forms, Layouts, Grid Charts English Narrative, Playscript, Program Flowcharts, HIPO Charts System Flowcharts Interviews

7 Structured Analysis and Design Methodology
(mid-1970s - 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 outputs

8 Structured Analysis and Design Methodology Tools
TECHNIQUES & TOOLS REPRESENTING System Data Communication Process Flows with users Logic Decision Tree/Table, Structured English, Structure Charts, Warnier/Orr Diagram Data Flow Diagram Data Dictionary, Data Structure Diagrams, Entity- Relationship Diagrams Interviews, User Reviews, JAD sessions

9 New or Modified Monthly Statement Prior Monthly Statement Monthly
Monthly Account Statements New or Modified Monthly Statement Prior Monthly Statement (adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998) Monthly Statement Reconcile Bank Account Balances Transaction Bill Account Creditor Balance Account Transactions Current Payment Pay Balance a Bank Accounts Bill Modified Balance Payment Modified Deposit Withdraw Balance Account Transactions Funds from an Account Withdraw or transfer Pay Deposit Funds Employer into an Account Bank Other Reimbursement Income Source

10 (adapted from Systems Analysis and
Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998) CUSTOMER ORDER Customer Number (PK) has placed Order Number (PK) Customer Name Order Date Shipping Address Order Total Cost Billing Address Customer Number (FK) Balance Due sold ORDERED PRODUCT INVENTORY PRODUCT Ordered Product ID (PK) Product Number (PK) sold as . Order Number (FK) Product Name . Product Number (FK) Product Unit of Measure Quantity Ordered Product Unit Price Unit Price at Time of Order

11 Information Modeling Methodology
(early-1980s - 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

12 Information Modeling Methodology Tools
TECHNIQUES & TOOLS REPRESENTING System Data Communication Process Flows with users Logic Interviews, User Reviews, JAD Sessions, Brainstorming Business Systems Design Business Area Analysis, Process Model Business Area Analysis, Entity- Relationship Diagrams

13 Object-Oriented Methodology
(mid/late-1980s - 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

14 Object-Oriented Methodology Tools
TECHNIQUES & TOOLS REPRESENTING System Data Communication Process Flows with users Logic Interviews, User Reviews, JAD Sessions, Brainstorming Object Models Services, Scenarios, Decision Tree/Tables, Structured English Object Model Object Model Attributes

15 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.

16 Object Technology Principles
Abstraction Encapsulation (Information Hiding) Inheritance Message Communication Associations Polymorphism Common Methods of Organization Reuse

17 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

18 Encapsulation (Information Hiding)
A technique in which data are packaged together with their corresponding procedures. In Object-Oriented Technology the “package” is called an OBJECT The interface to each object is defined in such a way as to reveal as little as possible about its inner workings Encapsulation allows [software] changes to be reliably made with limited effort [Gannon, Hamlet, & Mills, 1987] One cake please! cake Ingredients 2 eggs 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...

19 Inheritance A mechanism for expressing similarity
between things thus simplifying their definition. Inheritance Person Student Faculty Staff looks behavior attitudes etc...

20 Message Communication
Objects communicate via messages OBJECT OBJECT OBJECT OBJECT

21 Associations The union or connection of ideas or things.
(Objects need to interact with each other) same point in time under similar circumstances crime scene #2 Advertisement #2 crime scene #1 Advertisement #1 Billing Statement crime scene #n

22 Polymorphism (“many forms”)
The ability to hide different implementations behind a common interface. 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 Door #1 #2 #3 Door #1 Door #2 Door #3 versus

23 Polymorphism Two examples PRINT PRINT PRINT TEXT object GRAPH object
IMAGE object Add PO object = add a line item to the PO Object #1 Account object = increase $ Amount Balance Object #2 Add Object #3 Department object Add = hire a new employee

24 O-O Systems Analysis & Design Methodology
Classification Theory (Common Methods of Organization) Objects and their characteristics Wholes and Parts Groups (Classes) and Members

25 Common Methods of Organization
People are accustomed to thinking in terms of... Objects & Attributes color price weight engine options... Wholes and Parts Groups & Members number of doors number of wheels number of windows number of lights number of bolt type 1 number of bolt type 2 etc.... VANS: light utility utility passenger etc...

26 Reuse The ability to reuse objects Varying Degrees of Reuse:
complete or sharing copy, purchase or cloning partial or adjusting none Software: “Chips” Components Controls Models

27 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 significant

28 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

29 Classic Software Development Problem #1:
System Behavior Data Models Function Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVVVVVVVV Classic Software Development Problem #1: Multiple Models

30 Classic Software Development Problem #2:
Analysis Models Design Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVVVVVVVV Classic Software Development Problem #2: Model Transformation

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 End Procedure End Program Who wrote this code? Spaghetti? Classic Software Development Problem #3: Maintaining Source Code

32 (function, data, behavior)
SOLUTION INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING Object Technology Colorado River

33 Coad’s Object-Oriented Systems Analysis & Design
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.

34 Coad’s Object-Oriented Methodology Standard Sequence
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 system’s purpose and features 2. Select the model component’s objects and organize them by applying patterns 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 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

35 Coad’s Object-Oriented Methodology Summary
Activities Identify objects and patterns (behavior, data) Establish object responsibilities (behavior, data, functions) Define service scenarios (behavior, data, functions) Model Component Problem Domain (PD) Human Interaction (HI) Data Management (DM) System Interaction (SI) Identify Purpose and Features indicates that the activity has been performed for the model component

36 } Iterative View of Coad’s Methodology One for each of:
Establish object responsibilities Identify Purpose and Features objects and patterns Define service scenarios } One for each of: System Interaction Data Management Human Interaction Problem Domain

37 Spiral View of Coad’s Methodology
Identify Purpose and Features Identify objects and patterns System Interaction Data Management Human Interaction Problem Domain (SI) (DM) (HI) (PD) Define service scenarios Establish object responsibilities

38 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)

39 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

40 Coad’s Object-Oriented Systems Analysis & Design
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.

41 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

42 Coad’s Object Model Notation
model component class with objects class

43 Coad’s Object Model Notation
Expanded view of a class or class with objects into its three sections: top: Class Name middle: attributes bottom: services Member { memberNumber firstName lastName telephone address city etc... Attributes { checkOutVideo checkInVideo buyItem etc... Services

44 Coad’s Object Model Notation
whole-part object connection generalization-specialization connection n-n 1 object connection message n n n

45 The Problem Domain Object Model “The Big Picture”

46 Video Store - Problem Domain (PD) Object Model
Inventory SaleItem RentalItem Video Game ConcessionItem VCR 1 1 Transaction Employee StoreLocation n 1-n SalesTransaction RentalTransaction Vendor 1-n 0-1 1 1-n n 1 n n Member PurchaseOrder 1-n 1 1 1 SaleRentalLineItem 1 POLineItem 1 Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted from the figure.

47 PD Object Model with Attributes & Services
Inventory barCodeNumber description qtyOnHand price cost taxCode 1-n 1-n orderInventory inquireAboutAvailableInventory addNewInventoryItem changeInventoryItemInformation delete/RemoveInventoryItem updateQuantity-On-Order SaleItem RentalItem quantitySold qtyOnHand timesRented dueDate memberNumber updateQuantitySold updateInventoryQty-On-Hand updateRentalInformation Video Game ConcessionItem VCR PD Object Model with Attributes & Services 1 of 3

48 Transaction Employee SalesTransaction RentalTransaction Member
transactionNumber employeeNumber transactionDate transactionTime employeeNumber employeeName employeePhone positionCode 1 1 n updateEmployeeInformation payForTransaction SalesTransaction RentalTransaction quantitySold memberNumber purchaseForSaleItems rentAnItem checking-inRentalItem 0-1 1-n n 1 1-n Member memberNumber creditCardNumber memberName creditCardExpireDate memeberAddress depositAmount memberCity overdueAmount memberState memberZipcode memberPhone n 1 1 SaleRentalLineItem transactionNumber barCodeNumber price salesTax acquireMembership verifyMembership updateCreditCardInformation updateMembershipInformation cancelMembership updateOverdueAmount determineIfDelinquent 1 PD Object Model with Attributes & Services 2 of 3

49 PD Object Model with Attributes & Services
Vendor vendorNumber vendorName vendorAddress vendorCity vendorState vendorZipcode vendorPhone vendorFaxNumber StoreLocation addNewVendorInformation changeVendorInformation deleteVendor provideVendorInformation storeNumber address city state zipcode telephone 1-n provideStoreInformation n 1 PurchaseOrder purchaseOrderNumber purchaseOrderDate purchaseOrderDueDate purchaseOrderCancelDate vendorNumber 1-n 1 createNewPurchaseOrder deleteExistingPurchaseOrder POLineItem purchaseOrderNumber barCodeNumber quantityOrdered itemCost 1 PD Object Model with Attributes & Services 3 of 3


Download ppt "AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY"

Similar presentations


Ads by Google