Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Design

Similar presentations


Presentation on theme: "Software Engineering Design"— Presentation transcript:

1 Software Engineering Design
(Reference: Classical and Object-Oriented Software Engineering,4th ed., Schach.)

2 Overview of Design At last! How the product does it!
Architectural design (a.k.a.., general design, logical design, high-level design, system design) Detailed design (a. k. a., low-level design, modular design, physical design)

3 Design Approaches “Traditional” Structured Design Methods
Action-oriented Data-oriented Both produce structure chart Shows calling relationships among modules Can show control and data couples Object-Oriented Design

4 Action-Oriented Design - 1 Architectural Design
Uses DFD as beginning point Produces structure chart Shows calling relationship among modules Can show control and data couples

5 Action-Oriented Design - 2 Transform Analysis
Find “point of highest abstraction of input” Find point in DFD where input clearly changes to internal data that is acted upon. Find “point of highest abstraction of output” Find point in DFD where internal data clearly changes to output.

6 Action-Oriented Design - 3 Transform Analysis
Map the DFD processes into a structure such that the transforming process(es) call the process(es) that provide input and deal with output. As necessary, add new modules. Improve cohesion and coupling. See example in text.

7 Action-Oriented Design - 4 Transaction Analysis
Superimpose a control module over an analyzer and a dispatcher. Analyzer - receives input. Dispatcher - according to transaction type, calls appropriate code. Note that reuse may be apropos.

8 Action-Oriented Design - 5 Detailed Design
Data structures designed. A whole other course or two. Algorithms generated. Process logic must be documented in some form: DLT, flowchart, decision table, other Pseudocode, Program Description Language (PDL) Narrative

9 Data-Oriented Design An also-ran . . .
Let the structure of the data dictate the product design. Michael Jackson, Warnier and Orr, et al.

10 Object-Oriented Design (OOD)
Partly done during Object-Oriented Analysis (OOA). Product is designed in terms of objects. Design is iterative. More details later. . .

11 Design Testing Traceability: Are the specifications completely and accurately reflected in the design? Logic faults? Interfaces correctly defined? Inspection!

12 Design Metrics McCabe’s cyclomatic complexity metric
Number of decisions plus 1 Ignores data complexity Widely used, nevertheless. Kafura and Henry’s information flow metric length X (fan-in X fan-out)2 Other

13 Summary Structured vs. OOD Structured: Design testing, design metrics.
Architectural design Action-oriented vs. Data-oriented Action-oriented: Transform analysis Transaction analysis Detailed design Design testing, design metrics.


Download ppt "Software Engineering Design"

Similar presentations


Ads by Google