How to Apply Activity Diagrams? - UML

A UML activity diagram offers rich notation to show a sequence of activities. including parallel activities. It may be applied to any perspective or purpose, but is popular for visualizing business workflows and processes, and use cases.

Business Process Modeling

One of my clients is in the express parcel shipping business. The process of shipping a parcel is very norl - trivial; there are many parties involved (customer, driver, ...) and many steps. Although this process can be captured in text (in use case text), in this case activity diagrams are a great example of pictures being worth a thousand words. My client uses activity diagrams to understand their current complex business processes by visualizing them.

The partitions are useful to see the multiple parties and parallel actions involved in the shipping process, and the object nodes illustrate what's moving around. After modeling their current process they visually explore changes and optimizations. See Figure for a simple example of applying UML activity diagrams to business process modeling. To show the process model for my shipping client would fill an entire wall!

Data Flow Modeling

Starting in the 1970s, data flow diagrams (DFD) became a popular way to visualize the major steps and data involved in software system processes. This is not the same as business process modeling; rather, DFDs were usually used to show data flows in a computer system, although they could in theory be applied to business process modeling. DFDs were useful to document the major data flows or to explore a new high - level design in terms of data flow. See Figure for an example DFD in the classic Gane - Sarson notation. Observe that the process steps are numbered, to indicate order.

Figure 28.2 Classic DFD in Gane - Sarson notation

The information modeled in a DFD is useful, both for documentation and discovery, but the UML does not include DFD notation. Fortunately, UML activity diagrams can satisfy the same goals - they can be used for data flow modeling, replacing traditional DFD notation. Figure illustrates the same information as the DFD in Figure, but using a UML activity diagram. Notice that in addition to object nodesbeing useful to show data flow, the UML datastore node is applicable.

Figure 28.3 Applying activity diagram notation to show a data flow model

Concurrent Programming and Parallel Algorithm Modeling

Although the details are beyond this introduction, parallel algorithms in concurrent programming problems involve multiple partitions, and fork and join behavior. For example, such algorithms are used in 3D simulations with finite element or finite difference modeling, and are applied to oil reservoir modeling, materials stress analysis, and weather modeling. The overall physical space is subdivided into large blocks, and many parallel threads (or processes) execute. one for each sub - block. In these cases the UML activity diagram partitions can be used to represent different operating system threads or processes. The object nodes can be used to model the shared objects and data. And of course, forking can be used to model the creation and parallel execution of multiple threads or processes, one per partition.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd Protection Status

UML Topics