View
17
Download
2
Category
Tags:
Preview:
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
March 8, 2004 CS 509 - WPI 1
CS 509Design of Software Systems
Lecture #7Monday, 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
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?
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
March 8, 2004 CS 509 - WPI 5
Questions?
About what was covered last timeFrom the readingAbout the Term ProjectAnything else?
March 8, 2004 CS 509 - WPI 6
Quiz #4
Chapters 10, 9*, 13*You have 15 minutes
*from Budgen
March 8, 2004 CS 509 - WPI 7
Chapter 9
Design Processes andDesign Strategies
March 8, 2004 CS 509 - WPI 8
Terminology
DVMDFDERDSTD
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
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?
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
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
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
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?
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?
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
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?
March 8, 2004 CS 509 - WPI 18
Chapter 13
Structured Systems Analysis and Structured
Design
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?
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?
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
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?
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.
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
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?
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?
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
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?
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?
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
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
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
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
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
March 8, 2004 CS 509 - WPI 35
For Next Time
Read Chapters 14 & 15 in Budgen
Recommended