1 CS 426 Senior Projects Chapter 14: Activity Diagrams [Arlow and Neustadt, 2005] February 17, 2009.

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 6 State Machine and Activity Diagrams (Based on Stevens and Pooley (2006,
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.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
UML Activity Diagrams In UML an activity diagram is used to display the sequence of actions They show the workflow from start to finish Detail the many.
1 CS 426 Senior Projects Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] February 12, 2009.
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
SE 555 Software Requirements & Specification 1 Activity Diagrams.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2002] February 13, 2007.
1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007.
1 CS 426 Senior Projects Chapter 7: Classes and Objects & Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2002] February 14, 2006.
Essentials of interaction diagrams Lecture 23 & 24.
1 CS 426 Senior Projects Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2002] February 27, 2007.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 CS/CPE 426 Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 24, 2009.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] February 14, 2008.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Lecture.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Software Engineering EKT 420. What is Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
UML A CTIVITY D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
1 Interaction diagrams and activity diagrams Speaker: 陳 奕 全 Real-time and Embedded System Lab 15 August 2002.
Valdis Vitolins, Audris Kalnins, EDOC 2005 Semantics of UML 2.0 Activity Diagram for Business Modeling by Means of Virtual Machine.
Conceptual Modelling – Behaviour
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part VI: Design Continuous Activity Diagams State Diagrams.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
UML Activity Diagrams.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Procedural Activity Patrick Bailey Keith Vander Linden Calvin College.
UML ACTIVITY DIAGRAM 1. Recap Formal Use Case diagram UML notation for use cases Examples 2.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Cliquez pour modifier le style du titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
Analysis Classes Unit 5.
Activity Diagrams.
UML Diagrams By Daniel Damaris Novarianto S..
Activity Diagram.
Activity and State Transition Diagram
Activity Diagram.
UML Diagrams Jung Woo.
State Machine Diagrams
Activity Diagrams.
CS 426 Senior Projects Chapter 9: Relationships
UML Activity Diagrams & State Charts
CS/CPE 426 Senior Projects
Chapter 14: Activity Diagrams
Activity Diagrams.
CS/CPE 426 Senior Projects
Activity diagram It supports visual representation of sequences of actions that target a certain result. May be built for one or many use cases or for.
Chapter 14: Activity Diagrams
Chapter 14: Activity Diagrams
CS 791Z State Machines & Advanced State Machines
Behavioral Diagrams P. P. Mahale
Presentation transcript:

1 CS 426 Senior Projects Chapter 14: Activity Diagrams [Arlow and Neustadt, 2005] February 17, 2009

2 Outline Activity diagrams: Introduction Activities Nodes Action nodes Control nodes Object nodes Activity parameters Pins

3 Introduction Chapter roadmap Chapter roadmap

4 Introduction Activity diagrams: Activity diagrams: A form of “OO flowcharts” A form of “OO flowcharts” In UML 1 they were special cases of state machines; in UML 2 they have completely new semantics, based on Petri Nets. Advantages: In UML 1 they were special cases of state machines; in UML 2 they have completely new semantics, based on Petri Nets. Advantages: Greater flexibility to model different types of flow Greater flexibility to model different types of flow Clear distinction between activity diagrams and state machines Clear distinction between activity diagrams and state machines Attached to modeling elements to describe behavior Attached to modeling elements to describe behavior Typically attached to use cases, classes, components, interfaces, collaborations, and operations Typically attached to use cases, classes, components, interfaces, collaborations, and operations Can be used also to model business processes and workflows Can be used also to model business processes and workflows

5 Introduction Commonly used in: Commonly used in: Analysis: Analysis: To model the flow of a use case To model the flow of a use case To model the flow between use cases To model the flow between use cases Design: Design: To model the details of an operation To model the details of an operation To model the details of an algorithm To model the details of an algorithm Business modeling: Business modeling: To model a business process To model a business process As always in modeling, it is important to keep them simple if possible, and understandable by the intended audience As always in modeling, it is important to keep them simple if possible, and understandable by the intended audience

6 Activities Activity diagrams are networks of nodes connected by edges Activity diagrams are networks of nodes connected by edges Nodes: Nodes: Action nodes – units of work that are atomic within the activity Action nodes – units of work that are atomic within the activity Control nodes – control the flow through the activity Control nodes – control the flow through the activity Object nodes – represent objects used in the activity Object nodes – represent objects used in the activity Edges: Edges: Control flows – represent the flow of control through activity Control flows – represent the flow of control through activity Object flows – represent the flow of objects through activity Object flows – represent the flow of objects through activity

7 Activities Activities and actions can have preconditions and postconditions Activities and actions can have preconditions and postconditions Tokens (part of semantics, but not shown graphically) flow around the network and can represent: Tokens (part of semantics, but not shown graphically) flow around the network and can represent: The flow of control The flow of control An object An object Some data Some data A token moves from a source node to a target node across an edge depending on: A token moves from a source node to a target node across an edge depending on: Source node postconditions Source node postconditions Edge guard conditions Edge guard conditions Target node postconditions Target node postconditions

8 Activities Example of an activity (Send letter), Fig [Arlow & Neustadt 2005] Example of an activity (Send letter), Fig [Arlow & Neustadt 2005]

9 Activities Activity diagrams can model use cases as a series of actions. Example: Fig and Fig [Arlow & Neustadt 2005] Activity diagrams can model use cases as a series of actions. Example: Fig and Fig [Arlow & Neustadt 2005]

10 Activities Activity diagrams have semantics based on Petri Nets (more on tehm can be found at Activity diagrams have semantics based on Petri Nets (more on tehm can be found at They model behavior using the token game They model behavior using the token game Tokens are moved through the network subject to conditions (see more on tokens on slide 7) Tokens are moved through the network subject to conditions (see more on tokens on slide 7) Object nodes represent objects flowing around the system Object nodes represent objects flowing around the system Example of flow of control token, Fig [Arlow & Neustadt 2005] Example of flow of control token, Fig [Arlow & Neustadt 2005]

11 Activities Activity diagrams can be divided in partitions (swimlanes) using vertical, horizontal or curved lines. Partitions may be hierarchically nested. Example, Fig [Arlow & Neustadt 2005] Activity diagrams can be divided in partitions (swimlanes) using vertical, horizontal or curved lines. Partitions may be hierarchically nested. Example, Fig [Arlow & Neustadt 2005]

12 Activities Partition hierarchies need to be organized along a dimension, Partition hierarchies need to be organized along a dimension, Fig and Fig [Arlow & Neustadt 2005]

13 Action nodes Action nodes execute when: Action nodes execute when: There is a token simultaneously on each of their input edges AND There is a token simultaneously on each of their input edges AND The input tokens satisfy all the action node local preconditions The input tokens satisfy all the action node local preconditions

14 Action nodes After execution, the local postconditions are checked; if all are satisfied, the node simultaneously offers tokens to all of its output edges (this is an implicit fork that may give rise to many flows). After execution, the local postconditions are checked; if all are satisfied, the node simultaneously offers tokens to all of its output edges (this is an implicit fork that may give rise to many flows). Naming convention, Fig [Arlow & Neustadt 2005] Naming convention, Fig [Arlow & Neustadt 2005]

15 Action nodes Types of action nodes, Table 14.1 [Arlow & Neustadt 2005] Types of action nodes, Table 14.1 [Arlow & Neustadt 2005]

16 Action nodes: Call action nodes A call action nodes invokes an activity, behavior, or operation, Fig [Arlow & Neustadt 2005] A call action nodes invokes an activity, behavior, or operation, Fig [Arlow & Neustadt 2005]

17 Action nodes: Accept time event action nodes An accept time event action node responds to time, Fig and Fig [Arlow & Neustadt 2005] An accept time event action node responds to time, Fig and Fig [Arlow & Neustadt 2005]

18 Control Nodes Control nodes manage the flow of control within an activity, Table 14.2 [Arlow & Neustadt 2005] Control nodes manage the flow of control within an activity, Table 14.2 [Arlow & Neustadt 2005]

19 Control Nodes Examples of decision & merge nodes, Fig and Fig [Arlow & Neustadt 2005] Examples of decision & merge nodes, Fig and Fig [Arlow & Neustadt 2005]

20 Control Nodes Examples of join & fork nodes, Fig [Arlow & Neustadt 2005] Examples of join & fork nodes, Fig [Arlow & Neustadt 2005]

21 Object nodes Object nodes indicate that instances of a particular classifier are available at a specific point in the activity Object nodes indicate that instances of a particular classifier are available at a specific point in the activity They are labelled with the name of the classifier and represent instances of that classier or its subclasses They are labelled with the name of the classifier and represent instances of that classier or its subclasses Their input and output edges are object flows Their input and output edges are object flows The object flows are special types of flows that describe movement of objects within the activity The object flows are special types of flows that describe movement of objects within the activity The objects are created and consumed by action nodes The objects are created and consumed by action nodes When an object node received an object token on one of its input edges, it offers this token to all of its output edges, and these objects compete for the token. The first edge that accepts the token gets it. When an object node received an object token on one of its input edges, it offers this token to all of its output edges, and these objects compete for the token. The first edge that accepts the token gets it.

22 Object nodes Object node notation & their buffer semantics Figs , 20, and 21 [Arlow & Neustadt 2005]. Object nodes act as buffers – places in the activity diagram where object tokens can reside while waiting to be accepted by other nodes (via edges).

23 Object nodes Examples of using object nodes: Figs and [Arlow & Neustadt 2005]. Note that object nodes can represent objects in particular states.

24 Activity parameters Activities can have object nodes to provide inputs and outputs: Fig [Arlow & Neustadt 2005].

25 Pins Pins can be used to simplify activity diagrams that use many object nodes A pin is an object node that represents one input to or output from an action node. Figs and [Arlow & Neustadt 2005].