University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 1 Lecture 15: Structured Modeling Methods Basics of Structured.

Slides:



Advertisements
Similar presentations
BIS 360 – Lecture Seven Process Modeling (Chapter 8)
Advertisements

Johnb DFDs and Design John Bell The DeMarco notation.
1 York University Department of Computer Science © , Steve Easterbrook Entity Relationship Diagrams Actor Entity Attribute Relationship Key Cast.
IFS310: Week 3 BIS310: Structured Analysis and Design 5/4/2015 Process Modeling and Data Flow Diagrams.
Chapter 7 Structuring System Process Requirements
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 7 Structuring System Process Requirements
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
Chapter 4 Enterprise Modeling.
Chapter 4.
Systems Analysis and Design 9th Edition
CA228 Software Specification1 Three Main Viewpoints of the Structured Systems Analysis Approach Process/functional view: Data flow diagrams Data structures:
Sylnovie Merchant, Ph.D. MIS 160 Section 2 Spring 2004 Lecture 9: Structured Systems Development MIS 160 Systems Development Life Cycle I.
Jump to first page Chapter 2 System Analysis - Process Modeling.
Software Engineering: Analysis and Design - CSE3308
Lesson-22 Process Modeling(2)
Analysis Modeling Instructor: Dr. Jerry Gao. Analysis Modeling Jerry Gao, Ph.D. Jan Elements of the analysis model - Data modeling - Functional.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
Modern Systems Analysis and Design
Data and Process Modeling
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Structuring.
Systems Analysis and Design. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance.
© Copyright 2011 John Wiley & Sons, Inc.
Chapter 4.
Process Modelling Using Data Flow Diagrams - Building and Levelling Them; Process Modelling Using Function Decomposition CSE Information Systems.
Process Modeling and Data Flow Diagrams
DATA FLOW DIAGRAMS IT 155.
Process Modeling SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Data and Process Modeling.  Describe data and process modeling, and name the main data and process modeling techniques.
Chapter 7 Structuring System Process Requirements
6 Systems Analysis and Design in a Changing World, Fourth Edition.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
Chapter 6: The Traditional Approach to Requirements
staffs.ac.uk Process Model. staffs.ac.uk Contents Provide definitions Explain the components and representations Introduce a step.
Chapter 8 Structuring System Requirements: Process Modeling
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 1: Data Flow Diagram Structuring System Process Requirements
Chapter 6 The Traditional Approach to Requirements
Data flow diagrams.
Data and Process Modeling
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Phase 2: Systems Analysis
The Structured Specification. Why a Structured Specification? System analyst communicates the user requirements to the designer with a document called.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 8 Structuring.
Chapter 7 Structuring System Process Requirements
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec13 1 Lecture 13: Representing software designs Viewpoints Structural.
University of Toronto Department of Computer Science CSC444 Lec05- 1 Lecture 5: Decomposition and Abstraction Decomposition When to decompose Identifying.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 DFD examples 1 context diagram shows system and all external entity interfaces example.
Elements of Software Analysis and Design - Structured Approaches - Structured Analysis - Functional Oriented Design 10/24/2015ICS 413 – Software Engineering1.
System Analysis: Case Study. System Analysis Overview It is one of the most important phases of the whole system development. Generally, the whole process.
SYSTEMS ANALYSIS AND DESIGN TOOLS DATA FLOW DIAGRAMS.
Chapter 4 enterprise modeling
Modern Systems Analysis and Design Fifth Edition
Systems Analysis and Design 8th Edition
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 data dictionaries 1 what to document? all diagram (with title blocks) data dictionary.
Systems Analysis and Design 8th Edition
Data Flow Diagram, Data Dictionary, and Process Specification PART I
6 Systems Analysis and Design in a Changing World, Fourth Edition.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
- 1 - SW 분석 기법 개론 ( 구조적 분석 기법 ) 정 인 상정 인 Data Flow Diagram (DFD)  Graphical representation of functional modeling  In analysis, provide representation.
Data Flow Diagram : Developed By Larry Constantine as a way of expressing system requirements in graphical Form: Data Flow Models (DFMs) are easy to understand.
Business Processes A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Tools Of Structured Analysis
Business System Development
Chapter 1: Data Flow Diagram Structuring System Process Requirements
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Presentation transcript:

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 1 Lecture 15: Structured Modeling Methods Basics of Structured Analysis Notations used Modeling Process Variants SADT SASS SSADM SRD Advantages and Disadvantages

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 2 Structured Analysis 2. Current logical system 1. Current physical system 3. New logical system 4. New physical system Abstract (essential functions) Concrete (detailed model) indicative (existing system) optative (new system) Definition Structured Analysis is a data-oriented approach to conceptual modeling Common feature is the centrality of the dataflow diagram Mainly used for information systems variants have been adapted for real-time systems Modeling process: Model of current physical system only useful as basis for the logical model Distinction between indicative and optative models is very important: Must understand which requirements are needed to continue current functionality, and which are new with the updated system

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 3 Central Concepts Process (data transformation)  activities that transform data  related by dataflows to other processes, data store, and external entities. Data flow  indicate passage of data from output of one entitie to input of another  represent a data group or data element Data store  a place where data is held for later use  Data stores are passive: no transformations are performed on the data External entity  An activity outside the target system  Acts as source or destination for dataflows that cross the system boundary  External entities cannot interact directly with data stores Data group  A cluster of data represented as a single dataflow  Consists of lower level data groups, or individual elements Data element  a basic unit of data Source: Adapted from Svoboda, 1990, p257

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 4 Modeling tools Data flow diagram Context diagram (“Level 0”) whole system as a single process Intermediate level DFDs decompose each process Functional primitives are processes that cannot be decomposed further Data dictionary Defines each data element and data group Use of BNF to define structure of data groups Primitive Process Specification Each functional primitive has a “mini-spec” These define its essential procedural steps Expressed in English narrative, or some form of pseudo-code Structured Walkthrough Source: Adapted from Svoboda, 1990, p

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 5 Level n: subprocesses 3.1 request res log 3.3. track booking system Request id. timestamps booking confirmation booking request preferences Level n: subprocesses 3.1 request res log 3.3. track booking system Request id. timestamps booking confirmation booking request preferences Level 2: subprocesses 3.1 request reser- vations 3.2. confirm booking 3.3. collate confirm- ations booking system Req id. seat data booking confirmation booking request seating prefs Hierarchies of DFDs ticket system booking system customer tickets booking confirmation booking request customer query Level 0: Context Diagram check schedule issue tickets Proposed itinerary booked itinerary booking request 1. determine form of travel 2. check schedule 3. reserve seats 4. issue tickets Timetables Fare tables customer booking system customer travel request customer query schedule proposed itinerary proposed itinerary booked itinerary fares tickets booking confirmation booking request Level 1: Whole System

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 6 Data Dictionary & Process Specs Example Data Dictionary Mailing Label = customer_name + customer_address customer_name = customer_last_name + customer_first_name + customer_middle_initial customer_address = local_address + community_address + zip_code local_address = house_number + street_name + (apt_number) community address = city_name + [state_name | province_name] Example Data Dictionary Mailing Label = customer_name + customer_address customer_name = customer_last_name + customer_first_name + customer_middle_initial customer_address = local_address + community_address + zip_code local_address = house_number + street_name + (apt_number) community address = city_name + [state_name | province_name] Source: Adapted from Svoboda, 1990, p262-4 Example Mini-Spec FOR EACH Shipped-order-detail GET customer-name + customer- address FOR EACH part-shipped GET retail-price MULTIPLY retail-price by quantity-shipped TO OBTAIN total-this-order CALCULATE shipping-and-handling ADD shipping-and-handling TO total-this-order TO OBTAIN total-this-invoice PRINT invoice Example Mini-Spec FOR EACH Shipped-order-detail GET customer-name + customer- address FOR EACH part-shipped GET retail-price MULTIPLY retail-price by quantity-shipped TO OBTAIN total-this-order CALCULATE shipping-and-handling ADD shipping-and-handling TO total-this-order TO OBTAIN total-this-invoice PRINT invoice

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 7 DFD variants Activity Incoming data Performing mechanism Control data Transformed data Name ID Name ID Name ID Source: Adapted from Svoboda, 1990, p264-5 Structured Analysis and Design Technique (SADT) Developed by Doug Ross in the mid-70’s Uses activity diagrams rather than dataflow diagrams Distinguishes control data from processing data Structured Analysis and System Specification (SASS) Developed by Yourdon and DeMarco in the mid-70’s ‘classic’ structured analysis Structured System Analysis (SSA) Developed by Gane and Sarson Notational style slightly different from Yourdon & DeMarco Adds data access diagrams to describe contents of data stores Structured Requirements Definition (SRD) Developed by Ken Orr in the mid-70’s Introduces the idea of building separate models for each perspective and then merging them

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 8 SASS methodology 1. Study current environment draw DFD to show how data flows through current organization label bubbles with names of organizational units or individuals 2. Derive logical equivalents replace names with action verbs merge bubbles that show the same logical function delete bubbles that don’t transform data 3. Model new logical system Modify current logical DFD to show how info will flow once new system is in place Don’t distinguish (yet) which components will be automated 4. Define a number of automation alternatives document each as a physical DFD Analyze each with cost/benefit trade-off Select one for implementation Write the specification Source: Adapted from Davis, 1990, p83-86

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 9 Alternative Process Model: SRD 1. Define a user-level DFD interview each relevant individual in the current organization actually a role, rather than an individual Identify the inputs and outputs for that individual Draw an ‘entity diagram’ showing these inputs and outputs 2. Define a combined user-level DFD Merge all alike bubbles to create a single diagram Resolve inconsistencies between perspective 3. Define the application-level DFD Draw the system boundary on the combined user-level DFD Then collapse everything within the boundary into a single process 4. Define the application-level functions label the inputs and outputs to show the order of processing for each function I.e. for function A, label the flows that take part in A as A1, A2, A3,... Source: Adapted from Davis, 1990, p72-75

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 10 Later developments Later work recognized that: development of both current physical and current logical models is overkill top down development doesn’t always work well for complex systems entity-relationship diagrams are useful for capturing complex data Structured Analysis / Real Time (SA/RT) Developed by Ward and Mellor in the mid-80’s Extends structured analysis for real-time systems Adds control flow, state diagrams, and entity-relationship models Modern Structured Analysis Captured by Yourdon in his 1989 book Uses two models: the environmental model and the behavioral model together these comprise the essential model Includes plenty of advice culled from many years experience with structured analysis

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 11 Real-time extensions Control line conditions 3.1 material inlet 3.3 Controlling tension 3.4 Monitor Tension 3.5 Report line status 3.2 Tension settings table Enable Disable Line tension Line status Tension inlet control Current tension Current gauge Line tension Tension off Tension ok Inlet control Source: Adapted from Svoboda, 1990, p269 name ID name Control Transfor- mation Control flow (continuous) Control Store Control flow (discrete) KEY

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 12 Evaluation of SA techniques Advantages Facilitate communication. Notations are easy to learn, and don’t require software expertise Clear definition of system boundary Use of abstraction and partitioning Automated tool support e.g. CASE tools provide automated consistency checking Disadvantages Little use of projection even SRD’s ‘perspectives’ are not really projection Confusion between modeling the problem and modeling the solution most of these techniques arose as design techniques These approaches model the system, but not its application domain Timing & control issues are completely invisible although extensions such as Ward-Mellor attempt to address this Source: Adapted from Davis, 1990, p174

University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec15 13 References van Vliet, H. “Software Engineering: Principles and Practice (2nd Edition)” Wiley, In common with many authors, van Vliet does not separate structured analysis from structured design. This makes sense because the two are intended to be used together. Section gives a nice overview of the whole process, based on Yourdon’s notations (SASS & descendents). He also gives a good introduction to SADT in section Section Svoboda, C. P. “Structured Analysis”. In Thayer, R. H and Dorfman, M. (eds.) “Software Requirements Engineering, Second Edition”. IEEE Computer Society Press, 1997, p Excellent overview of the history of structured analysis, and a comparison of the variants Davis, A. M. “Software Requirements: Analysis and Specification”. Prentice-Hall, This is probably the best textbook around on requirements analysis, although is a little dated now.