Home IDS 405

Notes Index

6 Process Modeling

Charles E. Oyibo


Introduction

A process model is a formal way of representing how a business system operates. It illustrates the processes or activities that are performed and how data moves among them.

There are many different process modeling techniques in use today; we focus on data flow diagrams (DFDs) in this chapter. Here we focus on logical flow models, which are models that describe processes without suggesting how they are conducted. By focusing on these logical models, we explore how business should run without being distracted by implementation details (the physical model).

Data Flow Diagrams

Elements of Data Flow Diagrams

Processes

A process is an activity or a function that is performed for some specific business reason. In general, each process performs only one activity.

Every process has:

all of which are noted in the CASE repository.

Processes are represented as rounded rectangles in the Gane and Sarson DFD style.

Data Flows

A data flow is a single piece of data (e.g. patient's name) (sometimes called a data element), or a logical collection of several pieces of information (e.g. patient's information).

Data flows are the glue that holds the processes together: one end of every data flow will always come from or go to a process, with the arrow showing the direction. Data flows show which inputs go into each process and what output each process produces.

Every data flow has:

all of which are noted in the CASE repository.

Data flows are represented as arrows in the Gane and Sarson DFD style.

Data Stores

A data store is a collection of data that is stored in some way (which is determined later when creating the physical model).

Data stores form the starting point for the data model (discussed in Ch7) and are the principal link between the process model and the data model. Data flows coming out of a data store indicate that information is retrieved from the data store, and data flows going into a data store indicates that information is added to the data store or that information in the data store is changed.

Every data store has:

all of which are noted in the CASE repository.

Data stores are represented as long, open-ended rectangles in the Gane and Sarson DFD style.

External Entities

An external entity is a person, organization, or system that is external to the system but interacts with it (e.g., patient, doctor, government, accounting system). Note: An external entity is external to the system but may or may not be part of the organization.

Every external entity has:

all of which are noted in the CASE repository.

Data flows are represented as rectangles in the Gane and Sarson DFD style.

Using DFDs to Define Business Processes

One key principle in process modeling with DFDs is the decomposition of the business processes into a series of DFDs, each representing a lower level of detail.

Context Diagram

The first DFD in every business process is the context diagram, which shows the context into which the business process fits, i.e. the overall business process as just one process--the system itself. All process models have one context diagram.

Level 0 Diagram

The next DFD is called the level 0 diagram or level 0 DFD. The level 0 diagram shows all the processes at the first level of numbering (i.e. the processes numbered 1 through 9), the data stores, external entities, and data flows among them. All process models have one and only one level 0 DFD.

A second key principle in creating sets of DFDs is balancing--which means ensuring that all information presented in a DFD at one level is accurately represented in the next level DFD.

Level 1 Diagrams

Each process on the level 0 DFD can be decomposed into a more explicit DFD--the level 1 diagram or level 1 DFD. In general, all process models have as many level 1 diagrams as there are processes on the level 0 diagram; every process in the level 0 DFD is decomposed into its own level 1 DFD.

Level 2 Diagrams

Level 2 DFDs further decompose Level 1 DFDs...

Data Flow Splits and Joins

Some data flows are actually made up of many different data elements (such as patient name, patient address, appointment time, and doctor). A split could be used to document that part of the data (e.g. patient name and patient address) that is used for one process and another part (doctor and appointment) that is used by another process. Unlike the decomposition of processes, there is no requirement that the data flows in a split be mutually exclusive or include all of the parent data flow.

In the case of a join, separate parts of a data flow join together to form the data flow. For example, patient information (name, address) and appointment information (appointment time, doctor) might be data flows produced by different processes at a low-level DFD but might join to become one "Appointment Information" data flow in higher-level DFDs.

Alternative Data Flows

A process may produce different data flows under different circumstances (a credit card authorization request could produce an "approved" or "rejected" result). We show both data flows and use the process description (see next heading) to explain that they are alternatives. (Nothing in the DFD itself shows that the data flows are mutually exclusive.)

Process Descriptions

The purpose of the process description is to explain what the process does and provide additional information that the DFD does not provide. As we move through the SDLC, we generally move from general text descriptions of requirements to increasingly precise descriptions that are eventually translated into very precise programming languages. Three techniques are commonly used to describe more complex processing logic: structured English, decision trees, and decision tables.

Structured English

Structured English is a a formal way of writing instructions that describe the steps of a process.

Decision Trees

Decision trees are a graphical way of describing the logic contained in the structured English If statements; hence, they are only helpful when there is a large number of nested If statements.

Decision trees are composed of circles that represent decision points that present a question (an If statement). The decision point has a set of outcomes that branch off in different directions that lead to other decision points.

(When we have more than two outcomes at the decision points, we might have a candidate for a Case structure).

Decision Tables

Decision tables are used for very complex processes that have multiple decision rules. Usually, the top left portion of the table shows the conditions to be tested, while the bottom left shows the actions. The conditions and actions are linked by rules.

Creating DFDs

Creating the Context Diagram

Creating DFD Fragments

Creating the Level 0 DFD

Creating Level 1 DFDs (and Lower)

Validating the DFDs

Data at rest stays at rest until moved by a process.

That is, data cannot go to or come from a data store or an external entity without having a process to push it or pull it. The second part of the law states that:

Processes cannot consume or create data.

That is, data only enters or leaves the system by way of the external entities. A process cannot destroy data; all processes must have outputs (violation of this tenet results in what is called a black hole error). Similarly, a process cannot create data (though it can transform data from one form to another); all processes must have inputs (violation of this tenet results in what is called a miracle error). There is one exception to the second tenet of the second rule though).


Exception to the Second Tenet of the Second Law of Conservation of Data: A temporal process that issues a trigger output based on an internal time clock. Whenever some predetermined time period elapses, the process produces an output. The time-keeping process has no inputs because the clock is internal to the process. [Go Back.]

Top of Page

Charles E. Oyibo
IDS :: CBA :: UIC