CHAPTER 13 — Unit A

21
Slide 13A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach [email protected]

description

Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach [email protected]. CHAPTER 13 — Unit A. DESIGN. Overview. Design and abstraction Operation-oriented design Data flow analysis Transaction analysis Data-oriented design - PowerPoint PPT Presentation

Transcript of CHAPTER 13 — Unit A

Page 1: CHAPTER 13 — Unit A

Slide 13A.1

© The McGraw-Hill Companies, 2005

Object-Oriented and Classical Software

Engineering

Sixth Edition, WCB/McGraw-Hill, 2005

Stephen R. [email protected]

Page 2: CHAPTER 13 — Unit A

Slide 13A.2

© The McGraw-Hill Companies, 2005

CHAPTER 13 — Unit A

DESIGN

Page 3: CHAPTER 13 — Unit A

Slide 13A.3

© The McGraw-Hill Companies, 2005

Overview

Design and abstraction Operation-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented design Object-oriented design: The elevator problem case

study Object-oriented design: The Osbert Oglesby case

study

Page 4: CHAPTER 13 — Unit A

Slide 13A.4

© The McGraw-Hill Companies, 2005

Overview (contd)

The design workflow The test workflow: Design Formal techniques for detailed design Real-time design techniques CASE tools for design Metrics for design Challenges of the design workflow

Page 5: CHAPTER 13 — Unit A

Slide 13A.5

© The McGraw-Hill Companies, 2005

Data and Actions

Two aspects of a productActions that operate on dataData on which actions operate

The two basic ways of designing a productOperation-oriented designData-oriented design

Third wayHybrid methodsFor example, object-oriented design

Page 6: CHAPTER 13 — Unit A

Slide 13A.6

© The McGraw-Hill Companies, 2005

13.1 Design and Abstraction

Classical design activities Architectural designDetailed designDesign testing

Architectural design Input: SpecificationsOutput: Modular decomposition

Detailed designEach module is designed

» Specific algorithms, data structures

Page 7: CHAPTER 13 — Unit A

Slide 13A.7

© The McGraw-Hill Companies, 2005

13.2 Operation-Oriented Design

Data flow analysisUse it with most specification methods (Structured

Systems Analysis here)

Key point: We have detailed action information from the DFD

Figure 13.1

Page 8: CHAPTER 13 — Unit A

Slide 13A.8

© The McGraw-Hill Companies, 2005

Data Flow Analysis

Every product transforms input into output Determine

“Point of highest abstraction of input” “Point of highest abstract of output”

Figure 13.2

Page 9: CHAPTER 13 — Unit A

Slide 13A.9

© The McGraw-Hill Companies, 2005

Data Flow Analysis (contd)

Decompose the product into three modules

Repeat stepwise until each module has high cohesionMinor modifications may be needed to lower the

coupling

Page 10: CHAPTER 13 — Unit A

Slide 13A.10

© The McGraw-Hill Companies, 2005

13.3.1 Mini Case Study: Word Counting

Example:Design a product which takes as input a file name, and returns the number of words in that file (like UNIX wc )

Figure 13.3

Page 11: CHAPTER 13 — Unit A

Slide 13A.11

© The McGraw-Hill Companies, 2005

Mini Case Study: Word Counting (contd)

First refinement

Now refine the two modules of communicational cohesion

Figure 13.4

Page 12: CHAPTER 13 — Unit A

Slide 13A.12

© The McGraw-Hill Companies, 2005

Second refinement

All eight modules now have functional cohesion

Mini Case Study: Word Counting (contd)

Figure 13.5

Page 13: CHAPTER 13 — Unit A

Slide 13A.13

© The McGraw-Hill Companies, 2005

Word Counting: Detailed Design

The architectural design is completeSo proceed to the detailed design

Two formats for representing the detailed design:TabularPseudocode (PDL—program design language)

Page 14: CHAPTER 13 — Unit A

Slide 13A.14

© The McGraw-Hill Companies, 2005

Detailed Design: Tabular Format

Figure 13.6(a)

Page 15: CHAPTER 13 — Unit A

Slide 13A.15

© The McGraw-Hill Companies, 2005

Detailed Design: Tabular Format (contd)

Figure 13.6(b)

Page 16: CHAPTER 13 — Unit A

Slide 13A.16

© The McGraw-Hill Companies, 2005

Detailed Design: Tabular Format (contd)

Figure 13.6(c)

Page 17: CHAPTER 13 — Unit A

Slide 13A.17

© The McGraw-Hill Companies, 2005

Detailed Design: Tabular Format (contd)

Figure 13.6(d)

Page 18: CHAPTER 13 — Unit A

Slide 13A.18

© The McGraw-Hill Companies, 2005

Detailed Design: PDL Format

Figure 13.7

Page 19: CHAPTER 13 — Unit A

Slide 13A.19

© The McGraw-Hill Companies, 2005

13.3.2 Data Flow Analysis Extensions

In real-world products, there is More than one input stream, and More than one output stream

Page 20: CHAPTER 13 — Unit A

Slide 13A.20

© The McGraw-Hill Companies, 2005

Data Flow Analysis Extensions (contd)

Find the point of highest abstraction for each stream

Continue until each module has high cohesionAdjust the coupling if needed

Figure 13.8

Page 21: CHAPTER 13 — Unit A

Slide 13A.21

© The McGraw-Hill Companies, 2005

Continued in Unit 13B