Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | beverly-burke |
View: | 213 times |
Download: | 0 times |
March 15, 2004 CS 509 - WPI 1
CS 509Design of Software Systems
Lecture #8Monday, March 15,
2004
March 15, 2004 CS 509 - WPI 2
Term Project AdministrationQuestionsReview of Chapter 14
JSP exerciseReview of Chapter 15In-class Discussion:
Comparison of design methods
Class Format for Today
March 15, 2004 CS 509 - WPI 3
Term Project Administration
Return Assignments: Phase 3 – CIS Design Phase 4 – HIS Analysis
Return Quiz #4
How is Phase 5 going?
March 15, 2004 CS 509 - WPI 4
Questions?
About what was covered last timeFrom the readingAbout the Term ProjectAnything else?
March 15, 2004 CS 509 - WPI 5
Chapter 14
Jackson Structured Programming
March 15, 2004 CS 509 - WPI 6
Background of JSP
Developed in early 1970s Widely used Limited, but well-defined applications
Compositional strategyProgram design method
Single sequential process Well-defined input and output data Pipe-and-filter architectural style
March 15, 2004 CS 509 - WPI 7
Representation Form
Model sequence of elements in I/O streams
Single diagrammatical form: Structure Diagram can be used to represent:
• Structure of data objects• Structure of functional program behavior
Review Figures 14.1 & 14.2, pages 291-292 What are elements in diagrams? What do they represent?
March 15, 2004 CS 509 - WPI 8
The JSP Process
5 principal steps performed in sequence (with possible iterations between steps)
1. Structure Diagram to describe each I/O stream2. Merge to form program Structure Diagram3. List operations that need to be performed
• Allocate each op to an element in the program SD
4. Convert program to text (pseudocode) without specific conditions
5. Add conditions for each iteration & selection
March 15, 2004 CS 509 - WPI 9
About the JSP Process
Problems encountered in step 3 likely indicate errors in structure produced by step 2 Verification procedure helps to ensure that
structures in step 2 are consistent with step 1Single diagrammatical form, but used for
different purposes, different interpretations Step 2 transforms static data model to dynamic
(time-ordered) sequence of program actions
March 15, 2004 CS 509 - WPI 10
JSP Heuristics
Guidelines for handling certain types of ‘standard’ problems that can arise Read-ahead Backtracking Structure clashes:
• Ordering clash, Boundary clash, Multithreading clash
Examples of these ‘standard’ problems?What guidelines are given to handle
them? What is an ‘inverted’ program?
March 15, 2004 CS 509 - WPI 11
JSP Exercise (14.4, page 313)
Follow through the first 3 steps of the JSP method to design a program that will control a supermarket register: The program accepts input from a bar-
code reader and the keys of the register to read the details of each item and the number of items
The register should print out the details of each transaction and should also print the final total price when the ‘total’ key is pressed
March 15, 2004 CS 509 - WPI 12
Chapter 15
Jackson System Development
March 15, 2004 CS 509 - WPI 13
Background
‘Second generation’ design method developed in 1980’s, based on JSP Larger scale of application, though still
predominantly intended for ‘data processing’• Applies to problems where time-ordering of
actions is important, and to client-server systems
Compositional strategy, based on ‘long-running’ virtual processes
Evolved with organizational refinements and to incorporate accumulated experience
March 15, 2004 CS 509 - WPI 14
The JSD Model
Described in terms of 3 stages:1. Modeling stage2. Network stage3. Implementation (physical design)
stage See Figure 15.1, page 317
March 15, 2004 CS 509 - WPI 15
JSD Representation FormsThe Entity-Structure Diagram (ESD)
An adaptation (different interpretation) of the Structure Diagram seen in the last chapter• Adopt a different viewpoint of the system model
Describes the evolution of an entity over time• An entity is an active element identified through
operations of the modeling process Describes the behavior of sequential
processesSee Figure 15.2, page 318
March 15, 2004 CS 509 - WPI 16
ESD Generic FormOne diagram for each entity of importanceDiagram shows:
Creation of entity in the model• Point where entity becomes interesting to the
model Actions performed by entity while in existence
• What does it do & when (time-ordered sequence) Deletion of entity from the model
• Point where entity ceases to be of interest to the model
2nd example: Figure 15.4, page 320
March 15, 2004 CS 509 - WPI 17
JSD Forms ContinuedSystem Specification Diagram (SSD)
Network diagram that identifies interactions between entities that make up the model
Mechanisms for inter-process communication: Data-flow stream – messages passed
asynchronously• Sender never blocked (infinite buffer capacity)• Receiver blocked if read requested from empty buffer
State vector – describes local state of a process at a given time (may contain indeterminacy)
March 15, 2004 CS 509 - WPI 18
More on SSD
For multiple input streams, distinguish between ‘rough-merge’ and distinct See Figure 15.7, page 321, parts (a)
and (b)Review example SSD: Figure 15.8,
p. 322 What are elements in the diagram? What does each represent?
March 15, 2004 CS 509 - WPI 19
The JSD Process
Several versions to consider: Original Jackson presentation (1983) Initial revision by Cameron (1986) Later revision by Sutcliffe and
Cameron (1988)See Figures 15.9, 15.10, and 15.11
Pages 323 – 324 What are the differences?
March 15, 2004 CS 509 - WPI 20
The Modeling StageLoosely corresponds to an analysis stageBuilds a black box model of the problem,
rather than considering the solutionIdentify entities from requirements
Attributes, actions and time-ordering of actions Verbs identify actions, nouns are for entities Some entities are outside the model boundaries
Figure 15.12, p. 326 shows example model
March 15, 2004 CS 509 - WPI 21
The Network Stage
Link entities defined in first stepBegin construction of model of whole
systemProduce combination of SSDs and ESDsIdentify the input that triggers each
action of an entity that has been identified: Internal or external event Spurious events that should be ignored
See Figure 15.13, page 327
March 15, 2004 CS 509 - WPI 22
Elaboration Phase
Add extra processes to the network to perform system-related tasks
2 individual transformation steps: Interactive function step Information function step
What’s the difference between these 2?
See Figures 15.14 & 15.15, pages 329, 331
Final step: System timing
March 15, 2004 CS 509 - WPI 23
The Implementation Stage
This stage is not about writing codeRather, mapping the abstract
model onto a ‘physical system’: Determining the forms to realize
components of the design model, such as state vectors and processes, and
How the physical processes are mapped onto one or more processors
March 15, 2004 CS 509 - WPI 24
JSD Heuristics
2 similar to JSP, one different: Program Inversion State vector separation Backtracking
How do these relate to the JSP heuristics?
What guidelines are given to handle these?
March 15, 2004 CS 509 - WPI 25
In-class Discussion
Compare and contrast design methods we have reviewed so far: SSA/SD JSP JSD
What are benefits/weaknesses of each?
March 15, 2004 CS 509 - WPI 26
For Next Time
Read Chapter 17 in BudgenLast QuizPrepare for brief design reviewsWe will discuss presentations for
last class