CONCEPTUAL DESIGN AN OVERVIEW OF METHODOLOGIES MODELS AND

  • Slides: 58
Download presentation
CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS 97

CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS 97

IDS-406/697 IDS-306/695 SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) n Planning & Feasibility Study (optional) n

IDS-406/697 IDS-306/695 SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) n Planning & Feasibility Study (optional) n Analysis - Requirements Determination n Design - Conceptual & Physical n Construction (Purchase) & Testing n Implementation including Training & Conversion n Evolution - Maintenance & Enhancements 98

METHODOLOGY OVERVIEW v Methodology defined: The way something gets done. (i. e. , The

METHODOLOGY OVERVIEW v Methodology defined: The way something gets done. (i. e. , The strategy, steps, directions, or actions. ) v Methodologies can be: u purchased u created u combination v of both Thousands available for developing software-intensive information systems 99

SDLC versus Methodology SDLC = “Generic Way” Methodology = “Specific Ways” M #1 M

SDLC versus Methodology SDLC = “Generic Way” Methodology = “Specific Ways” M #1 M #2… 100

METHODOLOGY OVERVIEW v Classifications of Methodologies u Traditional u Structured Analysis and Design u

METHODOLOGY OVERVIEW v Classifications of Methodologies u Traditional u Structured Analysis and Design u Information Modeling/Engineering u Object-Oriented v Prototyping is a technique - (some say that it is a methodology) 101

The Traditional Methodology (1950 s - now) v Applicable for small teams on small

The Traditional Methodology (1950 s - now) v Applicable for small teams on small projects v Functional perspective of a problem domain v 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

Traditional Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ System Flowcharts Forms, Layouts, Grid Charts English Narrative, Playscript, Program Flowcharts, HIPO Charts 103

Structured Analysis and Design Methodology (mid-1970 s - now) v Data Flow methodology (synonym)

Structured Analysis and Design Methodology (mid-1970 s - now) v Data Flow methodology (synonym) v Compliments Structured Programming v Very popular - perhaps the leading one for business v Can be repeatable, measurable, & automated v IDE & CASE s/w tools brought significant assistance v 1) Yourdon, and 2) Gane & Sarson v Functional perspective of a problem domain v 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

Structured Analysis and Design Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ Data Flow Data Dictionary, Decision Tree/Table, Diagram Data Structured English, Diagrams, Entity. Relationship Diagrams Structure Charts, Warnier/Orr Diagram 105

Monthly Account Statements (adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten

Monthly Account Statements (adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten and Bentley, Mc. Graw-Hill, 1998) Bank New or Modified Monthly Statement. Prior Monthly Statement Reconcile Account Balances Transaction Bill Creditor Account Balance Current Balance Pay a Bill Payment 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 106

(adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten and Bentley, Mc.

(adapted from Systems Analysis and Design Methods, 4 th Edition, Whitten and Bentley, Mc. Graw-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 107

Information Modeling Methodology (early-1980 s - now) v Data modeling & information engineering (synonyms)

Information Modeling Methodology (early-1980 s - now) v Data modeling & information engineering (synonyms) v Describes the real world by its data, the data’s attributes, and the data relationships v Can be repeatable, measurable, and automated v Data perspective of the problem domain 108

Information Modeling Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ Business

Information Modeling Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ Business Area Analysis, Process Entity- Model Relationship Business Systems Design Diagrams 109

Object-Oriented Methodology (mid/late-1980 s - now) v Object modeling v Compliments object-oriented programming v

Object-Oriented Methodology (mid/late-1980 s - now) v Object modeling v Compliments object-oriented programming v Can be repeatable, measurable, & automated v Object perspective of the problem domain v Describes the real world by its objects, the attributes, operations, and relationships v Data & functions are encapsulated together 110

Object-Oriented Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ Object Model

Object-Oriented Methodology Tools ------TECHNIQUES & TOOLS REPRESENTING-----System Data Process Flows Logic _ Object Model Static & Dynamic UML Model Attributes Model Diagrams, Operations, Class relationships, Object associations 111

Object-Oriented Methodology v Revolutionary or Evolutionary? v Most difficult aspect is the transition some

Object-Oriented Methodology v Revolutionary or Evolutionary? v 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

Rational Corporation’s Rational Unified Process (RUP) 113

Object Technology Principles üCommon Methods of Organization üAbstraction üEncapsulation (Information Hiding) üInheritance üPolymorphism üMessage

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) v Objects

O-O Systems Analysis & Design Methodology Classification Theory (Common Methods of Organization) v Objects and their characteristics v Wholes and Parts v Groups (Classes) and Members 115

 • Common Methods of Organization People are accustomed to thinking in terms of.

• 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 • 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

• 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

• Encapsulation (Information Hiding) A technique in which data are packaged together with their corresponding procedures. 4 In Object-Oriented Technology the “package” is called an OBJECT 4 The interface to each object is defined in such a way as to reveal as little as possible about its inner workings 4 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 A mechanism for expressing similarity between things thus simplifying their definition. Inheritance Student • looks • behavior • attitudes • etc. . . Person Faculty Staff 119

 • Polymorphism (“many forms”) 4 The ability to hide different implementations behind a

• Polymorphism (“many forms”) 4 The ability to hide different implementations behind a common interface. 4 The ability for two or more objects to respond to the same request, each in its own way. v H 2 O = water, ice, steam (liquid, solid, vapor) v Eating v Carbon compound crystallizes as graphite & diamond Door #1 Door #2 Door #3 versus Door #1 #2 #3 120

 • Polymorphism PRINT 4 Two examples TEXT object PRINT GRAPH object PRINT IMAGE

• Polymorphism PRINT 4 Two examples TEXT object PRINT GRAPH object PRINT 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 121

 • Message Communication Objects communicate via messages OBJECT 122

• Message Communication Objects communicate via messages OBJECT 122

 • Associations The union or connection of ideas or things. (Objects need to

• 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

• 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

• 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: v

O-O Systems Analysis & Design Methodology Three Classic Systems Analysis and Design Challenges: v Data Model versus Function Model v Analysis to Design Transition v Maintaining Source Code 126

Function Models User Interaction (Behavior) North Rim of the Grand Canyon Data Models South

Function Models User Interaction (Behavior) North Rim of the Grand Canyon Data Models South Rim of the Grand Canyon Colorado River VVVVVV Classic Software Development Challenge #1: Multiple Models 127

Design Models Analysis Models North Rim of the Grand Canyon South Rim of the

Design Models Analysis Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVV Classic Software Development Challenge #2: Model Transformation 128

Who wrote this code? Begin “Caller” Program Init x, y, z. . . Open

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 129

SOLUTION INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING Object Technology

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

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.

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” 132

Software Development’s “Separation of Concerns” Information System Human Interaction Problem Domain Data Management System

Software Development’s “Separation of Concerns” Information System Human Interaction Problem Domain Data Management System Interaction 133

O-O Systems Analysis Methodology The Unified Modeling Language (UML) Models and Notation 134

O-O Systems Analysis Methodology The Unified Modeling Language (UML) Models and Notation 134

Subject Matter Expert & Notation v Can you draw a stick figure of a

Subject Matter Expert & Notation v Can you draw a stick figure of a person? v Can you draw a picture of an automobile? v Can you draw a picture of the space shuttle? v Can you draw a picture of an Oopsla? v Why not? u Subject Matter Expert (SME) u Notation - symbols used to communicate 135

“The 3 Amigos” Booch Jacobson Rumbaugh 136

“The 3 Amigos” Booch Jacobson Rumbaugh 136

Information Systems Development People Process Technology (UML - notation & tools to use it)

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

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 v Class v Object v Use-Case v

The 9 Diagrams of the UML Static v Class v Object v Use-Case v Interaction/Scenario Diagrams: – Sequence – Collaboration Behavior Implementation (Static) v State [-Transition] v Activity v Component v Deployment A Package is used for Model Management 139

U M L D i a g r a m s 140

U M L D i a g r a m s 140

141

141

142

142

143

143

144

144

145

145

146

146

147

147

“The Big Picture” A Video Store UML Class Diagram 148

“The Big Picture” A Video Store UML Class Diagram 148

149

149

150

150

151

151

152

152

153

153

End of “The Big Picture” QUITTING TIME 154

End of “The Big Picture” QUITTING TIME 154