Presentation on theme: "March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004."— Presentation transcript:
March 8, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004
March 8, 2004CS 509 - WPI2 §Brief discussion of CS562 §Term Project Administration §Questions §Quiz #4 §Review of Chapters 9 & 13 (Budgen) §In-class Exercise: l Review Analysis of HIS Class Format for Today
March 8, 2004CS 509 - WPI3 CS562 – The Next Course §Tuesday afternoons, 3 – 7pm §To begin on April 13, end on June 15 §Topics TBD – suggestions?
March 8, 2004CS 509 - WPI4 Term Project Administration §Return Phase 3 – CIS Design (and journals) §Phase 4 – HIS Analysis (and journals) due l Hold on to your documents for now l We will discuss later today l Turn in at the end of class §Phase 5 assignment posted to the web l Similar to Phase 3 assignment, based on UML l Feel free to incorporate topics from Budgen
March 8, 2004CS 509 - WPI5 Questions? §About what was covered last time §From the reading §About the Term Project §Anything else?
March 8, 2004CS 509 - WPI6 Quiz #4 Chapters 10, 9*, 13* You have 15 minutes *from Budgen
March 8, 2004CS 509 - WPI7 Chapter 9 Design Processes and Design Strategies
March 8, 2004CS 509 - WPI9 Structure of Design §A software design method can be described in terms of the following components: l Representation l Process l Set of heuristics §Examples of these components? l See diagrams on pages 194, 195
March 8, 2004CS 509 - WPI10 Form of Process §Process steps can be categorized into 2 forms l Transformation Step l Elaboration Step §What do they mean / how do they differ? §What does viewpoint have to do with them? l See diagram on page 197 §How are they related in the design process?
March 8, 2004CS 509 - WPI11 Potts Process Model §Entity (box) types: l Artifact, Issue, Argument, Step, Position §Relationship (arc) types: l Modify, Raise, Review, Respond, Support, Object to, Cite, Contribute §What does the model describe? What does it mean? l See figures on page 198
March 8, 2004CS 509 - WPI12 Design Strategies §Decompositional methods §Compositional methods §Organizational methods §Template-based methods §What are these? How do they differ? l See bullet list on page 199
March 8, 2004CS 509 - WPI13 The D-Matrix §Description and purpose: l Viewpoint-centered notation models the procedural steps of a method l 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? l b, f, d, c l 1, 2, 3, … n
March 8, 2004CS 509 - WPI14 Describing Transformations §How the D-Matrix notation is deployed: §What does the null symbol ( ) mean? §Review diagram on top of page 203 l What process does it describe? l What are the elements? l What does it mean? §Review diagrams on page 204 l Describe D-matrices, what are E 3 and T 4 ?
March 8, 2004CS 509 - WPI15 Top-down Decomposition §Also known as ‘stepwise refinement’, or ‘divide & conquer’ §Describe this approach l Where does it come from? §What are its strengths and weaknesses? l What does it focus on? l What does it ignore? §How are solutions (fig. 9.7, p. 205) derived?
March 8, 2004CS 509 - WPI16 Design by Composition §Describe this approach l How does it differ from decomposition? §What are its strengths and weaknesses? l What does it focus on? l What does it ignore? §Review bullet list on page 209
March 8, 2004CS 509 - WPI17 Organizational Influences §Example of the British Civil Service l What is the career of a civil servant like? l How do job transitions impact SW design? §Use ‘standard’ methods for analysis & design l How does this help? (See bullets on p. 210) l Are there any drawbacks?
March 8, 2004CS 509 - WPI18 Chapter 13 Structured Systems Analysis and Structured Design
March 8, 2004CS 509 - WPI19 Background §Original development by Constantine and Yourdon, furthered by De Marco l What distinguishes the terms SSA/SD from ‘structured analysis and design’? l What distinguishes SSA from SD? l Are these approaches compositional or decompositional? l How does ‘call-and-return’ differ from more object-oriented architectural forms?
March 8, 2004CS 509 - WPI20 Background, Continued §If not very OO, what use is it? §Assumed problem domain: Data Processing l Single sequential process l Is this a restriction imposed by the method? §How widely applicable is the method? l What are some other common problem domains?
March 8, 2004CS 509 - WPI21 Interlude from Chapter 7 §Representation Forms: l Data Flow Diagram Review figure 7.2, page 132 Repeated (without description) on page 260 l Entity-Relationship Notation Review figure 7.7, page 137 l Structure Chart Review figure 7.27, page 159 Another example on page 262
March 8, 2004CS 509 - WPI22 Data Flow Diagrams §Problem-oriented, functional viewpoint, doesn’t involve ‘hierarchy’ l What does this mean? §Often accompanied by P-Specs l What does it describe? What data is included? l See example on page 260 §Also accompanied by a Data Dictionary l What is this? Example on page 261 §Complementary with ERD’s – How so?
March 8, 2004CS 509 - WPI23 Structure Charts §Program-oriented description §Call-and-return style §Provides run-time invocation hierarchy l See example on page 262 §May also be accompanied by: l Pseudocode, decision trees or tables, ERDs l STDs, CFDs, DFDs, etc.
March 8, 2004CS 509 - WPI24 SSA/SD Process §Start with top-level description of problem l In terms of operations performed by system §Then apply a series of transformations: l A plan for a program l Description of subprograms l Details of interactions among subprograms §Review list of 5 steps on page 263 and transformation diagram on page 264
March 8, 2004CS 509 - WPI25 Context Diagrams & Beyond §Highest level diagram describing system l Single bubble, only data flows are external l See fig. 13.6, page 265 §2 common strategies for remaining levels l Top-down functional decomposition l Event partitioning §What’s the difference?
March 8, 2004CS 509 - WPI26 Types of DFDs §Physical §Logical l What is the purpose of each? l How do they differ? §What are DFDs good/bad at capturing? §Recommendations for producing DFDs: l Review bullet list, pages 266 – 267 l Benefits of paper-and-pencil over CASE tools?
March 8, 2004CS 509 - WPI27 Transaction Analysis §Concerned with architectural design choices §Separate components into network of cooperating subsystems §Identify Transactions in the system: l How? What is a transaction? l Review bullet list on page 267 §Results of this step feed into next l See fig. 13.7, page 268
March 8, 2004CS 509 - WPI28 Transformation Analysis §What is the purpose of this step? §How is it done? l Balloon analogy l See fig. 13.9, page 270 §The flow of arrows on the arcs change direction when this transformation is made l What is meant by this statement?
March 8, 2004CS 509 - WPI29 From DFD to Structure Chart §How do diagrams differ? l DFD is non-sequential, describes structure of problem l 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, 2004CS 509 - WPI30 Completing the Design §The last step: l Bring together SCs produced for different transactions l Resolve overlaps or mismatches §May be simple: l Add top-level module to select among transactions §Reduce duplication – reuse operations
March 8, 2004CS 509 - WPI31 Summary of Design Process §Review D-Matrix diagrams for steps 1 – 5 l Pages 271 – 273 §What is involved at each step? l Design elements l Transformations
March 8, 2004CS 509 - WPI32 Heuristics in SSA/SD §Related to the design process, or form of solution? Why? §Some heuristics include l Central transform l Leveling l Factoring l Coupling and cohesion
March 8, 2004CS 509 - WPI33 Additions to SSA/SD §More material on SSA/SD can be found in addition to what is described in the chapter: l Variations l Extensions l Developments §What are these about? l See bullet list on page 275
March 8, 2004CS 509 - WPI34 In-class Exercise §Review analysis of HIS l Class discussion: how did phase 4 go? l How far did you get in the analysis? l Teams give mini presentations l Discuss any significant differences §Don’t forget to turn in Analysis at the end
March 8, 2004CS 509 - WPI35 For Next Time Read Chapters 14 & 15 in Budgen