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 WPI1 CS 509 Design of Software Systems Lecture #7 Monday, March 8, 2004
March 8, 2004CS 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 WPI3 CS562 – The Next Course §Tuesday afternoons, 3 – 7pm §To begin on April 13, end on June 15 §Topics TBD – suggestions?
March 8, 2004CS 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 WPI5 Questions? §About what was covered last time §From the reading §About the Term Project §Anything else?
March 8, 2004CS WPI6 Quiz #4 Chapters 10, 9*, 13* You have 15 minutes *from Budgen
March 8, 2004CS WPI7 Chapter 9 Design Processes and Design Strategies
March 8, 2004CS WPI8 Terminology §DVM §DFD §ERD §STD
March 8, 2004CS 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 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 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 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 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 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 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 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 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 WPI18 Chapter 13 Structured Systems Analysis and Structured Design
March 8, 2004CS 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 WPI35 For Next Time Read Chapters 14 & 15 in Budgen