Jump to Menu

How to Draw DFD with Multiple Context Levels?

Functional Decomposition is the process of taking a complex process and breaking it down into its smaller and simpler parts. Each of which can be broken down further. Once you've reached the lowest level of decomposed pieces of a subsystem, developers can think about how to start coding those functions. As you are working on the simplest functionality the developer can possibly work with the target system under developed. Therefore developing and testing those functionalities becomes much easier.

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

  • November 19, 2012
  • Views: 156,944
  • PDF

In this tutorial, you will be creating a context level DFD and expanding the main process shape into the level 1 DFD.

Creating Context Level DFD

Context level DFD, also known as level 0 DFD, sees the whole system as a single process and emphasis the interaction between the system and external entities. Let's draw a context DFD.

  1. To create a DFD, select Diagram > New from the toolbar.
  2. In the New Diagram window, select Data Flow Diagram and click Next.
  3. Enter Context Diagram as diagram name and click OK to confirm.
  4. Name the diagram Context Diagram.
  5. We need to create the main process. Drag Process from diagram toolbar to diagram. Name it Online Bookstore. We will use online bookstore as an example to show you how to create multiple levels DFD.
    create process
  6. As you can imagine, customers will be ordering books through the system. Therefore, add an External Entity to diagram and name it Customer. Like creating process, you can create an external entity by dragging External Entity from diagram toolbar to diagram.
    create external entity
  7. A data flow is used to represent the movement of data between different parts of the system. In this case, "order" is a data created by customer and submitted into the system. Therefore, create a data flow from Customer to Online Bookstore. To do this, move the mouse pointer over Customer. Drag out the Resource Catalog button.
    conn data flow process
  8. Release the mouse button on Online Bookstore and select Data Flow from Resource Catalog. This creates a data flow connector.
    select data flow connector in resource catalog
  9. Name it order.
    data flow created
  10. The book store will finally deliver the books to the customer. Make use of the Resource Catalog to create a data flow from Online Bookstore to Customer. Name the flow ordered books.
    data flow created
    That's all for the context diagram. As we see the entire system as a single process, there is just one process shape created in this DFD level. In the next section you will decompose the Online Bookstore process and draw its detail.

Creating Level 1 DFD

In this section, you are going to draw the level 1 DFD to show the main functions of online bookstore.

  1. Right-click on Online Bookstore and select Decompose from the popup menu.
    decompose process
  2. The data stores and/or external entities connected to the selected process would be referred to in the level 1 DFD. So when you are prompted to add them to the new diagram, click Yes to confirm. Note that the new DFD should look very similar to the context diagram initially. Every element should remain unchanged, except that the main process (from which this new DFD decomposes) is now gone and replaced by a blank space (to be elaborated).
  3. Right-click on the background of diagram and select Rename... from the popup menu. Name the diagram Level 1 DFD.
  4. There is a process that receives customer order and store it into a database. Let's create a process Receive Order and a data store Orders. Add data flows in between.
    receive order created
  5. When an order is invalid, there should be another process that involves contacting the customer and clarifying his/her need. Create a process Handle Invalid Order. Add suitable data flows between the shapes. Here you may use a bi-directional data flow to represent the a dialog flow.
    handle invalid order created
  6. There is another process that handles shipment. Create the Ship Order process. Again, add appropriate data flows between the shapes.
    ship order created
    That's all for this tutorial. Depending on the area of interest, you may create further levels to show the system in more detail. As you can imagine, the Ship Order process can be elaborated into smaller functional units (processes) like packaging, prepare invoice, arrange deliver, etc.


Turn every software project into a successful one.

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.

OK