Jump to Menu

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.

Compatible edition(s): Enterprise, Professional, Standard, Modeler

  • March 07, 2016
  • Views: 107,651
  • PDF
  • Video

BPMN also provides several artifact notations for modeler to describe a business process in more detail. For example, the group objects for grouping relevant activities and the text annotation objects for explaining flow objects in detail.


Very often, when executing a business process, there may be data produced, either during or after the end of the process. For example, a successful execution of the Place Order task will produce data like purchase order, invoice, receipt, etc. In BPMN, data can be modeled by 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, like instantiation, completed, deleted, etc.

BPMN Data example


A group is a box with dotted line border, providing modelers 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 gives 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 have modeled the process flow of distilled water order 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 Part I to III, you may open them by clicking on the hyperlinks at the bottom of this page.

  1. The execution of distilled water ordering process will result in the production of 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 shall create a purchase order data from the task Verify Customer Identity. Place the mouse pointer over it and drag out the Resource Catalog icon at top right.
    Using Resource Catalog
  2. Release the mouse button and select Data Object from Resource Catalog.
    To create data object
  3. Name the data Purchase Order.
    Data object created
  4. A purchase order has its life cycle within the process, from creation until 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 name of state and click OK.
  6. The Create tag is added to the name of Purchase Order. As I said a purchase order has its life cycle. When the customer service assistant has finished the task Forward Order, the purchase order will wait 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 task Forward Order, press and drag out the Resource Catalog icon.
    Using Resource Catalog
  7. Release the mouse button and select Data Object from Resource Catalog.
  8. Enter Purchase Order as the name of data. Pay attention to this step. You must enter Purchase Order as name in order to re-use the Purchase Order data object created before. When you confirm editing, you will be prompted if you want the data object to reference to the existing data one. Choose Yes.
    Reference to existing model element
  9. Right-click on the Purchase Order data associated with Forward Order and select State > Create... from the popup menu.
    Create create
  10. Enter To be Assigned as name of state and confirm. Up to now, the same Purchase Order data 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 to wait for delivery. Apply the techniques taught above. Add a Purchase Order data and define a state To be Delivered.
    Data object created
  12. Finally, when the delivery is done, the purchase order is said to be 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 task Place Order. 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 text annotation. Use Resource Catalog to create a Text Annotation from the task Place Order.
    Creating text annotation
  14. Enter the body of text annotation: Over 90% of requests are made by phone call, 10% by Email.
    Entering annotation text
  15. Confirm editing and resize the text annotation to make the text appear in 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

創造美好 共同成長

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.