97
Design
IDS-406/697
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
99
M #1
M #2
100
METHODOLOGY OVERVIEW
Classifications
of Methodologies
Information Modeling/Engineering
Object-Oriented
Prototyping
projects
Functional
perspective of a problem
domain
It
is an informal, unstructured,
System
Flowcharts
Forms,
Layouts,
Grid Charts
HIPO Charts
103
Data Dictionary,
Data Structure Diagrams,
Diagram
EntityRelationship Diagrams
Monthly Statement
Transaction
Creditor
Account Balance
Pay a Bill
Account Transactions
Payment
Bank Accounts
Account Transactions
Modified Balance
Withdraw or transfer
Employer Bank
Pay
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
Describes the real world by its data, the datas attributes, and the data relationships
Area
Analysis, Entity-
Relationship
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
Object
Model
Object Model
Attributes
Class relationships,
Object associations
111
Object-Oriented Methodology
Revolutionary or Evolutionary?
Most difficult aspect is the transition some
113
Classification Theory
(Common Methods of Organization)
Objects Wholes Groups
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
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
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...
118
Inheritance
A mechanism for expressing similarity between things thus simplifying their definition.
Inheritance
Person
Student
Faculty
Staff
119
behind a common interface. The ability for two or more objects to respond to the same request, each in its own way.
versus
Door #1 #2 #3
120
Polymorphism
Two examples
TEXT object
25000 20000 BLUE SKY AIRLINES Sales Report January BLUE SKY AIRLINES Sales Report February
PRINT
PRINT
GRAPH object
IMAGE object
Object #1 Object #2
Add
PO object
Add Add
Object #3
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
Advertisement #2 Advertisement #1
Billing Statement
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 none
124
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
125
Analysis
Maintaining
Function Models
Data Models
Colorado River
VVVVVVVVVVVV
Analysis Models
Design Models
Colorado River
VVVVVVVVVVVV
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
SOLUTION
INTEGRATED MODEL(S)
(function, data, behavior) (analysis, design and implementation)
ROUND-TRIP ENGINEERING
Object Technology
Colorado River
130
Problem Domain
Data Management
System Interaction
134
The 3 Amigos
Booch Jacobson Rumbaugh
136
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
Class
Object
Use-Case Interaction/Scenario Diagrams:
Sequence Collaboration
Behavior
Implementation (Static)
U M L D i a g r a m s
140
141
142
143
144
145
146
147
Class Diagram
148
149
150
151
152
153
QUITTING
TIME
154