Modeling the Flow of Material and Data - Data Flow Diagramming by Example. Process Modeling Techniques for Requirements Elicitation (2015)

Data Flow Diagramming by Example. Process Modeling Techniques for Requirements Elicitation (2015)

Modeling the Flow of Material and Data

Business Analysis Questions Answered

Questions answered in this chapter:

§ What is a Rigorous Physical Process Model (RPPM) and why do I need one?

§ What symbols does it use?

§ How can I create an RPPM from interview notes?

A Rigorous Physical Process Model shows the movement of physical objects and data amongst the units in an organization. The idea is to represent the real world as closely as possible. Given that the proposed information technology (IT) solution will need to know something about the physical objects, these will have to be represented in data as well. The power of an RPPM lies in its simplicity. It only allows two symbols, a circle to represent people or places and an arrow representing the movement of physical material or data. This simplicity makes it easy to implement and it is an ideal precursor to a Data Flow Diagram.

Now that you know the symbols for creating an RPPM, I would like to walk you through the exercise of analyzing a situation to create one using a standard scenario from our instructor-led class. FYI, this is a transcript of an interview with the Manager of the Order Entry Department, Mary (the project sponsor).

Interview Notes

The customer triggers all the action in our department. We receive an order (with or without payment), a complaint or a payment (with or without invoice copy) from the customer. These are separated and the following actions take place:

If it is an order, we verify an existing customer's credit status and then we verify that the item numbers are valid by checking our inventory file. New customer's orders are sent to the credit department and held until they clear a credit check. (If half payment or more is included, that order is treated as if it were a credit order with good credit.)

Valid orders are accumulated and grouped into shipping zones and transmitted to the warehouse to be filled. After an order is filled, the customer address is attached, the best or requested shipping method determined, postage or shipping costs calculated, the order is shipped, and the warehouse inventory is reduced. A copy of the packing slip goes to accounting where an invoice is created and sent to the customer, and the customer's account updated. Copies of orders with payments and payments go to accounting, where the payments are applied to the customer's account. The item inventory is officially updated in accounting.

Customer complaints go directly to customer service. They research the situation and respond to the customer as soon as possible. Any action taken by customer service, which affects accounting or inventory, is passed to them for updating. Possible actions are a new order, a debit, or a credit. These look exactly like the regular order process.

My approach is to read the text and look for people and places that I want to represent in my RPPM. When I find a noun, I decide whether it names a person or place on my process model or simply names data or physical material I need to track. I’ll try my best, but don’t have to be perfect as this is my first cut at it.

Interview Notes

The customer triggers all the action in our department. We receive an order (with or without payment), a complaint, or a payment (with or without invoice copy) from the customer. These are separated and the following actions take place:

If it is an order, we verify an existing customer's credit status and then we verify that the item numbers are valid by checking our inventory file. New customer's orders are sent to the credit department and held until they clear a credit check. (If half payment or more is included, that order is treated as if it were a credit order with good credit.)

Valid orders are accumulated and grouped into shipping zones and transmitted to the warehouse to be filled. After an order is filled, the customer address is attached, the best or requested shipping method determined, postage or shipping costs calculated, the order is shipped, and the warehouse inventory is reduced. A copy of the packing slip goes to accounting where an invoice is created and sent to the customer, and the customer's account updated. Copies of orders with payments and payments go to accounting, where the payments are applied to the customer's account. The item inventory is officially updated in accounting.

Customer complaints go directly to customer service. They research the situation and respond to the customer as soon as possible. Any action taken by customer service, which affects accounting or inventory, is passed to them for updating. Possible actions are a new order, a debit, or a credit. These look exactly like the regular order process.

I usually use color-coding while I am doing this, so as you see here, I highlighted five nouns that I think represent people or places (our department – aka ORDER ENTRY, CREDIT DEPARTMENT, WAREHOUSE, ACCOUNTING, and CUSTOMER SERVICE) and the CUSTOMER. There are a lot of other nouns in the narrative, but I think they are all simply things I may need to keep track of, so I am going to ignore them for now. At this time, I am only interested in people and places (in this case, organizational units) where the data might come from or go to.

Since the text indicates that everything starts with the customer, I start my diagram by drawing a circle in the upper left-hand corner of the page and labeling it CUSTOMER. The next part mentioned in the narrative is ‘our department’, so I draw another circle diagonally to the right of and below the CUSTOMER and name it ORDER ENTRY. Since I will add flows between the entities, I need to leave room enough for a label and one or more arrows between the two circles. Analyzing the narrative, I see that ORDER ENTRY receives Orders, Payments, and Complaints from the CUSTOMER, so I draw the arrow indicating the flow from the CUSTOMER to ORDER ENTRY and label it respectively.

Start of DFD

Next, I read several things that ORDER ENTRY does with the incoming flow. I am going to be interested in these specific actions later (once I know the scope of this project) but for the time being, I am ignoring them. All I am really interested in at this time is the flow of data between departments and not what each department does with it. Because of that, the next flow I find in the narrative is that ORDER ENTRY sends new customer orders to the CREDIT DEPARTMENT. That causes me to add a circle diagonally above and to the right of the ORDER ENTRY symbol, labelling it CREDIT DEPARTMENT, adding an arrow from ORDER ENTRY to the CREDIT DEPARTMENT, and labelling the arrow New Customer Order. Again, I need to make sure the spacing between the circles leaves room for the arrow and its label.

DFD contininued

Reading on, I note that valid orders are transmitted to the WAREHOUSE, so I add a circle labelled “WAREHOUSE” below the one labelled CREDIT DEPARTMENT and add a Valid Order arrow originating from ORDER ENTRY. As you can by now surmise, I am trying to draw the diagram diagonally from the upper left to the lower right of the page following the flow of the order as expressed in the narrative. The major reason for this is cultural. English and many other languages are written from left to right starting at the top of the page and continue down to the bottom. If my diagram conforms to this convention, it is easier for most people to follow.

DFD contininued

Back to the narrative, the next flow of data that I note is the WAREHOUSE shipping the order to the customer. To represent this flow, I could draw an arrow from the WAREHOUSE around the CREDIT DEPARTMENT back to the CUSTOMER but that would violate my left-to-right, top-to-bottom flow. Since I consider the readability of the diagram to be critical, I’m going to ‘cheat’ by adding a second circle labelled CUSTOMER /2 (indicating that this symbol is a repeat) diagonally below and to the right of the WAREHOUSE symbol and insert an arrow labelled Shipment from the WAREHOUSE to the CUSTOMER /2 symbol. This positioning keeps the directional flow intact.

DFD contininued

Next, I read a copy of the Packing Slip goes from the WAREHOUSE to ACCOUNTING, so I add an appropriately labelled circle below, to the left of the WAREHOUSE symbol, and add the flow Copy of Packing Slip from the WAREHOUSE to ACCOUNTING. ACCOUNTING sends an invoice to the customer which I represent with an arrow labelled invoice from ACCOUNTING to CUSTOMER /2, again maintaining the proper reading direction of the diagram. When I read ‘copies of orders with payments and payments go to accounting’, I have to backtrack to the beginning of the narrative to discover that these are coming from the CUSTOMER to ORDER ENTRY, so this simply adds a new flow from ORDER ENTRY to ACCOUNTING with the label Copy of Order with Payment, Payments. Updating the Item Inventory is internal to ACCOUNTING, so it does not concern me here.

DFD contininued

The final paragraph is a bit more confusing. First off, complaints go directly to CUSTOMER SERVICE. Again, by rereading the first paragraph, I recognize that ORDER ENTRY received the complaints, so I add the arrow complaints going from ORDER ENTRY to CUSTOMER SERVICE. CUSTOMER SERVICE sends a Response to the customer which is an arrow between CUSTOMER SERVICE and CUSTOMER /2. In reading the actions CUSTOMER SERVICE takes, I conclude that I also need a flow labeled Debit or Credit from CUSTOMER SERVICE to ACCOUNTING and a New Order flow from CUSTOMER SERVICE back to the ORDER ENTRY department (which makes these “look exactly like the regular order process” as expressed in the interview notes).

DFD contininued

I now have a picture of the process depicted in the interview notes from Mary. I can use it to present the process to any audience. We can focus our discussions about the process by pointing at the various units and flows. A simple, clear picture like this increases comprehension and retention. Once I have gained Mary’s approval that my diagram is an accurate representation of the process flow, we can initiate the process of morphing this Rigorous Physical Process Model into a legitimate Data Flow Diagram.