97 CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS.
-
date post
21-Dec-2015 -
Category
Documents
-
view
220 -
download
3
Transcript of 97 CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS.
1
CONCEPTUAL DESIGN:
AN OVERVIEW OF
METHODOLOGIES,
MODELS AND NOTATIONS
2
Planning & Feasibility Study (optional)
Analysis - Requirements Determination
Design - Conceptual &
Physical
Construction (Purchase) & Testing
Implementation including Training &
Conversion
Evolution - Maintenance &
Enhancements
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)ID
S-
306/6
95
IDS
-406/6
97
3
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
4
SDLC versus Methodology
M #1 M #2…
SDLC =“GenericWay”
Methodology =“Specific Ways”
5
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)
6
The Traditional Methodology
Applicable for small teams on small projects
Functional perspective of a problem domain
It is an informal, unstructured, unrepeatable,
un-measurable, ad-hoc way
Tools used to support it are adequate (okay)
(1950s - now)
7
Traditional Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------System Data ProcessFlows Logic _
Forms,
Layouts,
Grid Charts
System
Flowcharts
English Narrative,
Playscript,
Program Flowcharts,
HIPO Charts
8
Structured Analysis and Design Methodology
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
(mid-1970s - now)
9
Structured Analysis and Design Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------System Data ProcessFlows Logic _
Data Dictionary,
Data Structure
Diagrams,
Entity-
Relationship
Diagrams
Data Flow
Diagram
Decision Tree/Table,
Structured English,
Structure Charts,
Warnier/Orr Diagram
10
Reconcile Account Balances
Pay a
Bill
Withdraw Funds from an Account
Deposit Funds into an Account
Bank
Creditor
Employer
Other Income Source
Bank
Monthly Account Statements
Account Transactions
Bank Accounts
Account Transactions
Bill
Payment
Monthly Statement
Account Balance
Transaction
Prior Monthly Statement
New or Modified Monthly Statement
Modified Balance
Pay
Reimbursement
Withdraw or transfer
Deposit
Payment
Modified Balance
Current Balance
(adapted from Systems Analysis andDesign Methods, 4th Edition, Whittenand Bentley, McGraw-Hill, 1998)
11
(adapted from Systems Analysis andDesign Methods, 4th Edition, Whittenand Bentley, McGraw-Hill, 1998)
CUSTOMER
Customer Number (PK) Customer Name Shipping Address Billing Address Balance Due
ORDER
Order Number (PK) Order Date Order Total Cost Customer Number (FK)
INVENTORY PRODUCT
Product Number (PK) Product Name Product Unit of Measure Product Unit Price
ORDERED PRODUCT
Ordered Product ID (PK) . Order Number (FK) . Product Number (FK) Quantity Ordered Unit Price at Time of Order
has placed
sold
sold as
12
Information Modeling Methodology
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
(early-1980s - now)
13
Information Modeling Methodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------System Data ProcessFlows Logic _
Business
Area
Analysis,
Entity-
Relationship
Diagrams
Business
Area
Analysis,
Process
Model
Business Systems
Design
14
Object-Oriented Methodology
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
(mid/late-1980s - now)
15
Object-OrientedMethodology Tools
-----------TECHNIQUES & TOOLS REPRESENTING-----------System Data ProcessFlows Logic _
Object Model
Attributes
Object
Model
Static & Dynamic UML
Model Diagrams,
Operations,
Class relationships,
Object associations
16
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.
17
Rational Corporation’s Rational Unified Process
(RUP)
18
Object Technology Principles
Common Methods of Organization
Abstraction
Encapsulation (Information
Hiding)
Inheritance
Polymorphism
Message Communication
Associations
Reuse
19
Objects and their characteristicsObjects and their characteristics
Wholes and PartsWholes and Parts
Groups (Classes) and MembersGroups (Classes) and Members
Classification Theory(Common Methods of Organization)
O-O Systems Analysis & Design Methodology
20
• Common Methods of Organization
People are accustomed to thinking in terms
of...
• color• price• weight• engine• options...
Objects & Attributes
• number of doors• number of wheels• number of windows• number of lights• number of bolt type 1• number of bolt type 2• etc....
Wholes and PartsGroups & Members
VANS:• light utility• utility• passenger• etc...
21
• AbstractionA 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
22
• Encapsulation (Information Hiding)
A technique in which data are packaged
together with their corresponding procedures.
cakeIngredients
Directions
2 eggs 4 cups flour1 cup milk 1 cup sugaretc.......
Pre-heat oven to 350; Putmilk, eggs, and sugarin 2 quart mixing bowl...
In Object-Oriented Technology the “package” is called an In Object-Oriented Technology the “package” is called an OBJECTOBJECT
The interface to each object is defined in such a way as to reveal as The interface to each object is defined in such a way as to reveal as
little as possible about its inner workingslittle as possible about its inner workings
Encapsulation allows [software] changes to be reliably made with Encapsulation allows [software] changes to be reliably made with
limited effort [Gannon, Hamlet, & Mills, 1987]limited effort [Gannon, Hamlet, & Mills, 1987]
One cake please!
23
• InheritanceA mechanism for expressing similarity
between things thus simplifying their
definition.
• looks• behavior• attitudes• etc...
Person
Student Faculty Staff
Inheritance
24
• 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 Carbon compound crystallizes as graphite & diamond
2
versusDoor#1
Door#2
Door#3
Door#1#2#3
• Polymorphism Two examples
PRINT0
5000
10000
15000
20000
25000
North
Sout
h
East
Wes
t
B L U E S K Y A I R L I N E SSales ReportJanuary
B L U E S K Y A I R L I N E SSales ReportFebruary
TEXT object
GRAPH object
IMAGE object
Object #1 PO object
Account object
Department object
Object #2
Object #3
Add
Add
Add
= add a line item to the PO
= increase $ Amount Balance
= hire a new employee
26
• Message Communication
OBJECT
OBJECT
OBJECT
OBJECT
Objects communicate via messages
27
• AssociationsThe union or connection of ideas or things.
(Objects need to interact with each other)
• same point in time
Billing StatementAdvertisement #1Advertisement #2
• under similar circumstances
crimescene
#1
crimescene
#2
crimescene
#n
Person
Student Faculty Staff
28
• Reuse
Varying Degrees of Reuse:
• complete or sharing
• copy, purchase or cloning
• partial or adjusting
• none
The ability to reuse objects
Software:• “Chips”• Components• Controls• Models
29
• Reuse
• 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
Software Reuse Costs and PayoffsOrenstein, D. “Code reuse: Reality doesn’t match promise”,
Computerworld, August 24, 1998, page 8.
30
O-O Systems Analysis & Design Methodology
Three Classic Systems Analysis and Design Challenges:
Data Model versus Function ModelData Model versus Function Model
Analysis to Design TransitionAnalysis to Design Transition
Maintaining Source CodeMaintaining Source Code
31
VVVVVVVVVVVV
Colorado River
North Rim of theGrand Canyon
South Rim of theGrand Canyon
Classic Software Development Challenge #1:Multiple Models
DataModels
FunctionModels
User InteractionUser Interaction(Behavior)(Behavior)
32
VVVVVVVVVVVV
Colorado River
North Rim of theGrand Canyon
South Rim of theGrand Canyon
Classic Software Development Challenge #2:Model Transformation
DesignModels
AnalysisModels
33
Classic Software Development Challenge #3:Maintaining Source Code
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
Spaghetti?
Who wrotethis code?
34
SOLUTION
Colorado River
ObjectTechnology
INTEGRATED MODEL(S)(function, data, behavior)
(analysis, design and implementation)
ROUND-TRIPENGINEERING
35
A SimplifiedObject-Oriented
Systems AnalysisMethodology
O-O Systems Analysis Methodology
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”
A Simplified Object-Oriented Systems Analysis Methodology
Activities
Software Development’s “Separation of Concerns”
Problem Domain
Data Management System Interaction
Information System
Human Interaction
38
The Unified Modeling Language (UML)
Models and Notation
O-O Systems Analysis O-O Systems Analysis MethodologyMethodology
39
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
40
Booch Jacobson Rumbaugh
“The 3 Amigos”
41
Information Systems Development
People Process
Technology(UML - notation & tools to use it)
42
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.
Version 1.1 of the UML was adopted as an OMG Standard on November 14, 1997
www.omg.org
The OMG Revision Task Force released UML Version 1.3 in the Fall of 1998
The 9 Diagrams of the UML ClassClass ObjectObject Use-CaseUse-Case Interaction/Scenario Diagrams:Interaction/Scenario Diagrams:
– SequenceSequence
– CollaborationCollaboration
State [-Transition]State [-Transition] ActivityActivity ComponentComponent DeploymentDeployment
Implementation(Static)
Behavior
Static
A Package is used for Model Management
44
UML
Diagrams
45
46
47
48
49
50
51
52
“The Big Picture”
A Video Store UML
Class Diagram
53
54
55
56
57
58
End of
“The Big Picture”
QUITTING TIME