Structured Analysis and Structured Design

Similar documents
Software Modeling & Analysis. - Introduction to SASD - Structured Analysis. Lecturer: JUNBEOM YOO

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

System Analysis & design

SE 1: Software Requirements Specification and Analysis

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

Structured Analysis and Design

Chapter : Analysis Modeling

Overview. What is system analysis and design? Tools and models Methodologies

Lecture 34 SDLC Phases and UML Diagrams

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

06. Analysis Modeling

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

Darshan Institute of Engineering & Technology for Diploma Studies

Functional Modeling with Data Flow Diagrams

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Managing Change and Complexity

UNIT II Requirements Analysis and Specification & Software Design

Software Development Methodologies

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

Lab # 1. Structuring System Requirements: Diagrams

Systems Analysis and Design in a Changing World, Fourth Edition

Lecture c, Process Mapping: Yourdon Notation for Data Flow Diagrams, covers Yourdon notation for data flow diagrams.

Topic : Object Oriented Design Principles

10조 이호진 이지 호

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

CHAPTER 19: Building a Preliminary Behavioral Model

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

Fundamentals of Health Workflow Process Analysis and Redesign

R.S. Pressman & Associates, Inc. For University Use Only

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Presenter: Dong hyun Park

SEEKING THE ACTUAL REASONS FOR THE "NEW PARADIGM" IN THE AREA OF IS ANALYSIS 2. GENERAL CHARACTERISTICS OF THE "STRUCTURED APPROACH" IN IS DEVELOPMENT

SIF8035. Events and System Requirements

Chapter 5 System modeling

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

Unit 1 Introduction to Software Engineering

What you can do: Use Transparency #10

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

JOURNAL OF OBJECT TECHNOLOGY

Applying Systems Thinking to MBSE

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Object-Oriented Systems Analysis and Design Using UML

History of object-oriented approaches

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d.

3rd Lecture Languages for information modeling

CHAPTER 5 GENERAL OOP CONCEPTS

Requests Charges. Librarian. University affiliated patrons students, faculty, staff. Media Center Staff

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Lecture 8: Use Case -Driven Design. Where UML fits in

5 Object Oriented Analysis

Introduction to System Design

17/03/2018. Meltem Özturan

Chapter 1: Programming Principles

Chapter 1: Principles of Programming and Software Engineering

Modelling as a Communication Tool: Introduction to Process Modelling. Modelling. Simplification in modelling. Representation in modelling

CS487 Midterm Exam Summer 2005

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Part 5. Verification and Validation

Software Architecture and Design I

Fundamentals of Health Workflow Process Analysis and Redesign

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

1: Specifying Requirements with Use Case Diagrams

Recalling the definition of design as set of models let's consider the modeling of some real software.

The Analysis and Design of the Object-oriented System Li Xin 1, a

Architectural Decomposition & Representations Reid Holmes

Design Concepts and Principles

A Tutorial on Agent Based Software Engineering

Requirements Analysis. SE 555 Software Requirements & Specification

Architectural Decomposition Reid Holmes

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

(Team Name) (Project Title) Software Design Document. Student Name (s):

Software Architectures. Lecture 6 (part 1)

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Lecture 05 ( ) High-Level Design with SysML. Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Unit-3 Software Design (Lecture Notes)

MCQS for Midterm cs504 Combined by Anees Ahmad

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam

Architectural Design

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Overview of Digital Design with Verilog HDL 1

Entity Relationship Modelling

Meltem Özturan

Patterns and Testing

PPSC Competitive Exam for the Post of System Analyst

Transcription:

Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr

References Modern Structured Analysis, Edward d Yourdon, 1989. Introduction to System Analysis and Design: a Structured Approach, Penny A. Kendall, 1996. Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002). Structured Analysis and Structured Design (SASD) - Class Presentaion http://pages.cpsc.ucalgary.ca/~jadalow/seng613/group/ Konkuk University 2

Structured Analysis Structured analysis is [Kendall 1996] a set of techniques and graphical tools that allow the analysts to develop a new kind of system specification that are easily understandable to the users. Analysts work primarily with their wits, pencil and paper. SASD Structured Analysis and Structured Design Konkuk University 3

History of SASD Developed in the late 1970s by DeMarco, Yourdon and Constantine after the emergence of structured programming. IBM incorporated SASD into their development cycle in the late 1970s and early 1980s. Yourdon published the book Modern Structured Analysis in 1989. The availability of CASE tools in 1990s enabled analysts to develop and modify the graphical SASD models. Konkuk University 4

Philosophy of SASD Analysts attempt to divide id large, complex problems into smaller, more easily handled ones. Divide and Conquer Top-Down approach Functional view of the problem Analysts use graphics to illustrate their ideas whenever possible. Analysts must keep a written record. Konkuk University 5

Philosophy of SASD The purpose of SASD is to develop a useful, high h quality information system that will meet the needs of the end user. [Yourdon 1989] Konkuk University 6

Goals of SASD Improve quality and reduce the risk of system failure. Establish concrete requirements specifications and complete requirements documentations. Focus on reliability, flexibility and maintainability of system. Konkuk University 7

Elements of SASD Essential Model Environmental Model Behavioral Model Implementation Model Konkuk University 8

Essential Model Model of what the system must do Not define how the system will accomplish its purpose. A combination of environmental and behavioral models Essential Model Environmental Model Behavioral Model Konkuk University 9

Environmental Model Defines the scope of the proposed system. Defines the boundary and interaction between the system and the outside world. Composed of Statement of purpose System Context diagram Event list Konkuk University 10

Behavioral Model Model of the internal behavior and data entities i of the system Models functional requirements. Composed of Data Dictionary Data Flow Diagram (DFD) Entity Relationship Diagram (ERD) Process Specification State Transition Diagram Konkuk University 11

Implementation Model Maps the functional requirements to hardware and software. Minimizes the cost of the development and maintenance. Determines which functions should be manual vs. automated. Can be used to discuss the cost-benefits of functionality with user/stakeholders. Defines the Human-Computer interface. Defines non-functional requirements. Composed of Structure Charts Konkuk University 12

SASD Process Activity Environmental Model Statement of Purpose System Context Diagram Event List Behavioral Model Data Dictionary ERD DFD Process Specification State Transition Diagram Implementation Model Structured Chart Time Konkuk University 13

Statement of Purpose A clear and concise textual description i of the purpose for the system to develop It should be deliberately vague. It is intended for top level management, user management and others who are not directly involved in the system. Konkuk University 14

Statement of Purpose RVC Example Robot Vacuum Cleaner (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while cleaning. - If its sensors found an obstacle, it stops cleaning, turns aside, and goes forward with cleaning. - If it detects dust, power up the cleaning for a while - We do not consider the detail design and implementation on HW controls. - We only focus on the automatic cleaning function. Konkuk University 15

System Context Diagram Highlights h the boundary between the system and outside world. Highlights the people, organizations and outside systems that interact with the system under development. A special case of DFD Konkuk University 16

System Context Diagram - Notation Process : represents the proposed system Terminator : represents the external entities Flow : represents the in/out data flows Konkuk University 17

System Context Diagram RVC Example Motor Sensor RVC Control Cleaner Konkuk University 18

Event List Ali list of the event/stimuli outside of the system to which hit must respond. Used to describe the context diagram in details. Types of events Flow-oriented event : triggered by incoming data Temporal event : triggered by internal clock Control event : triggered by an external unpredictable event Konkuk University 19

Event List RVC Example Input/ Output Event Description Front Sensor Input Left Sensor Input Right Sensor Input Dust Sensor Input Direction Clean Detects obstacles in front of the RVC Detects obstacles in the left side of the RVC periodically Detects obstacles in the right side of the RVC periodically Detects dust on the floor periodically Direction commands to the motor (go forward / turn left with an angle / turn right with an angle) Turn off / Turn on / Power-Up Context Diagram for RVC Konkuk University 20

System Context Diagram RVC Example Sensor Front Sensor Input Left Sensor Input Right Sensor Input Dust Sensor Input RVC Control Direction Motor Clean Cleaner Konkuk University 21

Data Flow Diagram (DFD) Provides a means for functional decomposition. i Composed of hierarchies(levels) of DFDs. Notation (A kind of CDFD) Data Process Data Flow Control Process Control Flow Terminator Data Store Konkuk University 22

DFD Level 0 RVC Example Front Sensor Front Sensor Input Direction Motor Left Sensor Right Sensor Left Sensor Input Right Sensor Input RVC Control 0 Clean Dust Sensor Dust Sensor Input Cleaner Tick Digital Clock Konkuk University 23

DFD Level 0 RVC Example (A kind of) Data Dictionary Input/ Output Event Description Format / Type Front Sensor Input Detects obstacles in front of the RVC True / False, Interrupt Left Sensor Input Detects obstacles in the left side of the RVC periodically True / False, Periodic Right Sensor Input Detects obstacles in the right side of the RVC periodically True / False, Periodic Dust Sensor Input Detects dust on the floor periodically True / False, Periodic Direction Direction commands to the motor (go forward / turn left with an angle / turn right with an angle) Forward / Left / Right / Stop Clean Turn off / Turn on / Power-Up On / Off / Up Konkuk University 24

DFD Level 1 RVC Example Front Sensor Input Direction Left Sensor Input Right Sensor Input Obstacle & Dust Detection 1 Obstacle & Dust Location Cleaner & Motor Control 2 Clean Dust Sensor Input Tick Konkuk University 25

DFD Level 2 RVC Example Front Sensor Input Front Sensor Interface 1.1 Front Obstacle Left Sensor Input Tick Left Sensor Interface 1.2 Left Obstacle Determine Obstacle Location 1.5 Obstacle Location Right Sensor Input Tick Dust Sensor Input Right Sensor Interface 1.3 Dust Sensor Interface 1.4 Right Obstacle Dust Existence Determine Dust Existence 1.6 Dust Existence Tick Konkuk University 26

DFD Level 2 RVC Example Obstacle Location Main Control 2.1 Motor Command Motor Interface 2.2 Direction Dust Existence Cleaner Command Cleaner Interface 2.3 Clean Tick Konkuk University 27

DFD Level 3 RVC Example Tick Enable Move Forward 212 2.1.2 Motor Command Obstacle Location Dust Existence Disable Controller Trigger 2.1.1 Turn Left 2.1.3 Tick Trigger Tick Motor Command Cleaner Command Turn Right 214 2.1.4 Motor Command Konkuk University 28

DFD Level 4 RVC Example State Transition Diagram for Controller 2.1.1 1 / Enable Move Forward, Cleaner Command (On) Tick [F &&!L] / Disable Move Forward, Cleaner Command (Off), Trigger Turn Left Move Forward Tick [F &&!R] / Disable Move Forward, Cleaner Command (Off), Trigger Turn Right Tick /Enable Move Forward, Cleaner Command (On) Tick /Enable Move Forward, Cleaner Command (On) Turn Left Turn Right Tick [F && L && R] / Disable Move Forward, Cleaner Command (Off), Many problems in this model: Stop 1. Stop state 2. Do not consider Dust 3. Konkuk University 29

DFD RVC Example Konkuk University 30

Process Specification Shows process details which h are implied but not shown in a DFD. Specifies the input, output, and algorithm of a module in a DFD. Normally written in pseudo-code or table format. Example Apply Payment For all payments If payment is to be applied today or earlier and has not yet been applied Read account Read amount Add amount to account s open to buy Add amount to account s balance Update payment as applied Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002) Konkuk University 31

Process Specification RVC Example Reference No. 1.2 Name Input Left Sensor Interface Left Sensor Input (+Data structure if possible), Tick Output t Left Obstacle (+Data structure) t Process Description Left Sensor Input process reads a analog value of the left sensor periodically, converts it into a digital value such as True/False, and assigns it into output variable Left Obstacle. Konkuk University 32

Data Dictionary Defines data elements to avoid different interpretations. i Not used widely in recent years. Example [Yourdon 1989] A: What s a name? B: Well, you know, it s just a name. It s what we call each other. A: Does that mean you can call them something different when you are angry or happy? B: No, of course not. A name is the same all the time. A: Now I understand. My name is 3.141592653. B: Oh your name is PI But that s a number, not a name. But what about your first and last name. Or, is your first name 3 and your last name 141592653? Konkuk University 33

Data Dictionary Notation = : is composed of + : and ( ) : optional element { } : iteration [ ] : selects one of the elements list : separation of elements choice ** : comments @ : identifier for a store (unique ID) Konkuk University 34

Data Dictionary Example Element Name = Card Number Definition = *Uniquely identifies a card* Alias = None Format = LD+LD+LD+LD+SP+LD+LD+LD+LD+SP+ LD+LD+LD+LD+SP+LD+LD+LD+LD SP = *Space* LD = {0-9} *Legal Digits* Range = 5191 0000 0000 0000 ~ 5191 9999 9999 9999 Konkuk University 35

Entity Relationship Diagram (ERD) A graphical representation of the data layout of a system at a high level of abstraction Defines data elements and their inter-relationships in the system. Similar with the class diagram in UML. Notation (Original) Associated Object Data Element Cardinality Exactly one Cardinality Zero or one Relationship Cardinality Mandatory Many Cardinality Optional Many Konkuk University 36

Entity Relationship Diagram - Example Konkuk University 37

State Transition Diagram Shows the time ordering between processes. More primitive than the Statechart diagram in UML. Different from the State transition diagram used in DFD. Not widely used. Notation Objects Transitions Konkuk University 38

State Transition Diagram - Example Konkuk University 39

Practice Complete the RVC analysis in more details. Consider the Dust. You may have several controller. Konkuk University 40

Structure Charts Structured Design (SD) Functional decomposition (Divide and Conquer) Information hiding Modularity Low coupling High internal cohesion Needs a transform analysis. Konkuk University 41

Structured Charts Transform Analysis Afferent Flow (Input) Central Transformation (Control) Efferent Flow (Output) Konkuk University 42

Structured Charts Transform Analysis Input Process Output (Afferent Flow) (Central Transformation) (Efferent Flow) Control Input Process Output Konkuk University 43

Structured Charts Notation Basic Notation [Yourdon 1989] Variations Modules Data module Library modules Module call Data Flow Asynchronous module call Iteration Decision Control Flow Konkuk University 44

Structured Charts - Example Zhou Qun, Kendra Hamilton, and Ibrahim Jadalowen (2002) Konkuk University 45

Structured Charts RVC Example (Basic) Main Controller Obstacle Location Dust Existence Determine Obstacle Location Determine Dust Existence Enable Disable Trigger Trigger Front Sensor Interface Left Sensor Interface Right Sensor Interface Dust Sensor Interface Move Forward Turn Left Turn Right Konkuk University 46

Structured Charts RVC Example (Advanced) Main Controller Obstacle Location Dust Existence Determine Obstacle Location Determine Dust Existence Enable Disable Trigger Trigger Front Sensor Interface Left Sensor Interface Right Sensor Interface Dust Sensor Interface Move Forward Turn Left Turn Right Konkuk University 47

Pros of SASD Has distinct i milestones, allowing easier project management tracking. Very visual easier for users/programmers to understand Makes good use of graphical tools Well known in industry A mature technique Process-oriented way is a natural way of thinking Flexible Provides a means of requirements validation Relatively simple and easy to read Konkuk University 48

Pros of SASD System Context Diagram Provides a black box overview of the system and the environment Event List Provides a guidance for functionality Provides a list of system inputs and outputs A means of requirements summarization Can be used to define test cases (as we will see soon.) Data Flow Diagram (DFD) Ability to represent data flows Functional decomposition (divide id and conquer) Konkuk University 49

Pros of SASD Data Dictionaryi Simplifies data requirements Used at high or low level analysis Entity Relationship Diagram (ERD) Commonly used and well understood A graphical tool, so easy to read by analysts Data objects and relationships are portrayed independently from the process Can be used to design database architecture Effective tool to communicate with DBAs Process Specification Expresses the process specifications in a form that can be verified Konkuk University 50

Pros of SASD State Transition i Diagrams Models real-time behavior of the processes in the DFD Structure Charts Modularity improves the system maintainability Provides a means for transition from analysis to design Provides a synchronous hierarchy of modules Konkuk University 51

Cons of SASD Ignores non-functional requirements. Minimal management involvement Non-iterative waterfall approach Not enough use-analysts interaction Does not provide a communication process with users. Hard to decide when to stop decomposing. Does not address stakeholders needs. Does not work well with Object-Oriented Oi programming languages. Konkuk University 52

Cons of SASD System Context Diagram Does not provide a specific means to determine the scope of the system. Event List Does not define all functionalities. Does not define specific mechanism for event interactions. Data Flow Diagram (DFD) Weak display of input/output t t details Confused for users to understand. Does not represent time. No implied sequencing Assigns data stores in the early analysis phase without much deliberation. Konkuk University 53

Cons of SASD Data Dictionaryi No functional details Formal language is confusing to users. Entity Relationship Diagram (ERD) May be confused for users due to its formal notation. Become complex in large systems. Structure Chart Does not work well for asynchronous processes such as networks. Could be too large to be effectively understood with larger programs. Konkuk University 54

Cons of SASD Process Specification i They may be too technical for users to understand. Difficult to stay away from the current How to implement. State Transition Diagram Explains what action causes a state change, but not when or how often. Konkuk University 55

When to use SASD? Well-known problem domains Contract projects where SRS should be specified in details Real-time systems Transaction processing systems Not appropriate when time to market is short. In recent years, SASD is widely used in developing real-time embedded systems. Konkuk University 56

SASD vs. OOAD Similaritiesil i i The both have started off from programming techniques. The both use graphical design and tools to analyze and model requirements. The both provide a systematic step-by-step process for developers. The both focus on the documentation of requirements. Differences SASD is process-oriented. OOAD is data(object)-oriented oriented. OOAD encapsulates as much of the system s data and processes into objects, While SASD separates them as possible as it can. Konkuk University 57

Class Questions What is your opinion i on? Does it reduce maintainability costs? Is it useful? Is it efficient? Is it appropriate for E-commerce(business) development? What is SASD s target domain? Konkuk University 58

Summary SASD is a process-driven di software analysis technique. SASD has a long history in the industry and it is very mature. It provides a good documentation for requirements. In recent years, it is widely used for developing real-time embedded system s software. SASD Konkuk University 59

Final Presentation (OOAD vs. SASD) English presentation Compare OOAD with SASD using your elevator controller team project. Pros and Cons of SASD and OOAD for developing elevator controllers respectively Your opinion and suggestion!!! Konkuk University 60