march 8, 2004cs 509 - wpi1 cs 509 design of software systems lecture #7 monday, march 8, 2004

35
March 8, 2004 CS 509 - WPI 1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

Upload: gordon-nurse

Post on 01-Apr-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 1

CS 509Design of Software Systems

Lecture #7Monday, March 8, 2004

Page 2: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 2

Brief discussion of CS562Term Project AdministrationQuestionsQuiz #4Review of Chapters 9 & 13

(Budgen)In-class Exercise:

Review Analysis of HIS

Class Format for Today

Page 3: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 3

CS562 – The Next Course

Tuesday afternoons, 3 – 7pmTo begin on April 13, end on June

15Topics TBD – suggestions?

Page 4: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 4

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

Phase 5 assignment posted to the web Similar to Phase 3 assignment, based on UML Feel free to incorporate topics from Budgen

Page 5: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 5

Questions?

About what was covered last timeFrom the readingAbout the Term ProjectAnything else?

Page 6: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 6

Quiz #4

Chapters 10, 9*, 13*You have 15 minutes

*from Budgen

Page 7: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 7

Chapter 9

Design Processes andDesign Strategies

Page 8: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 8

Terminology

DVMDFDERDSTD

Page 9: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 9

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

Page 10: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 10

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?

Page 11: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 11

Potts Process Model

Entity (box) types: Artifact, Issue, Argument, Step, Position

Relationship (arc) types: Modify, Raise, Review, Respond,

Support, Object to, Cite, ContributeWhat does the model describe? What

does it mean? See figures on page 198

Page 12: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 12

Design Strategies

Decompositional methodsCompositional methodsOrganizational methodsTemplate-based methods

What are these? How do they differ? See bullet list on page 199

Page 13: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 13

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 evolutionWhat are the design elements in the D-

Matrix?What are the sub-scripts and super-

scripts? b, f, d, c 1, 2, 3, … n

Page 14: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 14

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?

Review diagrams on page 204 Describe D-matrices, what are E3 and T4?

Page 15: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 15

Top-down Decomposition

Also known as ‘stepwise refinement’, or ‘divide & conquer’

Describe this approach Where does it come from?

What are its strengths and weaknesses? What does it focus on? What does it ignore?

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

Page 16: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 16

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

Page 17: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 17

Organizational Influences

Example of the British Civil Service What is the career of a civil servant like? How do job transitions impact SW

design?Use ‘standard’ methods for analysis

& design How does this help? (See bullets on p.

210) Are there any drawbacks?

Page 18: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 18

Chapter 13

Structured Systems Analysis and Structured

Design

Page 19: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 19

Background

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?

Page 20: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 20

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?How widely applicable is the method?

What are some other common problem domains?

Page 21: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 21

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

Page 22: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 22

Data Flow DiagramsProblem-oriented, functional

viewpoint, doesn’t involve ‘hierarchy’ What does this mean?

Often accompanied by P-Specs What does it describe? What data is

included? See example on page 260

Also accompanied by a Data Dictionary What is this? Example on page 261

Complementary with ERD’s – How so?

Page 23: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 23

Structure Charts

Program-oriented descriptionCall-and-return styleProvides run-time invocation

hierarchy See example on page 262

May also be accompanied by: Pseudocode, decision trees or tables,

ERDs STDs, CFDs, DFDs, etc.

Page 24: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 24

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

Page 25: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 25

Context Diagrams & Beyond

Highest level diagram describing system Single bubble, only data flows are external See fig. 13.6, page 265

2 common strategies for remaining levels Top-down functional decomposition Event partitioning

What’s the difference?

Page 26: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 26

Types of DFDsPhysicalLogical

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?

Page 27: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 27

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

Results of this step feed into next See fig. 13.7, page 268

Page 28: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 28

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?

Page 29: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 29

From DFD to Structure Chart

How do diagrams differ? DFD is non-sequential, describes

structure of problem SC describes solution, hierarchy of

program unitsBoth describe system in terms of

operations and flow of informationWhat is extra ‘central

transformation’ described in book?

Page 30: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 30

Completing the Design

The last step: Bring together SCs produced for different

transactions Resolve overlaps or mismatches

May be simple: Add top-level module to select among

transactionsReduce duplication – reuse operations

Page 31: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 31

Summary of Design Process

Review D-Matrix diagrams for steps 1 – 5 Pages 271 – 273

What is involved at each step? Design elements Transformations

Page 32: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 32

Heuristics in SSA/SD

Related to the design process, or form of solution? Why?

Some heuristics include Central transform Leveling Factoring Coupling and cohesion

Page 33: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 33

Additions to SSA/SD

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

What are these about? See bullet list on page 275

Page 34: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 34

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

Don’t forget to turn in Analysis at the end

Page 35: March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004

March 8, 2004 CS 509 - WPI 35

For Next Time

Read Chapters 14 & 15 in Budgen