350 likes | 465 Vues
In this lecture (March 8, 2004), we discuss key concepts from CS.509 at WPI. The format includes a brief overview of CS562, term project administration details, quiz discussions, and a review of Chapters 9 and 13 of Budgen's text. We cover design processes like top-down decomposition and design by composition, delve into terms such as DFD, ERD, and the importance of design strategies. Students are encouraged to ask questions and share topics of interest for upcoming classes. Phase assignments and their relevance to UML are also addressed.
E N D
CS 509Design of Software Systems Lecture #7 Monday, March 8, 2004 CS 509 - WPI
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
CS562 – The Next Course • Tuesday afternoons, 3 – 7pm • To begin on April 13, end on June 15 • Topics TBD – suggestions? 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 • 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
Questions? • About what was covered last time • From the reading • About the Term Project • Anything else? CS 509 - WPI
Quiz #4 Chapters 10, 9*, 13* You have 15 minutes *from Budgen CS 509 - WPI
Chapter 9 Design Processes and Design Strategies CS 509 - WPI
Terminology • DVM • DFD • ERD • STD 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 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? CS 509 - WPI
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
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
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
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
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
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
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
Chapter 13 Structured Systems Analysis and Structured Design CS 509 - WPI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
For Next Time Read Chapters 14 & 15 in Budgen CS 509 - WPI