Sei sulla pagina 1di 9

Activity Diagram: Example Gallery

(UML 2.0 Update)

Example I: Online Course Information System

Problem Statement:

An Online Course Information System is provided for students to access the course material off-campuses that
include view and download lecture notes. Student and also getting solutions from the lecturers, after various classes
and tutorials had been conducted.
If the system becomes unavailable while a user is using it. The user will receive a message that the system is
unavailable. The system will try to reconnect three times. If not successful it will display an error message. The
error display will reflect the content of the input parameter: connect state.
This parameter basically indicates what error has been occurred. The system will retrieve error message and then
update the error log in the log file for the system administrator to investigation purposes. Finally, the message will
be popup in the user’ screen.

Page 1 of 9
UML 2.0 Update.doc

Example II - Employee Expense Reimbursement (EER) Process

This process, implemented as a workflow, provides for reimbursement of expenses incurred by employees for the
company, for example buying a technical book, office supplies or software. In a normal day there are several
hundreds of instances of this process created.
The main rules of the process are
Amounts under $200 are automatically approved.
Amounts equal to or over $200 need approval of the supervisor.
The reimbursement goes to the employee’s direct deposit bank account.
In case of rejection, the employee must receive a rejection email.
If no action has happened in 7 days, then the employee must receive an approval in progress email.
If the request is not finished within 38 days, then the request is cancelled and the employee receives an email and
must re-submit.

A High-Level Workflow Diagram

Below is a graphical representation of the EER workflow. There are 3 types of nodes shown in the graphic: work nodes
(person at computer icon), routing nodes (3 arrow icon), and timer node (clock icon). A work node represents a task
performed by a human or application. A routing node indicates where the flow branches or combines. A timer node
represents a waiting period or an absolute date. The process flow is indicated by arrows. There are many aspects of the
workflow definition that do not appear in the graphical image. One important example of this is the rules that control the
flow of the process at routing nodes. Another is the process data involved and used by the workers, applications and
rules.

There are two important characteristics in this example. The first is the time check path running in parallel to the basic
approval path. Whichever path finishes first wins. This is the same as the test process in school; the test is done when
the student has answered all the questions or when the test time is finished. The second is the branching with multiple
outflows of which only some might be taken and multiple inflows of which only some might be necessary to trigger the
following activity.

Page 2 of 9
UML 2.0 Update.doc

Start
EER Load

No action timer

Notify Approver Submit for Approval


Preapproval
Notify
Decisior
Approval
Approval Decision
in Progress
Cancel
Reject
Service
Transaction
Approval
Timer
Cancel

Notify Reject
Service

End

UML Equivalent Activity Diagram

It uses an activity diagram that illustrates two parallel flows racing to complete. The first one to reach the activity final
aborts the others. The two flows appear in the same activity so they can share data, for example who to notify in the case
of no action.

Page 3 of 9
UML 2.0 Update.doc

Example III - Airplane Design (AD) Process

This example centers on the design of an airplane. Design of an airplane means the selection of standard parts to
assemble the interior of the airplane, not the aerodynamic aspects of the body and wings. There are two groups of
people involved, the airplane designers and the standard part engineers. Each group has its own workflow system.
The airplane designer works within the context of a workflow process. In his work he discovers the need for a
standard part with a step in his workflow process. That need is translated into a search workflow instance within
the workflow system of the standard part engineer group. A successful search returns the part to the plane design
engineer workflow step.
An unsuccessful search results in a modification to a standard part workflow process being started in the standard
part group system. Part of the modification process is to check the search conditions. The airplane designer might
not have formulated the correct search because of the large number of parts and part categories. If no part is
found with the reformulated search, then the workflow process leads the standard parts group through an
assessment of whether to modify an existing part or to create a new standard part.
Whether a part is to be modified or a new part created a workflow is started for that process. The workflow needs
to take into account that not every standard part engineer can work on any standard part. To a certain extent this
process definition is finished from a template at process instantiation time. The availability of a qualified engineer to
create or modify the part is critical to the scheduling and enactment of the process instance. This schedule
information is given back to the airplane designer for approval. If the new standard part cannot be done in time
then an alternate design is followed.
One of the unique characteristics of this example is the messages or interactions that occur between workflow
instances. There are processes that define or complete the definition of other processes. There are complex
resource qualification and assignment rules. The rules must take into account not only the skills and qualifications
needed, but also the availability of the engineer in relation to the airplane schedule.

Notice that the Standards Engineer insures that the sub-steps in Provide Required Part are performed in the order
specified and under the conditions specified, but doesn't necessarily perform the steps. Some of them are performed by
the Design Engineer even though the Standards Engineer is managing the process. The Expert Part Search behavior
can result in a part found or not. When a part is not found, it is assigned to the Assign Standards Engineer activity. Lastly,
Specify Part Mod Workflow invocation produces entire activities and they are passed to subsequent invocations for
scheduling and execution (i.e. Schedule Pat Mod Workflow, Execute Part Mod Workflow, and Research Production
Possibility). In other words, behaviors can produce tokens that are activities that can in turn be executed; in short,

Page 4 of 9
UML 2.0 Update.doc

Page 5 of 9
UML 2.0 Update.doc

Example IV - Trouble Ticket (TT) Process

The Trouble Ticket process covers quality assurance teams or customer support teams. A "bug" or "problem" is
identified; it must be recorded; the record must be checked for accuracy; from a single instance of a problem, the
underlying cause is identified; a resolution is identified, which must be communicated back to the original party with
the problem.
This process contains a potential loop. If the resolution cannot be verified as successful, then the problem goes
back to the resolution step. Rework is quite common in processes, because the ability to verify if work was properly
done might only be possible several steps later.

Page 6 of 9
UML 2.0 Update.doc

Example V: Journal Revision Process

An author submits paper(s) to the Editor for review. The Editor will send out the paper to the panel for viewing once
he received the papers. If the paper is accepted by the panel then it will be published in the next issue of the
Journal. If the papers require to be revised as recommended by the panel member(s), then the editor will send
them back the author for modification. If the authors send back the revised papers, they have to be gone through
the revision process, before they will be either accepted, reject or required for further modifications.

Page 7 of 9
UML 2.0 Update.doc

Example VI – ABC Book Shop

A customer can buy books by calling the sales of ABC Book Shop by phone and provide the sales with the order
details. Once the sales received the order; he/she will check for the membership status of the customer. If the
membership is still valid, the sales will enter the order details as given by the customer. The sales will then pack
the items await for the shipment and at the same time he/she will also create the invoice and sent it out. If the
sales received the check from the customer, he will deposit check. If the check is settled with the bank OK, then the
sales will arrange the shipment for the customer. The order will then be completed.

1. Simple Activity Diagram Presentation

2. Swimlaned Activity Diagram

The figures below illustrate an example of partitioning the order processing activity diagram into “swim lanes.” The
top partition contains the portion of an activity for which the Order Department is responsible; the middle partition,
the Accounting Department, and the bottom the Customer. These are attributes of the behavior invoked in the
partitions, except for Customer, which is external to the domain. The flow of the invoice is not a behavior, so it does
not need to appear in a partition.

Page 8 of 9
UML 2.0 Update.doc

3. Partition Notated Activity Diagram

In some diagramming situations, using parallel lines to delineate partitions is not practical. An alternate is to place
the partition name in parenthesis above the activity name, as illustrated the Figure below:

4. Hierarchical Swimlaned Activity Diagram

The example below depicts multidimensional swim lanes. The Receive Order and Fill Order behaviors are
performed by an instance of the Order Processor class, situated in Seattle, but not necessarily the same instance for
both behaviors. Even though the Make Payment is contain with in the Seattle/Accounting Clerk swim cell, it’s
performer and location are not specified by the containing partition, because it has an overriding partition.

Page 9 of 9

Potrebbero piacerti anche