Design methods: JSP and JSD†

Slides:



Advertisements
Similar presentations
IFS310: Week 3 BIS310: Structured Analysis and Design 5/4/2015 Process Modeling and Data Flow Diagrams.
Advertisements

Software Design Deriving a solution which satisfies software requirements.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Structure clashes and program decomposition
March 15, 2004CS WPI1 CS 509 Design of Software Systems Lecture #8 Monday, March 15, 2004.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System sequence diagram Updated: 2014.
SE 555 Software Requirements & Specification Requirements Analysis.
Chapter 10 Architectural Design
Software Development Process
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Jackson Structured Diagrams
Information Systems in Organisations System Development: The Environment.
© Andrew IrelandSoftware Design F28SD2 Function-oriented Design Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University Edinburgh.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
CB1004 Modelling Business Systems 91 Modelling Business Systems 9 Other Systems Methods.
Software Design Deriving a solution which satisfies software requirements.
Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
1 Introduction to Software Engineering Lecture 1.
JSD Networking Building the System Specification.
10 Nov 1.HW 3 Remember to submit a.jsp file: for a valid int for an int with errors that produces the java program 2.Structure clashes 3.HW 4: Backtracking.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Dr.Basem Alkazemi
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
West Virginia University Slide 1 Copyright © K.Goseva 2010 CS 736 Software Performance Engineering Comments on Homework #1  Please revise the solution.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
22 Nov 1.Comments on HW3 2.Java I/O – Exception handling 3.Inversion 4.JSD.
OOP Review CS 124.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
Architectural Complexity  A useful technique for assessing the overall complexity of a proposed architecture is to consider dependencies between components.
Systems Analysis and Design in a Changing World, Fourth Edition
MANAGEMENT INFORMATION SYSTEM
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Advanced Data Structures Lecture 1
Introduction to Algorithms
Coupling and Cohesion Rajni Bhalla.
EECE 310: Software Engineering
Chapter 6 The Traditional Approach to Requirements.
Basic Concepts in Software Design
Architecture Concept Documents
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Problem Solving How do we attack a large problem?
Chapter 9 Structuring System Requirements: Logic Modeling
System Design and Modeling
Rumbaugh’s Objectmodeling Technique
Basic Concepts in Software Design
Software Design Mr. Manoj Kumar Kar.
Structured Analysis and Dataflow Diagrams
Life Cycle Models PPT By :Dr. R. Mall.
Process & Logic Modeling
CH#3 Software Designing (Object Oriented Design)
JACKSON Structured Programming
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Chapter 9 Structuring System Requirements: Logic Modeling
Software Design CMSC 345, Version 1/11.
Software design and architecture
CS 8532: Advanced Software Engineering
Step 2 in behavioral modeling. Use of procedures.
Introduction to Algorithms
Chapter 9 Structuring System Requirements: Logic Modeling
Top-Down Design & JSP Skill Area Part D
Chapter 14. Activity Modeling for Transformational Systems
Function-oriented Design
Presentation transcript:

Design methods: JSP and JSD† Stands for: Jackson Structured Programming and Jackson System Development. Primary applicable notations: System specification diagrams (SSDs), correspond roughly to DFDs. Entity-structure diagrams (ESDs), process interpretation of structure diagrams. Pseudo-code. Overall objective: Derive complete detailed design from requirements specification in the case of JSD; derive pseudo-code for an individual process in an SSD, in the case of JSP. ________________ † Material from text by Budgen and from “Software Engineering Concepts”, by Richard Fairley. CS646: Software Design and Architectures

JSP: Overall process Starting with proceed as follows: input output Derive the structure diagrams for the input and output streams. The input-output structure diagrams are converted to a sequential processing diagram by identifying points of correspondence between nodes in the input and output structure diagrams. The sequential processing diagram is expanded into a detailed design model with pseudo-code that contains the operations needed to solve the problem. CS646: Software Design and Architectures

Example: an inventory reporting application Inventory data contains a collection of transactions, each of which has a part number and number of units of that item issued or received in the transaction. An output report is to be produced that contains a heading and a net movement line for each part number that occurs in the collection. sort by part number inventory data generate report manager transactions (ordered by part number) net movement CS646: Software Design and Architectures

The input and output structure diagrams input stream part group movement record receipt issue net movement line heading body output report CS646: Software Design and Architectures

Identifying points of correspondence input stream part group movement record receipt issue net movement line heading body output report CS646: Software Design and Architectures

Derive sequential processing diagram process part group and line group body process record receipt issue line heading body program CS646: Software Design and Architectures

Derive additional operations Open sort stream. Close sort stream. Terminate program. Read a [PartNumber, CreditDebit, Amount] transaction. Write report heading. Write a net movement line. Set NetMovement to zero. Add Amount to NetMovement. Subtract Amount from NetMovement CS646: Software Design and Architectures

Add operations to sequential processing diagram process part group and line group body process record receipt issue line heading body program 1 4 5 2 3 7 6 4 9 8 CS646: Software Design and Architectures

Derivation of pseudo-code begin open sort stream; read a [PartNumber, CreditDebit, Amount] transaction; write heading; loop while not end-of-sort-stream set NetMovement to zero; loop while same-part-number if (CreditDebit = ‘debit’) then Subtract Amount from NetMovement else Add Amount to NetMovemen; end loop; write a net movement line; close sort stream; terminate program; end CS646: Software Design and Architectures

Complications Structure clashes: occur when points of commonality between input and output structure diagrams cannot be determined. A suggested solution is termed program inversion, and is essentially the decomposition of the process into two processes. The need for lookahead. E.g., processing any element of a sequence of items depends on all items being error free. Solution is to employ backtracking. CS646: Software Design and Architectures

JSD: Overall process A process model for both analysis and design. Overall process can be described by an ESD (i.e., entity structure diagram). JSD procedure network stage initial model phase adding information functions interaction modeling implementation elaboration entity analysis process timing and synchronization CS646: Software Design and Architectures

JSD: Overall process (cont’d) Results of each stage and phase: Entity analysis: a collection of ESDs. Initial model phase: an SSD and additional ESDs. Adding interactive functions: a modified SSD and additional ESDs. Adding information functions: a modified SSD and additional ESDs. Process timing and synchronization: a modified SSD, additional ESDs and timing constraints. Implementation stage: pseudo-code for ESDs, process packaging, etc. CS646: Software Design and Architectures

JSD: SSDs versus DFDs sort by part number inventory data generate report manager transactions (ordered by part number) net movement inventory data manager SV generate report sort by part number 1 2 CS646: Software Design and Architectures

JSD: SSDs versus DFDs (cont’d) process SV State vectors are “owned” by a single process. A “rough merge” can be specified for input streams. consumer process producer process 1 1 process 2 2 CS646: Software Design and Architectures