Vous êtes sur la page 1sur 49

AN OBJECT-ORIENTED

SYSTEMS ANALYSIS AND DESIGN METHODOLOGY


95

SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC



Analysis

Planning Feasibility Study (optional) Requirements Determination

Conceptual

Design

Physical Design
Construction and/or Purchase (prototype)

Design

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

97

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

The Traditional- now) Methodology (1950s


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
99

Traditional Methodology Tools


-----------TECHNIQUES & TOOLS REPRESENTING----------System Data Communication Process Flows with users Logic

System
Flowcharts

Forms,
Layouts,

Interviews

English Narrative, Playscript,

Grid Charts

Program
Flowcharts, HIPO Charts 100

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 101 outputs

Structured Analysis and Design Methodology Tools


-----------TECHNIQUES & TOOLS REPRESENTING----------System Data Communication Process Flows with users Logic

Data Flow
Diagram

Data Dictionary, Interviews,


Data Structure Diagrams, User Reviews, JAD sessions

EntityRelationship Diagrams

Decision Tree/Table, Structured English, Structure Charts, Warnier/Orr 102 Diagram

New or Modified Monthly Statement


(adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998)
Bank

Monthly Account Statements

Monthly Statement

Prior Monthly Statement

Reconcile Account Balances

Transaction
Creditor

Bill Current Balance

Account Balance
Pay a Bill

Account Transactions

Payment

Bank Accounts

Modified Balance Payment Deposit


Withdraw Funds from an Account

Account Transactions

Modified Balance

Withdraw or transfer
Employer Bank

Pay

Deposit Funds into an Account

Other Income Source

Reimbursement

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

ORDER Order Number (PK) Order Date Order Total Cost Customer Number (FK)

sold

INVENTORY PRODUCT

ORDERED PRODUCT sold as Ordered Product ID (PK) . Order Number (FK) . Product Number (FK) Quantity Ordered Unit Price at Time of Order

Product Number (PK) Product Name Product Unit of Measure Product Unit Price

Information Modeling Methodology (early-1980s - now)


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
105

Information Modeling Methodology Tools


-----------TECHNIQUES & TOOLS REPRESENTING----------System Data Communication Process Flows with users Logic

Business
Area Analysis,

Business
Area Analysis,

Interviews, User Reviews, JAD Sessions, Brainstorming

Business Systems Design

Process
Model

EntityRelationship Diagrams

106

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
107

Object-Oriented Methodology Tools


-----------TECHNIQUES & TOOLS REPRESENTING----------System Data Communication Process Flows with users Logic

Object
Model

Object Model
Attributes

Interviews, User Reviews, JAD Sessions, Brainstorming

Object Models Services, Scenarios, Decision Tree/Tables, Structured 108 English

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

Object Technology Principles


Abstraction
Encapsulation (Information Hiding)

Inheritance
Message Communication

Associations
Polymorphism

Common Methods of Organization


Reuse
110

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 are111 doing 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
2 eggs 4 cups flour 1 cup milk 1 cup sugar etc.......

cake

Directions
Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl...

112

Inheritance
A mechanism for expressing similarity between things thus simplifying their definition.

Inheritance

Person

Student

Faculty

Staff

looks behavior attitudes etc...

113

Message Communication
Objects communicate via messages

OBJECT

OBJECT

OBJECT

OBJECT
114

Associations
The union or connection of ideas or things.

(Objects need to interact with each other)

same point in time


Advertisement #2 Advertisement #1

under similar circumstances


crime scene #1 crime scene #2

Billing Statement

crime scene #n
115

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 2 O = water, ice, steam (liquid, solid, vapor)


Eating
Door #1 Door #2 Door #3

versus

Door #1 #2 #3

116

Polymorphism

Two examples

PRINT

TEXT object
25000 20000 BLUE SKY AIRLINES Sales Report January BLUE SKY AIRLINES Sales Report February

PRINT
PRINT

GRAPH object

15000 10000 5000 0


North South East West

IMAGE object

Object #1 Object #2

Add

PO object

= add a line item to the PO = increase $ Amount Balance

Add Add

Account object Department object

Object #3

= 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
118

Common Methods of Organization


People are accustomed to thinking in terms of...

Objects & Attributes


color price weight engine options...

Groups & Members

Wholes and Parts

VANS: light utility utility passenger etc...

number of doors number of wheels number of windows number of lights number of bolt type 1 number of bolt type 2 etc....

119

Reuse
The ability to reuse objects

Varying Degrees of Reuse: complete or sharing copy, purchase or cloning partial or adjusting none
120

Software: Chips Components Controls Models

Reuse
Software Reuse Costs and Payoffs
Orenstein, D. Code reuse: Reality doesnt 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

121

O-O Systems Analysis & Design Methodology

Three Classic Systems Analysis and Design Proble

Data Model versus Function Model


Analysis to Design Transition Maintaining Source Code
122

Function Models

System Behavior

Data Models

North Rim of the Grand Canyon

South Rim of the Grand Canyon

Colorado River

VVVVVVVVVVVV

Classic Software Development Problem #1: Multiple Models

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

Who wrote this code?

Begin Caller Program Init x,y,z... Open (files/database) Read... 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 implementation)

ROUND-TRIP ENGINEERING

Object Technology
Colorado River

126

O-O Systems Analysis & Design Methodology

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

127

Coads 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: 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

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

4. Work out model components dynamics using scenarios

Coads Object-Oriented Methodology Summar


Activities
1 2
Identify objects and patterns (behavior, data)

3
Establish object responsibilities
(behavior, data, functions)

4
Define service scenarios (behavior, data, functions)

Model Component
Problem Domain (PD) Human Interaction (HI)

Identify Purpose and Features

Data Management (DM)


System Interaction (SI)

indicates that the activity has been performed for the model component

Iterative View of Coads Methodology


Identify Purpose and Features

Identify objects and patterns

} One for each of:


System Interaction Data Management Human Interaction Problem Domain

Establish object responsibilities

Define service scenarios


130

Spiral View of Coads Methodology


Identify Purpose and Features
System Interaction Data Management Human Interaction Problem Domain (SI) (DM) (HI) (PD)

Identify objects and patterns

Define service scenarios

Establish object responsibilities

131

Coads 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 133

O-O Systems Analysis & Design Methodology

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

134

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 135

Coads Object Model Notation


model component

class with objects

class
136

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

137

Coads Object Model Notation


whole-part object connection
n-n

generalization-specialization connection

object connection n n

message
n
138

The Problem Domain Object Model

The Big Picture

139

Video Store - Problem Domain (PD) Object Model


1-n

Inventory

1-n

SaleItem

RentalItem

Video

Game

ConcessionItem

VCR

Transaction

Employee

1 1-n

StoreLocation

SalesTransaction 1-n 0-1 n

RentalTransaction 1 n 1-n

Vendor n 1 PurchaseOrder 1-n

Member

SaleRentalLineItem

1 POLineItem 1

Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted fro

Inventory
1-n
barCodeNumber description qtyOnHand price cost taxCode orderInventory inquireAboutAvailableInvento ry addNewInventoryItem changeInventoryItemInformati on delete/RemoveInventoryItem updateQuantity-On-Order

1-n

quantitySold qtyOnHand

SaleItem

RentalItem
timesRented dueDate memberNumber
updateRentalInformation

updateQuantitySold updateInventoryQty-On-Hand

Video

Game

ConcessionItem

VCR

PD Object Model with Attributes & Services


1 of 3

Transaction
transactionNumber employeeNumber transactionDate transactionTime

1
n

employeeNumber employeeName employeePhone positionCode updateEmployeeInformation

Employee

payForTransaction

SalesTransaction
quantitySold purchaseForSaleItems

RentalTransaction
memberNumber rentAnItem checking-inRentalItem

0-1 n

1-n 1 1-n

Member
memberNumber creditCardNumber memberName creditCardExpireDate memeberAddress depositAmount memberCity overdueAmount memberState memberZipcode memberPhone acquireMembership verifyMembership updateCreditCardInformation updateMembershipInformation cancelMembership updateOverdueAmount determineIfDelinquent

1
transactionNumber barCodeNumber price salesTax

SaleRentalLineItem
1

PD Object Model with Attributes &

2 of 3

1-n

storeNumber address city state zipcode telephone provideStoreInformation

StoreLocation

vendorNumber vendorName vendorAddress vendorCity vendorState vendorZipcode vendorPhone vendorFaxNumber addNewVendorInformation changeVendorInformation deleteVendor provideVendorInformation

Vendor

n 1

PurchaseOrder
1-n
purchaseOrderNumber purchaseOrderDate purchaseOrderDueDate purchaseOrderCancelDate vendorNumber createNewPurchaseOrder deleteExistingPurchaseOrder

POLineItem
purchaseOrderNumber barCodeNumber quantityOrdered itemCost

PD Object Model with Attributes & Services

3 of 3

Vous aimerez peut-être aussi