CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS

Transcription

CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS
CONCEPTUAL DESIGN:
AN OVERVIEW OF
METHODOLOGIES,
MODELS AND NOTATIONS
97
IDS-406/697
IDS-306/695
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

Planning & Feasibility Study (optional)

Analysis - Requirements Determination
 Design
- Conceptual & Physical

Construction (Purchase) & Testing

Implementation including Training &
Conversion

Evolution - Maintenance & Enhancements
98
METHODOLOGY OVERVIEW

Methodology defined: The way something
gets done. (i.e., The strategy, steps,
directions, or actions.)

Methodologies can be:
 purchased
 created
 combination

of both
Thousands available for developing
software-intensive information systems
99
SDLC versus Methodology
SDLC =
“Generic
Way”
Methodology =
“Specific Ways”
M #1
M #2…
100
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)
101
The Traditional Methodology
(1950s - now)
 Applicable
for small teams on small
projects
 Functional
perspective of a problem
domain
 It
is an informal, unstructured,
unrepeatable, un-measurable, ad-hoc way 102
Traditional Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING----------System
Data
Process
Flows
Logic
_
System
Flowcharts
Forms,
Layouts,
English Narrative,
Playscript,
Program Flowcharts,
Grid Charts
HIPO Charts
103
Structured Analysis and Design
Methodology
(mid-1970s - now)

Data Flow methodology (synonym)

Compliments Structured Programming

Very popular - perhaps the leading one for business

Can be repeatable, measurable, & automated

IDE & CASE s/w tools brought significant assistance

1) Yourdon, and 2) Gane & Sarson

Functional perspective of a problem domain

Describes the real world as data flowing through the
information system, being transformed from inputs
to outputs
104
Structured Analysis and Design
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING----------System
Data
Process
Flows
Logic
_
Data Flow
Data Dictionary,
Decision Tree/Table,
Diagram
Data Structure
Structured English,
Diagrams,
Structure Charts,
EntityRelationship
Warnier/Orr Diagram
Diagrams
105
New or Modified
Monthly Statement
(adapted from Systems Analysis and
Design Methods, 4th Edition, Whitten
and Bentley, McGraw-Hill, 1998)
Monthly
Statement
Bank
Monthly Account
Statements
Prior Monthly
Statement
Reconcile
Account
Balances
Transaction
Bill
Creditor
Payment
Account
Balance
Current
Balance
Pay
a
Bill
Account
Transactions
Bank Accounts
Modified Balance
Payment
Account
Transactions
Deposit
Modified
Balance
Withdraw
Funds from
an Account
Withdraw or transfer
Employer
Pay
Deposit Funds
into an
Account
Bank
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
ORDER
has placed
Order Number (PK)
Order Date
Order Total Cost
Customer Number (FK)
sold
ORDERED PRODUCT
INVENTORY PRODUCT
Product Number (PK)
Product Name
Product Unit of Measure
Product Unit Price
sold as
Ordered Product ID (PK)
. Order Number (FK)
. Product Number (FK)
Quantity Ordered
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
108
Information Modeling
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING----------System
Data
Process
Flows
Logic
_
Business
Business
Area
Area
Analysis,
Analysis,
Process
Entity-
Model
Relationship
Business Systems
Design
Diagrams
109
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, operations, and relationships

Data & functions are encapsulated together
110
Object-Oriented
Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING----------System
Data
Process
Flows
Logic
_
Object
Object Model
Static & Dynamic UML
Model
Attributes
Model Diagrams,
Operations,
Class relationships,
Object associations
111
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.
112
Rational Corporation’s
Rational Unified Process
(RUP)
113
Object Technology
Principles
Common Methods of Organization
Abstraction
Encapsulation (Information Hiding)
Inheritance
Polymorphism
Message Communication
Associations
Reuse
114
O-O Systems Analysis & Design Methodology
Classification Theory
(Common Methods of Organization)
 Objects
and their characteristics
 Wholes
and Parts
 Groups
(Classes) and Members
115
• Common Methods of Organization
People are accustomed to thinking in terms of...
Objects & Attributes
• color
• price
• weight
• engine
• options...
Wholes and Parts
Groups & Members
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....
116
• 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
117
• 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
in 2 quart mixing bowl...
118
• Inheritance
A mechanism for expressing similarity
between things thus simplifying their definition.
Inheritance
Student
• looks
• behavior
• attitudes
• etc...
Person
Faculty
Staff
119
• 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.

H2O = water, ice, steam (liquid, solid, vapor)

Eating

Carbon compound crystallizes as graphite &
diamond
Door
#1
Door
#2
Door
#3
versus
Door
#1
#2
#3
120
• Polymorphism
PRINT
Two examples
TEXT object
25000
PRINT
BLUE SKY
AIRLINES
Sales Report
January
20000
15000
GRAPH object
10000
5000
East
West
North
PRINT
South
0
BLUE SKY
AIRLINES
Sales Report
February
IMAGE object
Object #1
Add
PO object
Object #2
Add
Account object
Object #3
Add
Department object
= add a line item to the PO
= increase $ Amount Balance
= hire a new employee
• Message Communication
Objects communicate via messages
OBJECT
OBJECT
OBJECT
OBJECT
122
• 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
Advertisement #1
crime
scene
#2
crime
scene
#1
Billing Statement
crime
scene
#n
Person
Student
Faculty
Staff
123
• Reuse
The ability to reuse objects
Varying Degrees of Reuse:
• complete or sharing
• copy, purchase or cloning
• partial or adjusting
Software:
• “Chips”
• Components
• Controls
• Models
• none
124
• 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
125
O-O Systems Analysis & Design Methodology
Three Classic Systems Analysis and Design Challenges:
 Data
Model versus Function Model
 Analysis
to Design Transition
 Maintaining
Source Code
126
Function
Models
User Interaction
(Behavior)
North Rim of the
Grand Canyon
Data
Models
South Rim of the
Grand Canyon
Colorado River
VVVVVVVVVVVV
Classic Software Development Challenge #1:
Multiple Models
Design
Models
Analysis
Models
North Rim of the
Grand Canyon
South Rim of the
Grand Canyon
Colorado River
VVVVVVVVVVVV
Classic Software Development Challenge #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 Challenge #3:
Maintaining Source Code
SOLUTION
INTEGRATED MODEL(S)
(function, data, behavior)
(analysis, design and
implementation)
ROUND-TRIP
ENGINEERING
Object
Technology
Colorado River
130
O-O Systems Analysis Methodology
A Simplified
Object-Oriented
Systems Analysis
Methodology
131
A Simplified Object-Oriented Systems Analysis Methodology
Activities
1. Identify the information system’s purpose
2. Identify the information system’s actors and features
3. Identify Use Cases and create a Use Case Diagram
4. Identify Objects and their Classes and create a Class Diagram
5. Create Interaction/Scenario Diagrams
6. Create Detail Logic for Operations
7. Repeat activities 1-6 as required to refine the “blueprints”
Software Development’s “Separation of
Concerns”
Information System
Human Interaction
Problem Domain
Data Management
System Interaction
O-O Systems Analysis Methodology
The Unified Modeling
Language (UML)
Models and Notation
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
“The 3 Amigos”
Booch
Jacobson
Rumbaugh
136
Information Systems Development
People
Process
Technology
(UML - notation & tools to use it)
137
www.omg.org
Version 1.1 of the UML was adopted as an
OMG Standard on November 14, 1997
The Object Management Group (OMG), formed in
1989, is a consortium of about 800 software
vendors, consultants and end user organizations
whose mission is to develop STANDARD interfaces
for INTEROPERABLE software components in
HETEROGENEOUS computing environments.
The OMG Revision Task Force released UML Version 1.3 in the Fall of 1998
138
The 9 Diagrams of the UML
Static

Class

Object

Use-Case

Interaction/Scenario Diagrams:
– Sequence
Behavior
Implementation
(Static)
– Collaboration

State [-Transition]

Activity

Component

Deployment
A Package is used for Model Management
U
M
L
D
i
a
g
r
a
m
s
140
141
142
143
144
145
146
147
“The Big Picture”
A Video Store UML
Class Diagram
148
149
150
151
152
153
End of
“The Big Picture”
QUITTING
TIME
154