Data Flow Diagramming by Example. Process Modeling Techniques for Requirements Elicitation (2015)
How to Identify Internal Processes on a DFD
Questions answered in this chapter:
§ What does “exploding a process” mean?
§ What is the business value of doing it?
§ What processes will the lower level diagram contain?
Getting to the Next Level
As revealing and useful as a Context Diagram may be, it is certainly lacking a lot of detail. In Data Flow Diagramming lingo, the detail is revealed by “exploding” or “levelling” complex processes (e.g. ORDER GOODS) to identify internal processes and flows that are not visible at the higher level. By exploding a process, you will also identify internal data stores, meaning places where the data just sits within the process waiting until it is used by another process. Delving into this level of detail may allow you to discover additional missing flows such as the Credit OK Orders flow we dealt with previously.
Each of these internal processes creates and consumes specific data. If you draw a data flow diagram at this more detailed level, you uncover internal data flows and data stores that are more specific and detailed as well. Any process at any level of detail is a potential candidate for exploding. The only factor to consider is whether you understand the process sufficiently to predict how change will affect it.
For example, to analyze how the ENTER ORDERS process works, I need details. To represent it, I am going to look inside the ENTER ORDERS process and define how it currently works.
Mining for Processes
Given that all I have at this time are my interview notes from the project sponsor, I start by analyzing them to find these lower-level details. Specifically, I am looking for actions that represent lower level processes performed within ENTER ORDERS. We express actions as verbs, but the verbs have to pass a couple of other tests before I will consider them candidates for a process on my detail-level diagram:
I will only accept verbs in their active voice (e.g., ‘enter orders’ is active whereas ‘orders are entered’ is passive). When I find a verb in the passive voice, I convert it to active voice to evaluate if it is a legitimate process. Specifically, I try to give each prospect a proper active-verb-direct-object name as recommended for naming processes on a DFD (e.g., Check Inventory, Separate Mail).
2. Transforming Action
The stated action has to do something that will ultimately be represented in the form of data, meaning it transforms incoming data into outgoing data. If the action affects physical material (e.g., ‘Shipment’), the application will have to know something about the material and that something will also be data in some form or another.
3. In Scope
The action has to be within the scope of the process I am analyzing (in this case, Enter Orders).
Only if the action passes all three rules will I consider it as a potential internal process.
To make sure that my lower level diagram is an accurate depiction of how the ENTER ORDERS process really works today, I involve a representative from the group who actually does the work. Managers such as Mary typically do not need to know the level of detail I need. Assuming they were promoted from the ranks, they probably know how they did the work back then but they may not be up to date on exactly how the work is done today. To get a truly accurate and current picture of the ENTER ORDERS process, I review the narrative and identify the internal processes with Paul, an Order Entry Clerk. Since processes on a DFD are actions, we simply look for verbs stating or implying actions and then apply my three rules. Here is a list of the candidates we identify in our analysis of the 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, . . .
After applying our aforementioned rules, the following picture emerges:
An analysis of the remaining interview notes does not reveal any additional actions that are in scope AND transform data. As you can see, out of the rather lengthy interview notes from Mary we actually identified only four internal processes that are part of the ENTER ORDERS process:
GROUP VALID ORDERS
A Level 2 Data Flow Diagram will show how these four internal processes transform the incoming flows to create all outgoing flows. While drawing the diagram, we may discover missing flows and/or missing internal processes. That is not a bad thing; it is one of the major benefits of exploding or leveling a process.