STD -- Development & Testing Procedures - Page L16-1 MEF-OOM&A-L16-1 Dr. M.E. Fayad Lesson 16: STD -- Development & Testing Procedures Object- Oriented.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Nested state diagrams:Problems with flat state diagram
Behavioral Modeling: State Diagrams CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons,
UML State chart/machine diagram State machine diagram is a behavior diagram which shows discrete behavior of a part of designed system through finite state.
Using Data Flow Diagrams
Using Dataflow Diagrams
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
More on Dynamic Models - Page L14-1 Full 2002M.E. Fayad Lesson 14: More about Dynamic Models Object- Oriented Modeling & Applications.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Dillon: CSE470:DYN & FUNC MODELLING1 Dynamic Model l Show the temporal order of operations l Control model »Show the sequence of operations that occur.
Using Dataflow Diagrams
Chapter 7 Using Data Flow Diagrams
Advanced Topics in Behavior Analysis - Page L15-1 Full 2002Dr. M.E. Fayad Lesson 15: Advanced Topics in Behavior Analysis Object- Oriented Modeling & Application.
Advanced Topics in Behavior Analysis - Page L15-1 MEF-OOM&A-L15-1 Dr. M.E. Fayad Lesson 15: Advanced Topics in Behavior Analysis Object- Oriented Modeling.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L26-S1 Interactions 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
State Machine Diagrams (State Chart in UML 1) Specifying Control (ref: Chapter 11 Bennett, Mc Robb and Farmer)
Chapter 9 Using Data Flow Diagrams
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Process Modeling SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED. 1 Roberta M. Roth.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Chapter 10 State Machine Diagrams
Systems Analysis and Design in a Changing World, Fifth Edition
Business Process Management. Key Definitions Process model A formal way of representing how a business operates Illustrates the activities that are performed.
Real-Time Systems time dependent control oriented driven by events rather than data.
Data Flow Diagram A method used to analyze a system in a structured way Used during: Analysis stage: to describe the current system Design stage: to describe.
Chapter 7 Using Data Flow Diagrams
Fall 2010 CS4310 Requirements Engineering UML: Dynamic Modeling Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Systems Analysis and Design in a Changing World, 6th Edition
Behavioral diagrams Lecture p4 T120B pavasario sem.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
1 State Modeling  Events  States  Transitions and Conditions  State Diagrams  State Diagram Behavior  Practical Tips.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Writing and Editing Modular Documentation: Some Best Practices Yoel Strimling (Comverse) Based on a joint presentation with Michelle Corbin (IBM) at the.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Tips.  Your system should be robust and easy to use.  Display meaningful text, mention units & assumptions (maybe as a tool-tip).  Use meaningful error.
Density Demos Density Objective: Observe that density is a physical property of matter by predicting behaviors of substances.
State Modeling. Events An event is an occurrence at a point in time, such as user depresses left button or.
States.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 26. Review UML behavioral Diagrams – Sequence diagram.
 Engineering Quality Software.  Today o State Diagrams Jerry Kotuba SYST30009-Engineering Quality Software 2.
Chapter 3: Introducing the UML
Dynamic Models - Page L M.E. Fayad Lesson 30: Dynamic Models Object- Oriented Modeling & Application s.
State Machine Diagram Chapter 5 Introduction Pages
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
York University Department of Computer Science © Castro, Mylopoulos and Easterbrook Lecture 11: Modelling “State”  What is State?  statespace.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
DATA REQIREMENT ANALYSIS
State Machine Diagrams
Business System Development
States.
Object Oriented System Design
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
States.
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Appendix 3 Object-Oriented Analysis and Design
UML State Diagrams (Ch. 29)
Presentation transcript:

STD -- Development & Testing Procedures - Page L16-1 MEF-OOM&A-L16-1 Dr. M.E. Fayad Lesson 16: STD -- Development & Testing Procedures Object- Oriented Modeling & Applications

STD -- Development & Testing Procedures - Page L16-2 MEF-OOM&A-L16-2 Dr. M.E. Fayad Lesson Objectives oUnderstand STD development procedures oUnderstand some of the common errors that are made in constructing STDs oList and discuss some practical tips about dynamic modeling

STD -- Development & Testing Procedures - Page L16-3 MEF-OOM&A-L16-3 Dr. M.E. Fayad STD Development Procedures Identify external events from the Context Diagrams –A discrete data item arrives –A required time passed –A recognition device signals an event Use scenarios Identify state from DFDs Add Idle state to the list of states

STD -- Development & Testing Procedures - Page L16-4 MEF-OOM&A-L16-4 Dr. M.E. Fayad STD Development Procedures (con’d) Combine states and events into a STD Identify actions that need to be performed after each event Identify states that split into substates Use an action table to check for missing states and events Walkthrough the STD with users to verify it

STD -- Development & Testing Procedures - Page L16-5 MEF-OOM&A-L16-5 Dr. M.E. Fayad Testing a STD Five clues 1. No transition out of a state 2. No transition into a state 3. The STD is too complicated 4. Ambiguous or unclear event names 5. Events with continuous instead of discrete signals

STD -- Development & Testing Procedures - Page L16-6 MEF-OOM&A-L16-6 Dr. M.E. Fayad No Transition Out of a State Clue # 1: No transition out of a state Cause: An event & transition line have been omitted Cure: Identify the event and add the transition Start Stop Idle State Heating Cooling Cold Enable Heat Warm Disable Heat Hot Enable Cooling Start Stop Idle State Heating Cooling Cold Enable Heat Warm Disable Heat Hot Enable Cooling OK Disable Cooling A STD in which the Cooling state has no exit

STD -- Development & Testing Procedures - Page L16-7 MEF-OOM&A-L16-7 Dr. M.E. Fayad No Transition Into a State Clue # 2: No transition into a state Cause: An event & transition line have been omitted Cure: Identify the event and add the transition A STD with no way to get into the Cooling state Start Stop Idle State Heating Cooling Cold Enable Heat Warm Disable Heat Cold Enable Heat Start Stop Idle State Heating Cooling Cold Enable Heat Warm Disable Heat Cold Enable Heat Hot Enable Cool

STD -- Development & Testing Procedures - Page L16-8 MEF-OOM&A-L16-8 Dr. M.E. Fayad The STD is Too Complicated Clue # 3: The STD is too complicated. Cause: The STD should be redrawn in multiple levels Cure: Identify independent group of states and give them a group name Each group can then be redrawn in detail on separate diagrams Such leveling reduces the complexity of the diagrams and make easier for the reader to identify the different processes that are being controlled.

STD -- Development & Testing Procedures - Page L16-9 MEF-OOM&A-L16-9 Dr. M.E. Fayad The STD is Too Complicated (cont’d) Start Stop Idle State Gas Heating Electric Heating Cold Enable Gas Cold Enable Gas Refrigeration Adding Base Adding Acid Cold or Cool Enable Electric Cool Disable Gas OK Disable Electric Hot Enable Refrig’n Cold oe Cool Disable Refrig’n Hot Disable Electric Enable Refrig’n Acid Enable Base OK Disable Base OK Disable Acid Basic Enable Acid

STD -- Development & Testing Procedures - Page L16-10 MEF-OOM&A-L16-10 Dr. M.E. Fayad The STD is Too Complicated (cont’d) Start Stop Idle State Control Temperature Wrong Temperature Enable Control Control pH Temperature OK Disable Control Wrong pH Enable pH Control pH OK Disable pH Control This STD combines two control functions that should be separated and leveled. Control Temperature and Control pH can then be zoomed separately

STD -- Development & Testing Procedures - Page L16-11 MEF-OOM&A-L16-11 Dr. M.E. Fayad Ambiguous or Unclear Event Names Clue # 4: Ambiguous or unclear event names Cause: Not identified Cure: Identify all the events and include them in the STD Start Stop Idle State Signal Processing Signal Arrives Process Signal Finished End Processing Signal Arrives and Finished are not clearly defined events Start Stop Idle State Heating Cooling Cold Enable Heat Warm Disable Heat Cold Enable Heat Hot Enable Cool

STD -- Development & Testing Procedures - Page L16-12 MEF-OOM&A-L16-12 Dr. M.E. Fayad Events with Continuous Instead of Discrete Signals Clue # 5: Events with continuous instead of discrete signals Cause: A signal is not an event. It is a raw data stream. Cure: Extract the events triggered by special data values Start Stop Idle State Control Temperature Temperature Control Control pH Temperature Disable Control pH Control pH pH Enable Idle

STD -- Development & Testing Procedures - Page L16-13 MEF-OOM&A-L16-13 Dr. M.E. Fayad Events with Continuous Instead of Discrete Signals (cont’d) Start Stop Idle State Control Temperature Wrong Temperature Enable Control Control pH Temperature OK Disable Control Wrong pH Enable pH Control pH OK Disable pH Control Temperature and pH are not events. They are continuous data streams.

STD -- Development & Testing Procedures - Page L16-14 MEF-OOM&A-L16-14 Dr. M.E. Fayad Practical Tips Only construct STDs for classes with meaningful dynamic behavior. –Not all classes require a STD. Check the various STDs for consistency on shared events so that the full dynamic model will be accurate. –Check for redundancy Use scenarios to help you construct STDs Distinguish between activities and actions. –Activities occur over a period of time. –Actions are instantaneous compared to the time scale of an application. Distinguish between events and conditions

STD -- Development & Testing Procedures - Page L16-15 MEF-OOM&A-L16-15 Dr. M.E. Fayad Practical Tips Use nested states when the same transaction applies to many states Most concurrency arises from object aggregation and need not be expressed explicitly in the STD. –Use composite states to show independent facets of the behavior of a single object Try to make the STDs of subclasses independent of the STDs of their superclasses. –The subclass STDs should concentrate on things unique to the subclasses. Beware of unwanted race conditions in the STDs –Race conditions may occur when a state can accept events from more than one object.

STD -- Development & Testing Procedures - Page L16-16 MEF-OOM&A-L16-16 Dr. M.E. Fayad Define nested states and race conditions describe how to construct a STD. Discussion Questions