Activity Diagrams for Use Cases

A business process that is modeled by "use cases" should be translated into a system process that is visualized through "activity diagrams".  Connecting use cases to their supporting activity diagrams is a useful way to switch between business and system domains.  This is an approach that explains not only What the system will do but also How it will do it.

When designing a new service, my first task is to capture the numerous abstract ideas on paper.  More specifically, I use a modeling tool to identify the individuals and systems (e.g. the Who) that will be interacting and their usage scenarios (e.g. the What).  In UML terms, the individuals are called "actors" and usage scenarios are called "use cases".

Example: User Login and Registration

Registration and login are an example of a universal usage scenario, as almost all web sites have a business requirement for a user to create an account before they can log in.  How a user registers and logs in, in other words the system's behavior, can differ greatly.  Registration can require the user to complete a long application form, submit just an email address, or use a central authentication system such as OpenID.  These are all system-specific means to achieve the same business requirement.Use Case Example

The use case diagram above shows that user registration and login will be part of the design. It does not explain how this will be achieved.

Mapping Use Cases to Activity Diagrams

While the use case "Visitor Creates an Account" provides enough information to understand the system's design, more details must be provided before development can begin. An activity diagram provides a simple, flow-chart way to specify the missing details.  An excerpt from a "visitor registration" activity diagram shows this missing detail.

Activity Example

This activity diagram is segmented into "swim lanes" showing the activity on the web browser and network-based, web server.  The dotted box represents the activity for the "Visitor Creates an Account" use case, allowing a software developer to visualize what is actually meant by the use case.

Implementing Use Case Mapping

One way to implement this mapping is presented by an article from Enterprise Architect, Mapping Use Cases.

The EA modeling tools sometimes gets in the way of simplicity, as in this case.  For simpler use cases and activity diagrams, I would just create an activity model inside a use case diagram on the EA "project browser"

February 19th, 2013 Posted by Jon Jaroker Filed in: UML

Be the first to comment. Leave a comment

Your email address will not be published. Required fields are marked *