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.
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.
Groups
A group is a box with a dotted line border that provides modelers with a mechanism to group shapes by different categories.
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.
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.
- 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.
- Release the mouse button and select Data Object from the Resource Catalog.
- Name the data object Purchase Order.
- 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.
- In the input window, enter Create as the name of the state and click OK.
- 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.
- Release the mouse button and select Data Object from the Resource Catalog.
- 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.
- Right-click on the Purchase Order data object associated with Forward Order and select State > Create... from the popup menu.
- 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.
- 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.
- Finally, when the delivery is done, the purchase order is considered completed. Try to model this in the diagram.
- 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.
- Enter the body of the text annotation: Over 90% of requests are made by phone call, 10% by Email.
- Confirm the edit and resize the text annotation to make the text appear on multiple lines. Here is the final BPD: