Part 2: Design a work flow application using Rational Software Architect (RSA)
A work flow entails execution of a series of activities or tasks in a particular sequence or in parallel if they are independent of each other. An UML activity diagram is best suited to design a work flow since it organizes the tasks in swim lanes and helps visually depict the use case, as a collaboration of these activities.
A concise activity diagram facilitates in identifying
- Independent swim lanes
- Dependent activities and their sequence of execution
- Decision nodes or activities
- Different number of routes possible from decision nodes
Rational Software Architect (RSA) tool provides two different UML options to model a activity diagram; Activity Diagram and Interaction overview Diagram.
The option best suited to model a workflow is the
interaction overview diagram, this is similar to the activity diagram, but
provides additional feature to drill down to other interaction diagram. Using
this feature, details of the activity can be modeled using sequence diagram.
Figure 1 below shows a complete work flow, modeled using RSA’s interaction diagram.
Using the interaction model above, the following use case feature can be verified
- The work flow is initiated either by the email Listener or by a retry task.
- The information received needs to be transformed before it is handled by subsequent tasks.
- If the information received is determined to be duplicate, the work flow is terminated.
- The work flow can be split into 2 parallel swim lanes only after the duplicate filter task is complete.
- The workflow needs to communicate information to one of the 3 systems PR/ISP/SRSP.
- The workflow needs to synchronize and wait for the completion of the parallel task before cleanup task is executed.
Each node in this diagram can be drilled into to depict the details of the activity using a sequence diagram. Figure 2 below shows the sequence diagram for DuplicateFilter activity.