Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)

Slides:



Advertisements
Similar presentations
System Sequence Diagrams
Advertisements

ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
1 Behavioral Modeling Chapter 8. 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes.
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Chapter 6: Behavioral Modeling
Introduction to Software Engineering 7. Modeling Behaviour.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
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.
Interaction Diagrams Activity Diagram State Machine Diagram
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
1 UML Component and Deployment Diagrams. Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario.
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Chapter 7: The Object-Oriented Approach to Requirements
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
State Diagrams / System Sequence Diagrams (SSDs)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
Behavioral Modeling: Sequence and Communication Diagrams Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2005 Pearson Education Copyright © 2009 Kannan.
Behavioral Modeling Chapter 8.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 An Introduction to UML Interaction (Sequence and Communication) Diagrams Georgia State University CIS 3300 Spring, 2009.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Drawing System Sequence Diagrams
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Behavioral Modeling Chapter 8
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 5: Interaction Diagrams.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Chapter 7 Behavioral Modeling Brandon A. Jones Stand and Deliver ITEC March 6, 2011.
1 Object Oriented Analysis and Design System Events & Contracts.
1 Case Study and Use Cases for Case Study Lecture # 28.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
1 Systems Analysis and Design Behavioral Modeling Chapter 8 (Last one before the Midterm!)
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design with UML Version 2.0, Second Edition
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Main issues: • What do we want to build • How do we write this down
Dynamic Modeling of Banking System Case Study - I
Dynamic Modeling of Banking System Case Study - II
Object-Orientated Analysis, Design and Programming
Sequence Diagrams.
Sequence Diagrams Lecture 6.
Unified Modeling Language
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Unified Modelling Language
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)

Dynamic Modeling Addresses the dynamic, or behavioral, aspects of a system. – Both Inter- and Intra- object interactions are considered. Intra-object Statecharts. Inter-object Interaction Diagrams Produces a Dynamic Model

Dynamic Model Includes: – Interaction Diagrams Collaboration Diagrams Sequence Diagrams – Message Sequence Description – Statechart Diagrams (if needed)

Overview of Dynamic Modeling Review of Interaction Modeling – What the different types of interaction diagrams look like – How to choose which to use. How to perform Dynamic Analysis in COMET – Determining which objects to include in the dynamic model. – Comparison of state vs. non-state oriented dynamic analysis.

Object Interaction Modeling Objects and Messages are represented on an Interaction Diagram – Objects are instances of classes – Messages consist Events coupled with the data that accompanies them, or their attributes. message = event (attributes) e.g.: ATM Card Inserted (Card ID, Expiration Date) – Messages represent data passed from one object to another. – Messages may or may not trigger actions

Collaboration Diagrams Collaboration diagrams depict messages going from one object to another. Messages should have sequence numbers to indicate order.

Sequence Diagrams Sequence Diagrams capture time sequence of interactions between objects. Because the diagram depicts the time sequence, message sequence numbers are not necessary, but my be included. Note that the lifelines are dashed – we do not determine object lifecycles in the analysis modeling phase.

Collaboration vs. Squence Only one or the other is needed. COMET prescribes a slight preference for collaboration diagrams. – An important part of design modeling is synthesizing the collaboration diagrams – hence collaboration diagrams must be created for all sequence diagrams anyways. During the analysis modeling, COMET emphasizes capturing the information passed from one object to another, rather than the action taken when a message arrives.

What Interaction Diagrams Show Scenarios of Use Cases – A Scenario is a particular path through a Use Case. – Alternative paths may be selected based on conditions. Generic interaction diagrams show all scenarios. Instance interaction diagrams show a single scenario.

Message Labels Message labels take the following form: – sequence expression: message name (attributes) – Sequence Expressions may include: Message Sequence Number Recurrence – Iteration – Condition – Attributes are arguments, data, or parameters sent with the message e.g.: 2.6 [Valid]: Valid PIN

Message Sequence Numbering Message sequence numbers in COMET consist of: – [first optional letter sequence] [numeric sequence] [second optional letter sequence] e.g.: – A1 – 1a – Use1.3invalid

Message Labeling (example)

Message Sequence Description The message sequence description is a narrative describing the interactions on an interaction diagram. Typically used to provide additional information that is not easy or appropriate to represent on the interaction diagrams.

Dynamic Analysis Determines how analysis model objects interact with each other. Begins with a Use Case – The sequence of internal interactions started by external inputs defined in a Use Case are “followed” through the system to eventual system output. Is Iterative. – First objects associated with a use case are identified. – Then their interactions are considered and re- considered.

Non-State Dependent Dynamic Analysis 1.Determine interface object(s). 2.Determine internal objects. 3.Determine object collaboration. 4.Consider alternative sequences.

Non-State Dependent Dynamic Analysis (example) Use Case Name: View Workstation Status Actor: Factory Operator Summary: Factory operator views the status of one or more workstations Precondition: Factory operator is logged in. Description: Factory operator requests view of the status of one or more factory workstations. The request may be made on demand, or by subscription to receive notification of status changes. Alternatives: Factory workstation is down. Warning message is displayed. Postcondition: Workstation status has been displayed.

Non-State Dependent Dynamic Analysis (example, cont)

State-Dependant Dynamic Analysis 1.Determine Objects and Interactions. 1.Determine the interface object(s). 2.Determine the state-dependant control object(s). 3.Determine other internal objects. 4.Determine object collaboration. 2.Execute the Statechart. 3.Consider Alternative Sequences.

Executing the Statechart 1.For each state transition caused by a message, determine all the actions that result from the change in state and the objects that execute the identified actions and activities. 2.For each triggered or enabled object, determine the messages generated and their destinations. 3.Show the determined internal and external messages on both the statechart and the interaction diagram.

State-Dependant Dynamic Analysis (banking example) Determine the main sequence:

State-Dependant Dynamic Analysis (banking example, cont) Execute the statechart

State-Dependant Dynamic Analysis (banking example) Determine Alternative Sequences

State-Dependant Dynamic Analysis (banking example) Refine the statechart to include alternative sequences.

Summary Dynamic Analysis determines how objects interact to accomplish Use Cases. The Dynamic Model consists of: – Interaction Diagrams (Collaboration or Sequence) – Statechart Diagrams (if necessary) – Message Sequence Descriptions

Summary (cont) Dynamic Analysis can be state or non-state dependent. Dynamic Analysis consists of: – Determining external and internal objects. – Determining object collaborations. – Considering alternative sequences.