Similar documents
PROCESS USE CASES: USE CASES IDENTIFICATION

Pragmatic Use Case Writing

Specification of the Verity Learning Companion and Self-Assessment Tool

Generating Test Cases From Use Cases

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Visual CP Representation of Knowledge

An Industrial Technologist s Core Knowledge: Web-based Strategy for Defining Our Discipline

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Modeling user preferences and norms in context-aware systems

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

TRAINEESHIP TOOL MANUAL V2.1 VERSION April 1st 2017 * HOWEST.BE

Online Marking of Essay-type Assignments

TU-E2090 Research Assignment in Operations Management and Services

Ontologies vs. classification systems

Blackboard Communication Tools

LEARN TO PROGRAM, SECOND EDITION (THE FACETS OF RUBY SERIES) BY CHRIS PINE

The Political Engagement Activity Student Guide

Beyond the Blend: Optimizing the Use of your Learning Technologies. Bryan Chapman, Chapman Alliance

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Introducing New IT Project Management Practices - a Case Study

An Introduction to Simio for Beginners

Teaching Literacy Through Videos

Mapping the Assets of Your Community:

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

OFFICE SUPPORT SPECIALIST Technical Diploma

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Ericsson Wallet Platform (EWP) 3.0 Training Programs. Catalog of Course Descriptions

Writing Research Articles

Mathematics textbooks the link between the intended and the implemented curriculum? Monica Johansson Luleå University of Technology, Sweden

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

PESIT SOUTH CAMPUS 10CS71-OBJECT-ORIENTED MODELING AND DESIGN. Faculty: Mrs.Sumana Sinha No. Of Hours: 52. Outcomes

Shockwheat. Statistics 1, Activity 1

Using the CU*BASE Member Survey

TC The Power of Non Formal Education 2014

A Study of the Effectiveness of Using PER-Based Reforms in a Summer Setting

EOSC Governance Development Forum 4 May 2017 Per Öster

Operational Knowledge Management: a way to manage competence

KIS MYP Humanities Research Journal

Learning to Think Mathematically with the Rekenrek Supplemental Activities

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

School: Business Course Number: ACCT603 General Accounting and Business Concepts Credit Hours: 3 hours Length of Course: 8 weeks Prerequisite: None

Notetaking Directions

School Leadership Rubrics

GRAPHIC DESIGN TECHNOLOGY Associate in Applied Science: 91 Credit Hours

Introduction to Moodle

Clerical Skills Level II

UML MODELLING OF DIGITAL FORENSIC PROCESS MODELS (DFPMs)

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

The University of British Columbia Board of Governors

Data Structures and Algorithms

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

Schoology Getting Started Guide for Teachers

Major Milestones, Team Activities, and Individual Deliverables

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Training Catalogue for ACOs Global Learning Services V1.2. amadeus.com

Marketing Management

Alignment of Australian Curriculum Year Levels to the Scope and Sequence of Math-U-See Program

Case study Norway case 1

Project title: Ecological, what else? Sustainable schools on the fast lane in Europe! Final evaluation report. 2nd Dicember 2014.

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

Grade 6: Correlated to AGS Basic Math Skills

IST 649: Human Interaction with Computers

Android App Development for Beginners

Bittinger, M. L., Ellenbogen, D. J., & Johnson, B. L. (2012). Prealgebra (6th ed.). Boston, MA: Addison-Wesley.

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

On the Combined Behavior of Autonomous Resource Management Agents

Appendix L: Online Testing Highlights and Script

Paper 2. Mathematics test. Calculator allowed. First name. Last name. School KEY STAGE TIER

School Inspection in Hesse/Germany

Evaluation of Respondus LockDown Browser Online Training Program. Angela Wilson EDTECH August 4 th, 2013

State Parental Involvement Plan

How to make successful presentations in English Part 2

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Radius STEM Readiness TM

Diagnostic Test. Middle School Mathematics

COMMUNITY ENGAGEMENT

Teaching Tornado. From Communication Models to Releases. Stephan Krusche. Department of Computer Science, Technische Universitaet Muenchen

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

Biome I Can Statements

Data Modeling and Databases II Entity-Relationship (ER) Model. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Evaluation Report Output 01: Best practices analysis and exhibition

ACCOUNTING FOR MANAGERS BU-5190-OL Syllabus

Characteristics of Functions

Assessment. the international training and education center on hiv. Continued on page 4

Identifying Novice Difficulties in Object Oriented Design

The Wegwiezer. A case study on using video conferencing in a rural area

MTH 141 Calculus 1 Syllabus Spring 2017

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

COURSE SYLLABUS: CPSC6142 SYSTEM SIMULATION-SPRING 2015

UNIT ONE Tools of Algebra

White Paper. The Art of Learning

Houghton Mifflin Online Assessment System Walkthrough Guide

Change Your Life. Change The World.

Ascension Health LMS. SumTotal 8.2 SP3. SumTotal 8.2 Changes Guide. Ascension

Transcription:

Page 1 of 12 Skip to main content Country/region [ select ] All of dw Search Home Business solutions IT services Products Support & downloads My IBM developerworks In this article: Basic Activity Diagram Notation Advanced Notation Conditional Threads Nested Activity Diagrams Partitions Documenting Business Use Cases Documenting Business Use-Case Realizations Just for Business Modeling? Summary References Resources About the author Rate this page developerworks > Rational > Activity Diagrams: What They Are and How to Use Them Level: Introductory Maria Ericsson, Principal Consultant, IBM 22 Apr 2004 from The Rational Edge: Typically used for business process modeling, activity diagrams are also useful for system modeling. This article shows how to use them for both purposes within Rational Unified Process. From The Rational Edge. In its basic form, an activity diagram is a simple and intuitive illustration of what happens in a workflow, what activities can be done in parallel, and whether there are alternative paths through the workflow. Activity diagrams as defined in the Unified Modeling Language 1 are derived from various techniques to visually illustrate workflows; see, for example, Johansson et al. 2. And much of the basis for the Document options Print this page E-mail this page Rate this page Help us improve this content

Page 2 of 12 definition of the activity diagram notation is found in Martin and Odell. 3. Related links Rational technical library The Rational Edge In the Rational Unified Process 4, we talk about how you can use activity diagrams to visualize the workflow of a business use case. A complete workflow description will have a basic flow, and one or several alternative flows. This workflow has a structure that we can define textually, using informal if, if-then-else, or do-until statements of various kinds. For a simple workflow with a simple structure, such textual definitions may be quite sufficient, but in the case of more complex structures, activity diagrams help to clarify and make more apparent what the workflow is. Historically, activity diagramming techniques have mostly been used in the business process modeling domain, but this article will also briefly discuss how you can use it in the system modeling domain. The purpose of this article is to show how you can use activity diagrams within the Rational Unified Process for business modeling as well as system modeling. Activity diagrams are often mentioned almost as a synonym to business modeling. For a more complete introduction to what business modeling is we refer to Kruchten, 5 and for details to Jacobson et al. 6. The reader of this article is assumed to be familiar with the basics of the Unified Modeling Language (UML). Basic Activity Diagram Notation As is common for most notations, the activity diagram notation has some elements that are necessary for you to understand if you want to be "conversant" about activity diagrams. Those elements are presented in this section. The next section talks about additional goodies you may find useful. Figure 1 shows a basic activity diagram. Figure 1: An Activity Diagram for the Business Use Case Individual Check-In in the Business Use-Case Model of Airport Check-in Activity states, which represent the performance of a step within the workflow. Transitions that show what activity state follows after another. This type of transition can be referred to as a completion transition. It differs

Page 3 of 12 from a transition in that it does not require an explicit trigger event; it is triggered by the completion of the activity that the activity state represents. Decisions for which a set of guard conditions are defined. These guard conditions control which transition of a set of alternative transitions follows once the activity has been completed. 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 business use case. Synchronization bars, which you can use to show parallel subflows. Synchronization bars allow you to show concurrent threads in the workflow of a business use case. Advanced Notation Conditional threads Nested activity diagrams Partitions In more complex examples, you would often make use of the following constructs: Conditional Threads Guard conditions can be used to show that one of a set of concurrent threads is conditional. For example, in the individual check-in example from Figure 2, the passenger checking in might be a frequent flyer member. In that case, you need to award the passenger frequent flyer miles.

Page 4 of 12 Figure 2: Awarding Frequent Flyer Miles: a Conditional Thread in the Individual Check-In Workflow Nested Activity Diagrams An activity state may reference another activity diagram, which shows the internal structure of the activity state. Another way to say this is that you can have nested activity graphs. You can either show the sub-graph inside of the activity state (Figure 3), or let the activity state refer to another diagram (Figure 4). Figure 3: A Nested Activity Graph Shown Within an Activity State

Page 5 of 12 Figure 4: Alternative: Put the Sub-Graph in a Separate Diagram and Let the Activity State Refer to It Showing the sub-graph inside the activity state is convenient if you want to see all details of the workflow in the same diagram. But if there is any level of complexity presented in the workflow, this can make the diagram hard to read. To simplify the workflow graph, you may instead choose to put the sub-graph in a separate diagram, and let the activity state sub-graph details refer to that diagram. Partitions The contents of an activity diagram may be organized into partitions (swimlanes) using solid vertical lines. A partition does not have a formal semantic interpretation, but is, in business modeling, often used to represent an organizational unit of some kind (Figure 5).

Page 6 of 12 Figure 5: An Activity Diagram Illustrating the Workflow of a Business Use Case that Represents a (Generic) Sales Process. In this example, the partitions represent departments in the organization. Documenting Business Use Cases Background: A business use-case model describes the processes of a business and their interactions with external parties like customers and partners. The processes of the business are represented as business use cases, and the external parties are represented as business actors. Describing a business use case includes, among other things, giving it a name, a brief description, defining its performance goals, and its workflow. The most time-important and time-consuming aspect to describe is the workflow. Which comes first, the activity diagram or the textual description of the workflow? This is somewhat dependent on how you are used to working, and whether you "think graphically" or not. Some prefer to outline the structure visually in a diagram first, and then develop the details in the text. Others start with a bulleted list of the activity states first, and agree on those (like a step-by-step outline to the use case), then define the structure using a diagram. A valid question is also whether you really need both the textual document and the diagram. The activity diagram technique allows you to write

Page 7 of 12 brief descriptions of each activity state, which should make the textual specification of the workflow obsolete. Here, you need to be sensitive to your audience and the format in which they expect the specification. To understand what an activity diagram adds to the understanding of a workflow, we present a sample workflow description, and then an activity diagram for that workflow (Figure 6). This example is a proposal process, taken from an organization that sells telecom network solutions, individually configured to each customer. We have simplified the example by removing the detailed text in most of the subsections, but tried to keep enough so you can understand the structure of the workflow. The full text of this example can be found in The Rational Unified Process, version 5.1.1. Figure 6: An Activity Diagram for the Business Use Case Proposal Process Sample Basic Workflow for the Business Use Case Proposal Process (Figure 6)* 1.1 Initial Contact This process starts with an initial contact between the customer and the company. This may happen in one of the following ways: 1.2. Initial Opportunity Work 1.2.1 Gather Preliminary Customer Requirements 1.2.2 Create Sales Plan (optional) 1.2.3 Perform Opportunity Analysis 1.3. Create Proposal Project Plan 1.4. Create Delivery Project Plan 1.5. Prepare a Quote

Page 8 of 12 1.6. Compile Additional Information 1.7. Analyze and Finalize the Proposal 1.8. Present the Proposal 1.9. Obtain Customer Decision Alternative Workflows 2.1 Business Opportunity Rejected If, in 1.2., it turns out the business opportunity is rejected, the following actions may be taken: 2.2 Unable to Meet Customer Requirements If, in Perform Opportunity Analysis or Prepare a Quote, the company is unable to suggest a solution to the customer requirements, then the following actions may happen: 2.3 Critical Information Not Known If at any point in the Proposal Process the company identifies some critical information not known or available then it does one of the following: 2.4. New/Incomplete or Incorrect General Customer Profile If the company determines that the general customer profile is inaccurate for some reason, the following actions may be taken. *(See the Rational Unified Process, v.5.1.1, for more detail.) An activity diagram for the workflow is shown in Figure 6. We use basic notation only in this diagram. Activity states correspond to sections in the workflow description: The activity state "Initial opportunity work" consists of three sub-steps that can be done in parallel. This is illustrated in a sub-graph to this activity state. See Figure 7.

Page 9 of 12 Figure 7: Sub-Diagram to the Activity State 'Initial Opportunity Work.' Creating a sales plan is optional, which is indicated by a guard condition on the incoming transition. An activity state can represent a fairly large procedure (with substructure), as well as something relatively small. If you are using activity diagrams to define the structure of a workflow, you should not attempt to explore several levels of activity graphs down to their most "atomic" level. This will most probably make the diagram (or set of diagrams, if you are using separate sub-graphs) very hard to interpret. You should aim at having one diagram that outlines the whole workflow, where a few of the activity states have sub-graphs. Documenting Business Use-Case Realizations Background: A business use-case realization describes how a particular business use case is realized within the business object model, in terms of collaborating business workers and business entities. A business worker represents a set of responsibilities typically carried by one individual. A business entity represents a "thing" that is created, managed, or used. The realization of a business use case can be described textually, but is more commonly explained with diagrams -- collaboration diagrams, sequence diagrams, activity diagrams, or a combination. Which diagram type you choose depends on the complexity of the workflow and where you are in the process. You are using the activity diagram to document business use-case realizations, rather than business use cases, if you are using partitions and the partitions are coupled to classes (business workers mainly) in the business object model (Figure 8). Compared to a sequence diagram, which could be perceived to have a similar purpose, an activity diagram with partitions focuses on how you divide responsibilities onto classes, while the sequence diagram helps you understand how objects interact and in what sequence. Activity diagrams give focus to the workflow, while sequence diagrams give focus to the handling of business entities. Activity diagrams and sequence diagrams could be used as complementary techniques, where a sequence diagram shows what happens in an activity state. Figure 8: The Same Workflow Presented in Figure 6, But with Activities Organized in Partitions Just for Business Modeling?

Page 10 of 12 Background: The use-case model is a model of a system's intended behaviors. A use case tells the story of how a user (represented as an actor in the model) can use the system to achieve a particular purpose. Describing a use case includes giving it a name, a brief description, and defining the flow of events of the use case. Just as you would use an activity diagram to show the structure of a workflow, you could also use it to show the structure of a flow of events of a system use case (Figure 9). Figure 9: A Simplified Activity Diagram for the Use Case "Withdraw Money" in the Use-Case Model of an Automated Teller Machine (ATM) In the first stages of identifying objects and classes based on the use cases (use-case analysis), activity diagrams can be useful when exploring responsibilities of analysis classes. You might use the activity diagram technique to draw a first sketch of class responsibilities, a sketch that you then throw away. Summary This article has given you an overview of: Basic and advanced elements of the activity diagram notation. Basic elements of activity diagrams are activity states, transitions, decisions, and synchronization bars. How activity diagrams allow you to show concurrent threads, and alternative threads, as well as conditional threads in a workflow. How you can use activity diagrams in business modeling. You can illustrate the workflow of a business use case. You can describe how a business use case is realized by business workers and business entities. How you can use activity diagrams in system modeling. You can illustrate the flow of events of a use case. You can define how a use case is realized by analysis classes.

Page 11 of 12 References 1. OMG UML Specification. 2. H. Johansson, P. McHugh, J. Pendlebury, and W. Wheeler, III, Business Process Reengineering. Breakpoint Strategies for Market Dominance. John Wiley and Sons, 1993. 3. J. Martin and J. Odell, Object Oriented Methods: a Foundation, the UML Edition. Prentice Hall, 1996. 4. Rational Unified Process, version 5.1.1 5. Philippe Kruchten, The Rational Unified Process: An Introduction. Addison-Wesley, 1998. 6. Ivar Jacobson, Maria Ericsson, and Agneta Jacobson, The Object Advantage: Business Process Reengineering with Object Technology. Addison-Wesley, 1994. *NOTE: This article was originally published on Rational Developer Network, the learning and support channel for the Rational customer community. Rational Developer Network is now available to all Rational customers. If you are a customer and have not already registered for your free membership, please go to www.rational.net. Resources A new forum has been created specifically for Rational Edge articles, so now you can share your thoughts about this or other articles in the current issue or our archives. Read what your colleagues the world over have to say, generate your own discussion, or join discussions in progress. Begin by clicking HERE. Global Rational User Group Community About the author Maria Ericsson is a principal consultant for IBM Rational's Strategic Services Organization (SSO). She started working in the field of software engineering and object technology in 1990 at Objectory AB, and co-authored Ivar Jacobson's book, The Object Advantage: Business Process Re-engineering with Object Technology. Since joining Rational in 1995, she has worked as a mentor and trainer in process, business modeling, and requirements management, and also spent three years as a member of the Rational Unified Process, or RUP, development team. As part of the SSO, she currently focuses on solution deployment strategies and serves on the IBM Rational field training team. A resident of Sweden, she is based in the Kista office.

Page 12 of 12 Rate this page Please take a moment to complete this form to help us better serve you. Did the information help you to achieve your goal? Yes No Don't know Please provide us with comments to help improve this page: How useful is the information? Not useful 1 2 3 4 5 Extremely useful About IBM Privacy Contact Terms of use