UML Activity Diagrams.

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
System Sequence Diagrams
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
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
SE 555 Software Requirements & Specification 1 Activity Diagrams.
SwE 313 Case Study Registration System.
Close Registration Brief Description
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Activity Diagrams Derived from several techniques: Event diagrams of Jim Odell SDL state modeling techniques Workflow modeling Petri nets Especially useful.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Lecture.
SE-565 Software System Requirements More UML Diagrams.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Software Engineering EKT 420. What is Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions.
Activity Diagram.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Activity diagrams. Introduction ● Activity diagrams are a behavioural model that represent the dynamics of the system. ● An activity diagram is essentially.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 19 – Activity Diagrams.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
A Student Guide to Object-Oriented Development
Systems Analysis and Design in a Changing World, Fourth Edition
Essentials of Visual Modeling w/ UML Instructor Notes
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
UML Activity Diagrams.
Chapter 3: Introducing the UML
Activity Diagramming by Andrzej Rosolski Stanisław Gliniewicz.
Software Engineering: Models David Millard
UML Activity and Sequence Diagrams David Millard
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Identifying & Creating Use Cases – Part 2
Analysis Classes Unit 5.
Activity Diagrams.
Chapter 4: Business Process and Functional Modeling, continued
Business Models Modeling.
Activity Diagram.
Activity and State Transition Diagram
Activity Diagram.
Visit for more Learning Resources
Activity Diagrams.
Business System Development
Princess Nourah bint Abdulrahman University
UML Activity Diagrams & State Charts
Use Case Modeling - techniques for detailing use cases
Week 12: Activity & Sequence Diagrams
Activity Diagrams.
BPMN - Business Process Modeling Notations
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Identifying & Creating Use Cases - Part 3
Appendix 3 Object-Oriented Analysis and Design
Behavioral Diagrams P. P. Mahale
Chapter 14. Activity Modeling for Transformational Systems
Presentation transcript:

UML Activity Diagrams

What Is an Activity Diagram? An activity diagram in the use-case model can be used to capture the activities and actions performed in a use case. It is essentially a flow chart, showing flow of control from one activity or action to another. The goal of this section is to introduce the students to the concept of an activity diagram. You are not expected to teach them everything about this diagram at this time. Activity diagrams can also be used to model the workings of an operation, an object, business modeling, or anything that involves modeling the sequential steps in a computational process. This course focuses on using activity diagrams to model the flow of events in a use case. Flow of Events This use case starts when the Registrar requests that the system close registration. 1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress. 2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it. Activity 2 The workflow of a use case describes that which needs to be done by the system to provide the value the served actor is looking for. It consists of a sequence of activities and actions that together produce something for the actor. The workflow often consists of a basic flow and one or several alternative flows. The structure of the workflow can be described graphically with the help of an activity diagram. Activity 1 Activity 3

Example: Activity Diagram Initial / Start Decision Walk the students through the activity diagram and explain each component (decision, fork, join, and so on). Activity/Action Select Course Concurrent Threads [ delete course ] Delete Course [ add course ] Synchronization Bar (Fork) Guard Condition Check Schedule Check Pre-requisites Synchronization Bar (Join) [ checks completed ] [ checks failed ] An activity diagram may include the following elements: Activity/Action represents the performance of a step within the workflow. Transitions show the activity/action that follows. Decisions evaluate conditions defined by guard conditions. These guard conditions determine which of the alternative transitions will be made and, thus, which activities are performed. You may also use the decision icon to show where the threads merge again. Decisions and guard conditions allow you to show alternative threads in the workflow of a use case. Synchronization bars show parallel sub-flows. They allow you to show concurrent threads in the workflow of a use case. Assign to Course Resolve Conflicts Transition Update Schedule Merge Final / Termination

Activity Diagrams Summary of Notation: Action/Activity state – Action states cannot be decomposed, Activity states may be (UML 1.5 - as of UML 2.0 replaced with Activity frames) Transition – control flow; a transition is triggered upon completion of some activity Decision/Merge point – standard if-else style logic; also supports iteration. Guard conditions indicated in brackets in each transition. Object node – may be (typically not) included to show where an object’s state may change. Synchronization bar – supports fork/join semantics for concurrent processing Swimlanes – partition by responsibility, not thread label Label [state]

Activity Diagram Action Decision Fork Join Flow A step in the flow of events Figure from IBM Decision Flows split based on a guard condition Fork Beginning of concurrent flows Join End of concurrent flow Activities describe graphically the flow of events of a use case. The flow of events consists of a sequence of activities that together produce something of value for the actor. The flow of events consists of a basic flow and one or several alternative flows. Actions: Represent the performance of an activity or step within the flow of events. Flow/Edge: Show what activity state follows after another. Decision/Merge Control which flow (of a set of alternative flows) follows once the activity has been completed, based on a guard condition. Decisions are used to show alternative threads in the flow of events of a use case. Forks/Joins: Show the beginnings and ends of parallel subflows. Forks and joins are used to show concurrent threads in the flow of events of a use case. Flow Show the sequence of activities

Mapping Who does What to Whom Examples so far show us what actions happen But “WHO” does each action and “WHEN”? Swimlanes Partition activities according to who does them Who can be actors, system components, whatever When is indicated top-to-bottom (like a sequence diagram) or left-to-right To Whom? Activity diagrams can show relationships to objects that are affected by actions

Example by Bau Yoon Teck

How do you derive Swimlanes? Swimlanes add an analysis step You are assigning a responsibility to an actor Note we did not say to an object - to an actor How to do? Technique: Return to your scenarios Outline format the steps based on who does them PA selects “Check Out” System renders summary PA enters credit card PA selects “Submit” System asks 3rd party verify 3rd party verifies System confirms for PA PA selects “Check Out” System renders summary PA enters credit card PA selects “Submit” System asks 3rd party verify 3rd party verifies System confirms for PA

What Role do Objects Play? We think of UML as OO, but rarely do we see an Object on an Activity diagram Activity diagrams are for flow modeling Object behaviors are typically modeled using an UML Statechart But yes objects can be shown: Do if it is important to show critical object state changes or dataflow in the activity diagram context!

Example: Activity Diagram w/ Objects Objects! (should really use [] for state) Example from http://www.uml-diagrams.org/activity-diagrams-examples.html

Activity Diagram Summary Pros: Map use case scenarios directly on to actions Most intuitive for most procedural programmers Includes constructs concurrency and task assignment Includes constructs for top down decomposition (activity frames) Cons: Some confusion of the relationship between activity diagrams and statecharts Some changes in terminology from 1.5 to 2.0 Relatively poor tool support Recommendation: Useful early in analysis, after use cases but before interaction diagrams