You are on page 1of 49

AN

OBJECT-ORIENTED

SYSTEMS ANALYSIS AND DESIGN

METHODOLOGY

1
YSTEMS DEVELOPMENT LIFE CYCLE (SDLC
■ Planning
■ Feasibility Study (optional)
Analysis

■ Requirements Determination
■ Conceptual Design
■ Physical Design
Construction and/
Design


Purchase(prototype)
■ Training
■ Conversion - old to new
■ Implementation
■ Evolution - maintenance &
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)

• 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

5
Traditional Methodology Tools

-----------TECHNIQUES & TOOLS REPRESENTING-----------


System Data Communication Process
Flows with users Logic

System Forms, Interviews English

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 Diagram 8
Monthly Account
Statements
New or Modified
Prior Monthly
Monthly Statement
(adapted from Systems Analysis and Statement
Design Methods, 4th Edition, Whitten Monthly Reconcile
and Bentley, McGraw-Hill, 1998)
Bank
Statement 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

Customer Number (PK) Order Number (PK)


has placed
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
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

11
Information Modeling
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------
System Data Communication Process
Flows with users Logic

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

15
Object Technology Principles
• Abstraction

• Encapsulation (Information Hiding)

• Inheritance

• Message Communication

• Associations

• Polymorphism

• Common Methods of Organization

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

• Helps people to think about what they are doing


17
• Functional and Data abstraction
• 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! 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 18
in 2 quart mixing bowl...
• Inheritance
A mechanism for expressing similarity
between things thus simplifying their
definition.

Inheritance
Person

Student Faculty Staff

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

(Objects need to interact with each other)

• same point in time • under similar circumstances

Advertisement #2 crime crime


Advertisement #1 scene scene
#1 #2
Billing Statement

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.

• H O = water, ice, steam (liquid, solid, vapor)


2
• Eating

Door
Door Door Door #1
#1 #2 #3 versus #2
#3 22
• Polymorphism ✔Two examples

PRINT TEXT object

PRINT
30000
BLUE SKY
25000
A IR L IN ES
20000

GRAPH object 15000


10000
5 00 0
Sales Repo rt
Ja nuary
BLUE SKY
A IR L IN ES
0 Sales Repo rt
North South Eas t W es t Fe br uar y

PRINT IMAGE object

Object #1 Add PO object = add a line item to the PO

Object #2 Account object = increase $ Amount Balance


Add

Object #3 Add Department object = 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

24
• Common Methods of Organization
People are accustomed to thinking in terms
of...

Objects & Attributes


• color
• price
• weight
• engine
• options...

Groups & Members Wholes and Parts

• 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

Varying Degrees of Reuse:

• complete or sharing Software:


• “Chips”
• copy, purchase or cloning • Components
• Controls
• partial or adjusting • Models

• none
26
• 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 27
O-O Systems Analysis & Design
Methodology

3 Classic Systems Analysis and Design Problem

• Data Model versus Function Model

• Analysis to Design Transition

• Maintaining Source Code

28
System Data
Function
Models Behavior Models

North Rim of the South Rim of the


Grand Canyon Grand Canyon

Colorado River
VVVVVVVVVVVV

Classic Software Development Problem #1:


Multiple Models
Analysis Design
Models Models

North Rim of the South Rim of the


Grand Canyon Grand Canyon

Colorado River
VVVVVVVVVVVV

Classic Software Development Problem #2:


Model Transformation
Begin “Caller” Program
Init x,y,z...
Open (files/database)
Who wrote Read...
this code? 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 ROUND-TRIP
implementation) ENGINEERING

Object
Technology
Colorado River

32
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, 33
Prentice Hall, Englewood Cliffs, NJ, 1995.
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:
1. They may be done
2. Select the model component’s objects and organize in any sequence
them by applying patterns that is appropriate
2. One or more of them
may be omitted
3. Establish responsibilities for model component’s
3. One or more of them
objects:
may be done in parallel
• what the object knows 4. Model components
• who the object knows may be done in any
• what the object does order that is appropriate

4. Work out model component’s dynamics using scenarios


Coad’s Object-Oriented Methodology Summar
Activities
1 2 3 4
Identify Establish Define
Identify objects object service
Model Purpose and responsibilitie scenarios
Component and patterns s (behavior
Features (behavior, ,
data) (behavior, data,
Problem Domain data, functions
(PD) ✔ ✔ functions)
✔ )

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

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

39
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, 40
Prentice Hall, Englewood Cliffs, NJ, 1995.
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

41
Coad’s Object Model
Notation
model component

class with objects

class

42
Coad’s Object Model
Notation

Member Expanded view

{
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

object connection message


n n
n
44
The Problem Domain
Object Model
“The Big Picture”

45
Video Store - Problem Domain (PD) Object Model
1-n 1-n
Inventory

SaleItem RentalItem

Video Game ConcessionItem VCR

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
For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted from the figure.
Inventory
barCodeNum
ber
1-n description 1-n
qtyOnHand
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

Video Game ConcessionItem VCR

D Object Model with Attributes & Services


1 of 3
Transaction
transactionNumber Employee
employeeNumber
employeeNumber
1 employeeName 1
transactionDate employeePhone
transactionTime n positionCode
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 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

D Object Model with Attributes & Services 3 of 3