Building System Models for RE

Slides:



Advertisements
Similar presentations
Nested state diagrams:Problems with flat state diagram
Advertisements

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.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
SE 555 Software Requirements & Specification 1 Activity Diagrams.
Chapter 8: Modelling Interactions and Behaviour
System behaviors: state machine diagrams
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Advanced Behavioral Modeling
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Software Design Processes and Management
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
Chapter 10 State Machine Diagrams
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
UML Notations in CommonKADS Activity diagrams State diagrams Class diagrams Use-case diagrams.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Guide to State Transition Diagram. 2 Contents  What is state transition diagram?  When is state transition diagram used?  What are state transition.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Sequence & Statechart Diagrams Month Day, Year. Agenda Training Plan Overview Actors and Use Case Diagrams Sequence Diagrams Diagram Elements Evolution.
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML Notations in CommonKADS Activity diagrams State diagrams Class diagrams Use-case diagrams.
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
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, Fourth Edition
States.
CS3773 Software Engineering Lecture 06 UML State Machines.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 26. Review UML behavioral Diagrams – Sequence diagram.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Chapter 3: Introducing the UML
2/25/2016COSC , Lecture 191 Real-Time Systems, COSC , Lecture 19 Stefan Andrei.
Test Generation from UML Specifications Michael A. Gray American University Washington, DC.
® IBM Software Group © 2009 IBM Corporation Module 11: Creating State Machine Diagrams Essentials of Modeling with IBM Rational Software Architect V7.5.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
Engineering, 7th edition. Chapter 8 Slide 1 System models.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Advanced UML State Diagrams.
Identifying & Creating Use Cases – Part 2
CMPE 280 Web UI Design and Development August 29 Class Meeting
State Machine Model.
State Diagram – Advanced Concepts
State Machine Diagram.
State Machine Diagrams
Unified Modeling Language
Concurrency/synchronization using UML state models
Static and Dynamic Modeling Using UML
State Machine Diagrams
Abstract descriptions of systems whose requirements are being analysed
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
UML Activity Diagrams.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
UML State machine diagram
States.
Advanced State Chart diagrams
Object Oriented Analysis and Design
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Chapter 5 state Modeling
Dynamic Modeling Lecture # 37.
States.
CHAPTER 2 Object-Oriented Modeling Using UML (Continued)
Engineering Quality Software
Identifying & Creating Use Cases - Part 3
UML State Diagrams (Ch. 29)
Presentation transcript:

Building System Models for RE Chapter 13 Modeling System Operations

Modeling Instance Behaviors Scenarios as UML Sequence Diagrams

Modeling Instance Behaviors Scenarios as UML Sequence Diagrams

Scenario Refinement Episodes Agent Decomposition Illustrate sub-goals Consider coarse-grained agent first, then refine May involve coarse-grained interactions, rather than pure events. May span successive states (macro-events)

Modeling Class Behaviors State machines (SM) complement scenarios: Make state info explicit Capture behavior of agent of any instance, not just a specific instance Capture all admissible sequences

Modeling Class Behaviors 2 Types of State variables: Snapshot State Possible value for xi SM State Some variable always has the same value regardless of other differing state variable values 2 SM Event Types: External – SM does not control Internal – Controlled by agent associated with SM

Modeling Class Behaviors State Machines as UML Diagrams

Modeling Class Behaviors State Machines as UML Diagrams Transitions labeled by events fire if an event occurs Transitions with no labels fire automatically

Modeling Class Behaviors Guarded Transitions Captures necessary conditions for firing Without an event label -> trigger condition

Modeling Class Behaviors Actions Auxiliary operation applied when transitions fire Used to prescribe operations to be applied in specific circumstances I.e. acquisition of knowledge, display of information to/from the environment, acknowledgement, etc.

Modeling Class Behaviors Event Notifications Allow transition between diagrams Event is notified from producing diagram to consuming diagram Entry/Exit Actions Entry: action has to be applied when entering a state Exit: Action has to be applied when leaving the state * different from pre/post conditions, designates timing

Examples/Tips

Examples/Tips

State Machine Refinement: Sequential and Concurrent Sub-States Sequential Decomposition: decompose SM into sub-states by new transitions Recursive Instance modeled is in super-state iff it is one and only one sub-state Incoming transition to super-state is inherited by every sub-state as an incoming transition Except when non-deterministic

State Machine Refinement: Sequential and Concurrent Sub-States Parallel Decomposition SM decomposed into concurrent sub-states Requires KxN states rather than K^n due to concurrency Models concurrent behavior of agent controlling multiple states in parallel The instance modeled by the state diagram is in the super-state iff it is each concurrent sub-state. Incoming transitions to super-state are inherited to all substates Outgoing tranistion from super-state is inherited by every substate If the outgoing transition has no event or guard label, it is fired when all implicit outgoing transitions have been fired. If the outgoing transition has a guard/event label, it is fired when the event occurs provided the guard is true, forcing exit from all concurrent sub-states.

State Machine Refinement: Sequential and Concurrent Sub-States Guidelines: For each sub-diagram, insert a initial sub-state and a final sub-state for those that reach the desired state. Structure diagrams: do not connect a sequential sub-state of a concurrent state to sequential sub-state of other concurrent states or outer super-states. Check after decomposition to maintain synchronization. Make sure guards, events, etc. line up.

Building Behavior Models Goals capture functional and non-functional aspects have AND/OR structures Pros: Support reasoning in early RE, provide conflict management, threat analysis, evaluation of alternatives, responsibility assignment, animation, requirements doc. generation. Cons: Viewed as too abstract, behaviors left implicit, hard to elicit, hard to make precise. See p. 464, table 13.1

Building Behavior Models Scenarios informal, narrative. Pros: easy for stakeholders to understand, provide acceptance tests for free. Cons: inherently partial, cover few behaviors of specific instances, require large# of scenarios. See p. 464, table 13.1

Building Behavior Models State Machines Visual abstractions of explicit behaviors. Pros: can be formally verified, yield counterexamples when problems are encountered, good basis for code generation Cons: too operational too early in the RE process, difficult to build, too implicit. See p. 464, table 13.1