Sie sind auf Seite 1von 35

CS 509 Design of Software Systems

Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 1

Class Format for Today

Brief discussion of CS562 Term Project Administration Questions Quiz #4 Review of Chapters 9 & 13 (Budgen) In-class Exercise:

Review Analysis of HIS

CS 509 - WPI 2

March 8, 2004

CS562 The Next Course

Tuesday afternoons, 3 7pm To begin on April 13, end on June 15 Topics TBD suggestions?

March 8, 2004

CS 509 - WPI

Term Project Administration

Return Phase 3 CIS Design (and journals) Phase 4 HIS Analysis (and journals) due

Hold on to your documents for now We will discuss later today Turn in at the end of class Similar to Phase 3 assignment, based on UML Feel free to incorporate topics from Budgen
CS 509 - WPI 4

Phase 5 assignment posted to the web

March 8, 2004

About what was covered last time From the reading About the Term Project Anything else?

March 8, 2004

CS 509 - WPI

Quiz #4
Chapters 10, 9*, 13*
You have 15 minutes
*from Budgen
March 8, 2004 CS 509 - WPI 6

Chapter 9
Design Processes and Design Strategies
March 8, 2004 CS 509 - WPI 7


March 8, 2004

CS 509 - WPI

Structure of Design
A software design method can be described in terms of the following components:

Representation Process Set of heuristics

Examples of these components?

See diagrams on pages 194, 195

March 8, 2004

CS 509 - WPI

Form of Process
Process steps can be categorized into 2 forms

Transformation Step Elaboration Step

What do they mean / how do they differ? What does viewpoint have to do with them?

See diagram on page 197

How are they related in the design process?

March 8, 2004 CS 509 - WPI 10

Potts Process Model

Entity (box) types:

Artifact, Issue, Argument, Step, Position

Relationship (arc) types:

Modify, Raise, Review, Respond, Support, Object to, Cite, Contribute

What does the model describe? What does it mean?

See figures on page 198

CS 509 - WPI 11

March 8, 2004

Design Strategies
Decompositional methods Compositional methods Organizational methods Template-based methods

What are these? How do they differ?

See bullet list on page 199

CS 509 - WPI 12

March 8, 2004

The D-Matrix
Description and purpose:

Viewpoint-centered notation models the procedural steps of a method Abstract description of the state of the design model at any point in its evolution

What are the design elements in the D-Matrix? What are the sub-scripts and super-scripts?

b, f, d, c 1, 2, 3, n
CS 509 - WPI 13

March 8, 2004

Describing Transformations
How the D-Matrix notation is deployed: What does the null symbol () mean? Review diagram on top of page 203

What process does it describe? What are the elements? What does it mean?
Describe D-matrices, what are E3 and T4?
CS 509 - WPI 14

Review diagrams on page 204

March 8, 2004

Top-down Decomposition
Also known as stepwise refinement, or divide & conquer Describe this approach

Where does it come from? What does it focus on? What does it ignore?

What are its strengths and weaknesses?

How are solutions (fig. 9.7, p. 205) derived?

March 8, 2004 CS 509 - WPI 15

Design by Composition
Describe this approach

How does it differ from decomposition?

What are its strengths and weaknesses?

What does it focus on? What does it ignore?

Review bullet list on page 209

March 8, 2004

CS 509 - WPI


Organizational Influences
Example of the British Civil Service

What is the career of a civil servant like? How do job transitions impact SW design? How does this help? (See bullets on p. 210) Are there any drawbacks?

Use standard methods for analysis & design

March 8, 2004

CS 509 - WPI


Chapter 13
Structured Systems Analysis and Structured Design
March 8, 2004 CS 509 - WPI 18

Original development by Constantine and Yourdon, furthered by De Marco

What distinguishes the terms SSA/SD from structured analysis and design? What distinguishes SSA from SD? Are these approaches compositional or decompositional? How does call-and-return differ from more object-oriented architectural forms?
CS 509 - WPI 19

March 8, 2004

Background, Continued
If not very OO, what use is it? Assumed problem domain: Data Processing

Single sequential process Is this a restriction imposed by the method?

What are some other common problem domains?

How widely applicable is the method?

March 8, 2004

CS 509 - WPI


Interlude from Chapter 7

Representation Forms:

Data Flow Diagram

Review figure 7.2, page 132 Repeated (without description) on page 260

Entity-Relationship Notation
Review figure 7.7, page 137

Structure Chart
Review figure 7.27, page 159 Another example on page 262

March 8, 2004

CS 509 - WPI


Data Flow Diagrams

Problem-oriented, functional viewpoint, doesnt involve hierarchy

What does this mean?

Often accompanied by P-Specs

What does it describe? What data is included? See example on page 260 What is this? Example on page 261

Also accompanied by a Data Dictionary

Complementary with ERDs How so?

March 8, 2004 CS 509 - WPI 22

Structure Charts
Program-oriented description Call-and-return style Provides run-time invocation hierarchy

See example on page 262

Pseudocode, decision trees or tables, ERDs STDs, CFDs, DFDs, etc.
CS 509 - WPI 23

May also be accompanied by:

March 8, 2004

SSA/SD Process
Start with top-level description of problem

In terms of operations performed by system

Then apply a series of transformations:

A plan for a program Description of subprograms Details of interactions among subprograms

Review list of 5 steps on page 263 and transformation diagram on page 264
March 8, 2004 CS 509 - WPI 24

Context Diagrams & Beyond

Highest level diagram describing system

Single bubble, only data flows are external See fig. 13.6, page 265 Top-down functional decomposition Event partitioning

2 common strategies for remaining levels

Whats the difference?

March 8, 2004 CS 509 - WPI 25

Types of DFDs
Physical Logical

What is the purpose of each? How do they differ?

What are DFDs good/bad at capturing? Recommendations for producing DFDs:

Review bullet list, pages 266 267 Benefits of paper-and-pencil over CASE tools?
CS 509 - WPI 26

March 8, 2004

Transaction Analysis
Concerned with architectural design choices Separate components into network of cooperating subsystems Identify Transactions in the system:

How? What is a transaction? Review bullet list on page 267 See fig. 13.7, page 268
CS 509 - WPI 27

Results of this step feed into next

March 8, 2004

Transformation Analysis
What is the purpose of this step? How is it done?

Balloon analogy See fig. 13.9, page 270

The flow of arrows on the arcs change direction when this transformation is made

What is meant by this statement?

CS 509 - WPI 28

March 8, 2004

From DFD to Structure Chart

How do diagrams differ?

DFD is non-sequential, describes structure of problem SC describes solution, hierarchy of program units

Both describe system in terms of operations and flow of information What is extra central transformation described in book?
March 8, 2004 CS 509 - WPI 29

Completing the Design

The last step:

Bring together SCs produced for different transactions Resolve overlaps or mismatches Add top-level module to select among transactions

May be simple:

Reduce duplication reuse operations

March 8, 2004 CS 509 - WPI 30

Summary of Design Process

Review D-Matrix diagrams for steps 1 5

Pages 271 273 Design elements Transformations

What is involved at each step?

March 8, 2004

CS 509 - WPI


Heuristics in SSA/SD
Related to the design process, or form of solution? Why? Some heuristics include

Central transform Leveling Factoring Coupling and cohesion

CS 509 - WPI 32

March 8, 2004

Additions to SSA/SD
More material on SSA/SD can be found in addition to what is described in the chapter:

Variations Extensions Developments See bullet list on page 275

CS 509 - WPI 33

What are these about?

March 8, 2004

In-class Exercise
Review analysis of HIS

Class discussion: how did phase 4 go? How far did you get in the analysis? Teams give mini presentations Discuss any significant differences

Dont forget to turn in Analysis at the end

March 8, 2004 CS 509 - WPI 34

For Next Time

Read Chapters 14 & 15 in Budgen
March 8, 2004 CS 509 - WPI 35