AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY

Description:

Abstraction. Encapsulation (Information Hiding) Inheritance ... Abstraction ... Functional and Data abstraction. 112. Encapsulation (Information Hiding) ... – PowerPoint PPT presentation

Number of Views:479
Avg rating:3.0/5.0
Slides: 50
Provided by: ronaldjnor
Category:

less

Transcript and Presenter's Notes

Title: AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY


1
ANOBJECT-ORIENTEDSYSTEMS ANALYSIS AND DESIGN
METHODOLOGY
2
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 Dictionary, Data Structure Diagrams, Entity-
Relationship Diagrams
Data Flow Diagram
Interviews, User Reviews, JAD sessions
9
Monthly Account
Statements
New or Modified
Prior Monthly
Monthly Statement
Statement
(adapted from Systems Analysis and Design
Methods, 4th Edition, Whitten and Bentley,
McGraw-Hill, 1998)
Monthly
Reconcile
Statement

Account
Bank
Balances
Transaction
Bill
Account
Creditor
Account
Balance
Transactions
Current
Balance
Pay
Payment

a
Bank Accounts
Bill
Modified Balance
Payment
Modified
Withdraw
Deposit
Balance
Account
Funds from
Transactions
an Account
Withdraw or transfer
Deposit Funds
Pay
into an
Employer
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)
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)
sold as
Product Number (PK)
. 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 datas
    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, Brainstorm
ing
Business Systems Design
Business Area Analysis, Entity- Relationship Diagr
ams
Business Area Analysis, Process Model
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-OrientedMethodology Tools
-----------TECHNIQUES TOOLS REPRESENTING--------
--- System Data
Communication Process Flows
with users
Logic
Interviews, User Reviews, JAD Sessions, Brainstorm
ing
Object Models Services, Scenarios, Decision Tree/T
ables, Structured English
Object Model Attributes
Object Model
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!
Ingredients
2 eggs 4 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
crime scene 1
Advertisement 2
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
TEXT object
PRINT
GRAPH object
PRINT
IMAGE object
PO object
add a line item to the PO
Add
Object 1
increase Amount Balance
Account object
Object 2
Add
Department object
hire a new employee
Object 3
Add
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 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

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
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
Design Models
Analysis Models
North Rim of the Grand Canyon
South Rim of the Grand Canyon
Colorado River
VVVVVVVVVVVV
Classic Software Development Problem 2 Model
Transformation
31
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
Who wrote this code?
Spaghetti?
Classic Software Development Problem
3 Maintaining Source Code
32
SOLUTION
INTEGRATED MODEL(S) (function, data,
behavior) (analysis, design and implementation)
ROUND-TRIP ENGINEERING
Object Technology
Colorado River
33
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.
34
Coads 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 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

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
Coads Object-Oriented Methodology Summary
Activities
1 2 3
4
Identify objects and patterns (behavior, data)
Define service scenarios (behavior, data, function
s)
Establish object responsibilities (behavior,
data, functions)
Identify Purpose and Features
Model Component Problem Domain
(PD) Human Interaction (HI) Data
Management (DM) System Interaction
(SI)
  • indicates that the activity has been performed
    for the model component

36
Iterative View of Coads Methodology
37
Spiral View of Coads Methodology
Identify Purpose and Features
Identify objects and patterns
(SI) (DM) (HI) (PD)
System Interaction Data Management Human
Interaction Problem Domain
Define service scenarios
Establish object responsibilities
38
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)
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
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.
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
Coads Object Model Notation
model component
class with objects
class
43
Coads 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
Coads Object Model Notation
whole-part object connection
generalization-specialization connection
n-n
1
object connection
message
n
n
n
45
The Problem Domain Object ModelThe Big Picture
46
Video Store - Problem Domain (PD) Object Model
1-n
1-n
Inventory
SaleItem
RentalItem
VCR
ConcessionItem
Video
Game
1
1
StoreLocation
Transaction
Employee
1-n
n
RentalTransaction
SalesTransaction
Vendor
1
0-1
1-n
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
Inventory
barCodeNumber description qtyOnHand price cost tax
Code
1-n
1-n
orderInventory inquireAboutAvailableInventory addN
ewInventoryItem changeInventoryItemInformation del
ete/RemoveInventoryItem updateQuantity-On-Order
RentalItem
SaleItem
quantitySold qtyOnHand
timesRented dueDate memberNumber
updateQuantitySold updateInventoryQty-On-Hand
updateRentalInformation
ConcessionItem
VCR
Game
Video
PD Object Model with Attributes Services
1 of 3
48
Transaction
Employee
transactionNumber employeeNumber transactionDate t
ransactionTime
employeeNumber employeeName employeePhone position
Code
1
1
n
updateEmployeeInformation
payForTransaction
SalesTransaction
RentalTransaction
quantitySold
memberNumber
purchaseForSaleItems
rentAnItem checking-inRentalItem
0-1
1-n
1
n
1-n
Member
memberNumber creditCardNumber memberN
ame creditCardExpireDate memeberA
ddress depositAmount memberCity
overdueAmount memberState memberZipcod
e memberPhone
n
1
1
SaleRentalLineItem
transactionNumber barCodeNumber price salesTax
acquireMembership verifyMembership updateCreditCar
dInformation updateMembershipInformation cancelMem
bership updateOverdueAmount determineIfDelinquent
1
PD Object Model with Attributes Services
2 of 3
49
Vendor
vendorNumber vendorName vendorAddress vendorCity v
endorState vendorZipcode vendorPhone vendorFaxNumb
er
StoreLocation
addNewVendorInformation changeVendorInformation de
leteVendor provideVendorInformation
storeNumber address city state zipcode telephone
1-n
n
provideStoreInformation
1
PurchaseOrder
purchaseOrderNumber purchaseOrderDate purchaseOrde
rDueDate purchaseOrderCancelDate vendorNumber
1-n
1
createNewPurchaseOrder deleteExistingPurchaseOrder
POLineItem
purchaseOrderNumber barCodeNumber quantityOrdered
itemCost
1
PD Object Model with Attributes Services
3 of 3
Write a Comment
User Comments (0)
About PowerShow.com