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