AN Object-Oriented Systems Analysis and Design Methodology
AN Object-Oriented Systems Analysis and Design Methodology
OBJECT-ORIENTED
METHODOLOGY
1
YSTEMS DEVELOPMENT LIFE CYCLE (SDLC
(SDL
■ Planning
■ Feasibility Study (optional)
Analysis
■ Requirements Determination
■ Conceptual Design
■ Physical Design
■ Construction and/or Purchase
Design
(prototype)
■ Training
■ Conversion - old to new
■ 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
3
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)
4
The Traditional Methodology
(1950s - now)
Flowcharts Narrative,
Layouts,
Playscript,
Grid Charts Program
Flowcharts,
HIPO Charts
6
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
7
Structured Analysis and Design
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------
System Data Communication Process
Flows with users Logic
Decision
Data Flow Data Dictionary, Interviews,
Tree/Table,
Diagram Data Structure User Reviews, Structured
Diagrams, JAD sessions English,
Entity- Structure
Charts,
Relationship
Warnier/Orr
Diagrams Diagram8
Monthly Account
Statements
New or Modified
Prior Monthly
Monthly Statement
(adapted from Systems Analysis and Statement
Design Methods, 4th Edition, Whitten Monthly
and Bentley, McGraw-Hill, 1998)
Bank
StatementReconcile
Account
Balances
Transaction
Creditor
Bill Account Account
Balance Transactions
Current
Payment Pay Balance
a Bank Accounts
Bill
Modified Balance
Payment
Withdraw Modified
Account Deposit Funds from Balance
Transactions
an Account
Withdraw or transfer
Deposit Funds
Employer
Pay into an
Account
Bank
Other
Income
Reimbursement
Source
(adapted from Systems Analysis and
Design Methods, 4th Edition, Whitten
and Bentley, McGraw-Hill, 1998)
CUSTOMER ORDER
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
Information Modeling
Methodology
(early-1980s - now)
Interviews, Business
Business Business
Systems
Area Area User Reviews, Design
Analysis, Analysis,
JAD Sessions,
Process Entity-
Model Relationship Brainstorming
Diagrams 12
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
13
Object-Oriented
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------
System Data Communication Process
Flows with users Logic
Interviews, Object
Object Object Model
Models
Model Attributes User Reviews, Services,
Scenarios,
JAD Sessions, Decision
Brainstorming Tree/Tables,
Structured
English
14
Object-Oriented Methodology
• Revolutionary or Evolutionary?
15
Object Technology Principles
• Abstraction
• Inheritance
• Message Communication
• Associations
• Polymorphism
• Reuse
16
• 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.
Directions
Pre-heat oven to 350; Put
milk, eggs, and sugar 18
in 2 quart mixing bowl...
• Inheritance
A mechanism for expressing similarity
between things thus simplifying their
definition.
Inheritance
Person
• looks
• behavior
• attitudes
• etc... 19
• Message Communication
Objects communicate via messages
OBJECT OBJECT
OBJECT OBJECT
20
• Associations
The union or connection of ideas or things.
crime
scene
#n
21
• 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.
• Eating
Door
Door Door Door #1
#1 #2 #3 versus #2
#3 22
• Polymorphism ✔Two examples
PRINT
2500 0
B LU E S K Y
2000 0
A IR L IN E S
GRAPH object
1500 0 S ales Report
1000 0 January
5000 B LU E S K Y
A IR L IN E S
0 S ales Report
F ebruary
North
South
East
West
PRINT IMAGE object
Classification Theory
(Common Methods of Organization)
• number of doors
• number of wheels
VANS: • number of windows
• light utility • number of lights
• utility • number of bolt type 1
• passenger • number of bolt type 2
• etc... • etc....
25
• Reuse
The ability to reuse objects
• none
26
• Reuse
Software Reuse Costs and Payoffs
Orenstein, D. “Code reuse: Reality doesn’t match promise”,
Computerworld, August 24, 1998, page 8.
28
System Data
Function
Models Behavior Models
Colorado River
VVVVVVVVVVVV
Colorado River
VVVVVVVVVVVV
Procedure Callee
Parameters x,y,z
Compute...
End Procedure
End Program
Object
Technology
Colorado River
32
O-O Systems Analysis & Design
Methodology
Coad’s Object-Oriented
Systems Analysis & Design
Methodology*
* formerly, Coad and Yourdon
Human
Interaction ✔ ✔ ✔ ✔
(HI)
✔ ✔ ✔ ✔
Data
Management
✔ ✔ ✔ ✔
(DM)
System
Interaction
✔ indicates that the activity has been performed for the model
(SI)
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 • Human Interaction
responsibilities • Problem Domain
Define
service
scenarios
36
Spiral View of Coad’s
Methodology
Identify Identify
Purpose and objects and
Features patterns
System Interaction(SI)
Data Management (DM)
Human Interaction(HI)
Problem Domain (PD)
Define Establish
service object
scenarios responsibilities
37
Coad’s Object Model Components
Information System
Coad’s Object-Oriented
Systems Analysis & Design
Notation*
* formerly, Coad and Yourdon
41
Coad’s Object Model Notation
model component
class
42
Coad’s Object Model Notation
{
memberNumber
firstName
of a class or
lastName class with objects
Attributes telephone
address into its three
city sections:
etc...
top: Class Name
{
checkOutVideo
Services checkInVideo middle: attributes
buyItem
bottom: services
etc...
43
Coad’s Object Model Notation
whole-part
generalization-specialization object connection
connection n-n
45
Video Store - Problem Domain (PD) Object Model
1-n 1-n
Inventory
SaleItem RentalItem
Transaction 1 1 StoreLocation
Employee
n 1-n
SalesTransaction RentalTransaction
Vendor
1-n 0-1 1 1-n n
1
n n
Member PurchaseOrder
1-n
1 1 SaleRentalLineItem 1
1
POLineItem
1
ification purposes, the attribute and service sections of classes and class-with-objects have been omitted
Inventory
barCodeNumber
description
1-n qtyOnHand 1-n
price
cost
taxCode
orderInventory
inquireAboutAvailableInv
entory
addNewInventoryItem
changeInventoryItemInfo
rmation
delete/RemoveInventoryI
tem
updateQuantity-On-
Order
SaleItem RentalItem
quantitySold timesRented
qtyOnHand dueDate
memberNumber
updateQuantitySold
updateInventoryQty-On-Hand updateRentalInformation
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 n
memberState
1 1
memberZipcode
memberPhone
SaleRentalLineItem
transactionNumber
acquireMembership barCodeNumber
verifyMembership price
updateCreditCardInformation salesTax 1
updateMembershipInformation
cancelMembership
updateOverdueAmount
determineIfDelinquent PD Object Model
with 2 of 3
Attributes &
Vendor
vendorNumber
vendorName
vendorAddress
vendorCity
vendorState
vendorZipcode
vendorPhone
vendorFaxNumber
StoreLocation addNewVendorInformation
storeNumber changeVendorInformation
1-n address
city deleteVendor
state provideVendorInformation
zipcode
telephone
provideStoreInformation n
1
PurchaseOrder
purchaseOrderNumber
1-n purchaseOrderDate
purchaseOrderDueDate
purchaseOrderCancelDate
vendorNumber
1
createNewPurchaseOrder
POLineItem deleteExistingPurchaseOrder
purchaseOrderNumber
barCodeNumber
quantityOrdered
itemCost
1