1 / 35

CS 509 Design of Software Systems

CS 509 Design of Software Systems. Lecture #7 Monday, March 8, 2004. 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. CS562 – The Next Course.

Download Presentation

CS 509 Design of Software Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. CS562 – The Next Course • Tuesday afternoons, 3 – 7pm • To begin on April 13, end on June 15 • Topics TBD – suggestions? 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 CS 509 - WPI

  5. Questions? • About what was covered last time • From the reading • About the Term Project • Anything else? CS 509 - WPI

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

  7. Chapter 9 Design Processes and Design Strategies CS 509 - WPI

  8. Terminology • DVM • DFD • ERD • STD 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 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? 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, Contribute • What does the model describe? What does it mean? • See figures on page 198 CS 509 - WPI

  12. 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

  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 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

  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? 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? 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 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? CS 509 - WPI

  18. Chapter 13 Structured Systems Analysis and Structured Design 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? 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? 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 CS 509 - WPI

  22. Data Flow Diagrams • Problem-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? CS 509 - WPI

  23. Structure Charts • Program-oriented description • Call-and-return style • Provides run-time invocation hierarchy • See example on page 262 • May also be accompanied by: • Pseudocode, decision trees or tables, ERDs • STDs, CFDs, DFDs, etc. 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 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? CS 509 - WPI

  26. 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

  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 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? 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 units • Both describe system in terms of operations and flow of information • What is extra ‘central transformation’ described in book? 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 transactions • Reduce duplication – reuse operations 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 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 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 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 CS 509 - WPI

  35. For Next Time Read Chapters 14 & 15 in Budgen CS 509 - WPI

More Related