Presentation is loading. Please wait.

Presentation is loading. Please wait.

March 15, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004.

Similar presentations


Presentation on theme: "March 15, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004."— Presentation transcript:

1 March 15, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004

2 March 15, 2004CS 509 - WPI2 §Term Project Administration §Questions §Review of Chapter 14 l JSP exercise §Review of Chapter 15 §In-class Discussion: l Comparison of design methods Class Format for Today

3 March 15, 2004CS 509 - WPI3 Term Project Administration §Return Assignments: l Phase 3 – CIS Design l Phase 4 – HIS Analysis §Return Quiz #4 §How is Phase 5 going?

4 March 15, 2004CS 509 - WPI4 Questions? §About what was covered last time §From the reading §About the Term Project §Anything else?

5 March 15, 2004CS 509 - WPI5 Chapter 14 Jackson Structured Programming

6 March 15, 2004CS 509 - WPI6 Background of JSP §Developed in early 1970s l Widely used l Limited, but well-defined applications §Compositional strategy §Program design method l Single sequential process l Well-defined input and output data l Pipe-and-filter architectural style

7 March 15, 2004CS 509 - WPI7 Representation Form §Model sequence of elements in I/O streams §Single diagrammatical form: l 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 l What are elements in diagrams? l What do they represent?

8 March 15, 2004CS 509 - WPI8 The JSP Process §5 principal steps performed in sequence (with possible iterations between steps) 1. Structure Diagram to describe each I/O stream 2. Merge to form program Structure Diagram 3. 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

9 March 15, 2004CS 509 - WPI9 About the JSP Process §Problems encountered in step 3 likely indicate errors in structure produced by step 2 l Verification procedure helps to ensure that structures in step 2 are consistent with step 1 §Single diagrammatical form, but used for different purposes, different interpretations l Step 2 transforms static data model to dynamic (time-ordered) sequence of program actions

10 March 15, 2004CS 509 - WPI10 JSP Heuristics §Guidelines for handling certain types of ‘standard’ problems that can arise l Read-ahead l Backtracking l Structure clashes: Ordering clash, Boundary clash, Multithreading clash §Examples of these ‘standard’ problems? §What guidelines are given to handle them? l What is an ‘inverted’ program?

11 March 15, 2004CS 509 - WPI11 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: l 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 l The register should print out the details of each transaction and should also print the final total price when the ‘total’ key is pressed

12 March 15, 2004CS 509 - WPI12 Chapter 15 Jackson System Development

13 March 15, 2004CS 509 - WPI13 Background §‘Second generation’ design method developed in 1980’s, based on JSP l 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 l Compositional strategy, based on ‘long-running’ virtual processes l Evolved with organizational refinements and to incorporate accumulated experience

14 March 15, 2004CS 509 - WPI14 The JSD Model §Described in terms of 3 stages: 1. Modeling stage 2. Network stage 3. Implementation (physical design) stage §See Figure 15.1, page 317

15 March 15, 2004CS 509 - WPI15 JSD Representation Forms §The Entity-Structure Diagram (ESD) l An adaptation (different interpretation) of the Structure Diagram seen in the last chapter Adopt a different viewpoint of the system model l Describes the evolution of an entity over time An entity is an active element identified through operations of the modeling process l Describes the behavior of sequential processes §See Figure 15.2, page 318

16 March 15, 2004CS 509 - WPI16 ESD Generic Form §One diagram for each entity of importance §Diagram shows: l Creation of entity in the model Point where entity becomes interesting to the model l Actions performed by entity while in existence What does it do & when (time-ordered sequence) l Deletion of entity from the model Point where entity ceases to be of interest to the model §2 nd example: Figure 15.4, page 320

17 March 15, 2004CS 509 - WPI17 JSD Forms Continued §System Specification Diagram (SSD) l Network diagram that identifies interactions between entities that make up the model §Mechanisms for inter-process communication: l Data-flow stream – messages passed asynchronously Sender never blocked (infinite buffer capacity) Receiver blocked if read requested from empty buffer l State vector – describes local state of a process at a given time (may contain indeterminacy)

18 March 15, 2004CS 509 - WPI18 More on SSD §For multiple input streams, distinguish between ‘rough-merge’ and distinct l See Figure 15.7, page 321, parts (a) and (b) §Review example SSD: Figure 15.8, p. 322 l What are elements in the diagram? l What does each represent?

19 March 15, 2004CS 509 - WPI19 The JSD Process §Several versions to consider: l Original Jackson presentation (1983) l Initial revision by Cameron (1986) l Later revision by Sutcliffe and Cameron (1988) §See Figures 15.9, 15.10, and 15.11 l Pages 323 – 324 l What are the differences?

20 March 15, 2004CS 509 - WPI20 The Modeling Stage §Loosely corresponds to an analysis stage §Builds a black box model of the problem, rather than considering the solution §Identify entities from requirements l Attributes, actions and time-ordering of actions l Verbs identify actions, nouns are for entities l Some entities are outside the model boundaries §Figure 15.12, p. 326 shows example model

21 March 15, 2004CS 509 - WPI21 The Network Stage §Link entities defined in first step §Begin construction of model of whole system §Produce combination of SSDs and ESDs §Identify the input that triggers each action of an entity that has been identified: l Internal or external event l Spurious events that should be ignored §See Figure 15.13, page 327

22 March 15, 2004CS 509 - WPI22 Elaboration Phase §Add extra processes to the network to perform system-related tasks §2 individual transformation steps: l Interactive function step l Information function step §What’s the difference between these 2? §See Figures 15.14 & 15.15, pages 329, 331 §Final step: System timing

23 March 15, 2004CS 509 - WPI23 The Implementation Stage §This stage is not about writing code §Rather, mapping the abstract model onto a ‘physical system’: l Determining the forms to realize components of the design model, such as state vectors and processes, and l How the physical processes are mapped onto one or more processors

24 March 15, 2004CS 509 - WPI24 JSD Heuristics §2 similar to JSP, one different: l Program Inversion l State vector separation l Backtracking §How do these relate to the JSP heuristics? §What guidelines are given to handle these?

25 March 15, 2004CS 509 - WPI25 In-class Discussion §Compare and contrast design methods we have reviewed so far: l SSA/SD l JSP l JSD §What are benefits/weaknesses of each?

26 March 15, 2004CS 509 - WPI26 For Next Time §Read Chapter 17 in Budgen §Last Quiz §Prepare for brief design reviews §We will discuss presentations for last class


Download ppt "March 15, 2004CS 509 - WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004."

Similar presentations


Ads by Google