Introduction to BPMN Part IV - Data and Artifacts

One of the common characteristics of traditional modeling techniques is to allow the modeling of data to be created, read and updated during the execution of a process. A classical example would be Data Flow Diagram (DFD). Although BPMN is not primarily designed for data modeling, there is still a set of notations that lets you model the data involved in a business process.

March 07, 2016
Views: 127,341
PDF Download

BPMN also provides several artifact notations that allow modelers to describe a business process in more detail. For example, group objects can be used to group related activities, and text annotation objects can be used to explain flow objects in more detail.

Data

Very often, when a business process is executed, data may be produced either during or after the process. For example, a successful execution of the "Place Order" task will produce data such as a purchase order, invoice, receipt, etc. In BPMN, data can be modeled using several types of "data" objects, such as data objects, data inputs, data outputs, and data stores. There is a well-defined way to manage the states of data, such as instantiation, completion, deletion, etc.

BPMN Data example

Groups

A group is a box with a dotted line border that provides modelers with a mechanism to group shapes by different categories.

BPMN group example

Text Annotations

A text annotation can be used to add extra detail to flow objects in a BPD. It does not affect the flow, but it provides details about objects within a flow.

BPMN Text Annotation example

Case Study: The True Aqua Distilled Water Company (Cont.)

In Part III of this tutorial, you modeled the process flow of the distilled water ordering process for The True Aqua Distilled Water Company. Now, we are going to add data and annotations to further describe the flow. If you have missed Parts I to III, you can open them by clicking on the hyperlinks at the bottom of this page.

  1. The execution of the distilled water ordering process will result in the production of a purchase order. Let's model the creation and manipulation of a purchase order. We know that the purchase order is created when the customer service assistant receives the order request from the customer, which is modeled by the task Verify Customer Identity. Therefore, we will create a purchase order data object from the Verify Customer Identity task. Place the mouse pointer over it and drag out the Resource Catalog icon at the top right.
    Using Resource Catalog
  2. Release the mouse button and select Data Object from the Resource Catalog.
    To create data object
  3. Name the data object Purchase Order.
    Data object created
  4. A purchase order has a life cycle within the process, from creation to completion. We can model this by defining states. Right-click on Purchase Order and select State > Create... from the popup menu.
    Create data object state
  5. In the input window, enter Create as the name of the state and click OK.
  6. The Create tag is added to the name of the Purchase Order. As mentioned, a purchase order has a life cycle. When the customer service assistant has finished the Forward Order task, the purchase order will be waiting for the Logistics Department's assignment. We can model this by re-using the same piece of data with a change of state. From the Forward Order task, press and drag out the Resource Catalog icon.
    Using Resource Catalog
  7. Release the mouse button and select Data Object from the Resource Catalog.
  8. Enter Purchase Order as the name of the data object. Pay attention to this step: you must enter Purchase Order as the name in order to re-use the Purchase Order data object created earlier. When you confirm the edit, you will be prompted to reference the existing data object. Choose Yes.
    Reference to existing model element
  9. Right-click on the Purchase Order data object associated with Forward Order and select State > Create... from the popup menu.
    Create state
  10. Enter To be Assigned as the name of the state and confirm. Now, the same Purchase Order data object is shown twice in the process flow, with two different states.
    Data objects created
  11. When the manager in the Logistics Department has finished the Arrange Delivery task, the purchase order will be assigned to a worker and will be waiting for delivery. Apply the techniques taught above. Add a Purchase Order data object and define a state of To be Delivered.
    Data object created
  12. Finally, when the delivery is done, the purchase order is considered completed. Try to model this in the diagram.
    Updated business process diagram
  13. Before we end this tutorial, let's create a text annotation. Look at the Place Order task. According to the information collected from The True Aqua Distilled Water Company, we know that while some of the order requests are made by phone call, some are made by email. Let's describe this extra detail using a text annotation. Use the Resource Catalog to create a Text Annotation from the Place Order task.
    Creating text annotation
  14. Enter the body of the text annotation: Over 90% of requests are made by phone call, 10% by Email.
    Entering annotation text
  15. Confirm the edit and resize the text annotation to make the text appear on multiple lines. Here is the final BPD:
    Completed business process diagram

Other Parts of Introduction to BPMN

  1. Part I - Introduction to BPMN
  2. Part II - Swimlanes
  3. Part III - Flow and Connecting Objects