Interpreting UML Class, Activity, and State Diagrams

This is Process Representation Unit 5 of 6.
(Previous - Process Representation Unit # of 6: Interpreting Gane-Sarson Data Flow Diagrams)

Unit Objectives

In this unit, we will provide further details about the ISO 5807 symbols and conventions. ISO also defines the use of the Unified Modeling Language (UML) for representing system specifications. It covers the expression of a system specification in terms of RM-ODP viewpoint specifications using defined UML concepts and extensions (e.g. structuring rules, technology mappings, etc.) and relationships between the resultant RM-ODP viewpoint specifications.

We will describe the standard diagramming symbols and conventions so that you will become familiar with standard flow chart symbols and  be able to read a flowchart and understand the data or process flow being communicated. 

We will also give examples to help you understand how to use standard symbols to document and communicate a process and then be able to create your own process diagrams using standard flowchart form.

Topics

There are entire certifications in UML and Object Oriented Design.

It is not our intent to cover this volume of material in this lecture.

Rather, we use this subunit to introduce the three UML diagrams that are relevant to workflow analysis and process redesign.

We will cover each diagram’s purpose and notation.

Methods for Diagramming Processes

Each of the methods for diagramming a process covers different process aspects. 

Unified modeling language (UML) has diagrams to represent each of the process aspects that we are interested in for process analysis and re-design.  These include use case diagrams that represent the context in which the system operates, process and data flow steps, information content, any information transformations that occur or should occur, the order or sequence of the steps involved in the process (including flow control and state), and the roles of the persons completing the steps in the process.  There are 13 different types of UML diagrams, we will cover three of them here.

Background

Unified Modeling Language is a standard developed and maintained by the Object Management Group (OMG).
The first UML standard, UML1 was released in 1997.1

OMG states the rational behind the creation of the UML standard was that, “visual software modeling was plagued by the incompatibility of different notations created by different modeling gurus. The absence of a standardized notation deterred potential users, and as an inevitable result the modeling tools market was tiny and fragmented.”

UML is for software design and development, not workflow or process representation.  UML adapts and incorporates notations that existed in the early 1990’s, for example, ISO 5807 Flowcharts, Yourdon, Gane-Sarson, entity-relationship diagrams.

Use

UML notation was developed to support visual modeling in the development of software, and later, to support using the models to automate software development.

UML provides different diagram types that represent aspects of computer software, e.g., functionality, data content, and data movement, not physical process steps.

Many IT professionals are trained in UML, thus workflow analysts may encounter UML diagrams in practice. We present in this module how to read UML diagrams rather than detailed training on how to create UML models.

Types of UML 2.0 Diagrams

  • Structure Diagrams
    • Six types
    • Represent static aspects of system structure
    • Class Diagram covered here 
  • Behavior Diagrams
    • Three types
    • Represent dynamic aspects of systems
    • Two of the three covered here
      • Activity Diagram
      • State Machine Diagram. 
  • Interaction Diagrams
    • Four types
    • Detailed behavior diagrams
    • Not covered here

There are different types of UML diagrams.

We will cover one type of Structure Diagram: the Class Diagram.

We will cover two types of Behavior Diagrams:the Activity Diagram, and State Machine Diagram. 

We will not cover Interaction Diagrams in this lecture.

Class Diagram

A class diagram is a model of the information stored in a system and is analogous to the E-R diagram.

Class Diagram Example

A class diagram shows static information content, for example, data that are collected or used in patient care. Data collected and used in the diagnosis of tuberculosis are shown on the diagram in the slide. Class diagrams show the data in boxes and the relationships between the data, called associations. Like entity-relationship diagrams, class diagrams also show the minimum and maximum times an instance of one class can be related to an instance of another class, called cardinality and modality of the relationships.

Class Diagram Notation

A class, shown by a box, represents the information collected, generated by or used in a process.

An association, shown by a line, represents relationships between the information.  Where an entity-relationship diagram shows only the number of times data can be related, class diagrams employ more types of relationships, including aggregation, composition and inheritance that are designated by different arrow heads. Navigability, i.e. direction of the relationship, is shown by an arrow head.

Cardinality and modality of the association are shown by numbers on the lines.

Class Diagram Larger View

It is easier to see these in this larger view of the class diagram show in the Class Diagram Example section above..

Activity Diagram

Similar to a flowchart, an activity diagram shows movement of either tasks/steps or movement of information. In UML parlance, this is called the dynamic aspect of a process, or simply “behavior”, as opposed to class diagrams that show the “static” aspects.

Although activity diagrams have a significant number of features in common with flowcharts, the symbol set is smaller.  Activity diagrams focus on the movement rather than using symbols to differentiate types of data, or types of task steps, etc.

Activity Diagram Symbols

An activity, shown by a long rectangle with rounded corners, is a task that is performed either by a person or a computer system.

Motion and direction, shown by lines with arrow heads, indicate the flow of the process or information.

Branch points in a process, shown by either a diamond or a heavy horizontal line, indicate when more than one option or path exists by which the process can proceed or the information can flow.

The start and stop of a process or information flow, are shown by circles.

Activity Diagram Example

In this simplified activity diagram example, the process starts when a patient calls to schedule an office visit. The receptionist answers and attempts to schedule the appointment. If a mutually-convenient time is found, the appointment is scheduled, if not, the process ends. When the scheduled date arrives, the patient attends the visit (or not).  The process is complete when the office visit is over.

State Diagram

A state machine diagram, also called state diagram, shows the different states, also called “statuses”, allowed as a thing moves through a process, or as  information is processed by a system.

For example, a prescription may have any of the following statuses:

  •  Requested by patient,
  •  Authorized by provider,
  •  Sent to pharmacy,
  •  Filled, or
  •  Not filled.

State Diagram Symbols

State diagrams symbols are simply rectangles and lines and arrows that denote transition.

State Diagram Example

This simplified state diagram example corresponds to the previous activity diagram example.  The process starts when a patient calls to schedule an office visit.  The receptionist answers and attempts to schedule the appointment.  While trying to find a mutually convenient time, candidate time slots are marked as tentative.  When a time slot that will work for both the patient and the practice is found, the appointment is scheduled. That state remains until the appointment has arrived (the patient has arrived). At the end of the time slot, visits that have not been arrived are marked as missed.  If the time slot has been marked as arrived, it is given a status of complete when the claim form is entered, i.e., when the patient is leaving.
Importantly, the diagram shows valid transitions, for example, according to the diagram example, a scheduled slot can go to states of arrived or missed, but a scheduled time slot cannot go directly to a status of complete.

Maintenance

UML is an international standard and is maintained by the OMG.

The standard is freely available from the OMG web site.

References

These references are provided for your use.

  1. Watson, Andrew Visual Modelling: past, present and future. Accessed June 22, 2010. available from http://www.uml.org/Visual_Modeling.pdf

Suggested Reading UML overview on OMG homepage: http://www.uml.org/

UML Wilipedia topic: http://en.wikipedia.org/wiki/Unified_Modeling_Language

(Next - Process Representation Unit 6 of 6: Interpreting Entity-Relationship Diagrams)

Return to Previous Page

Return to Index