Functional Modeling with Data Flow Diagram Tutorial

January 27, 2012 Views: 1,204,890 PDF Link Compatible edition(s): Enterprise, Professional, Standard, Modeler

What is a data flow diagram (DFD)?

A picture is worth a thousand words. A Data Flow Diagram (DFD) is traditional visual representation of the information flows within a system. A neat and clear DFD can depict a good amount of the system requirements graphically. It can be manual, automated, or combination of both.

It shows how information enters and leaves the system, what changes the information and where information is stored. The purpose of a DFD is to show the scope and boundaries of a system as a whole. It may be used as a communications tool between a systems analyst and any person who plays a part in the system that acts as the starting point for redesigning a system.

It is usually beginning with a context diagram as the level 0 of DFD diagram, a simple representation of the whole system. To elaborate further from that, we drill down to a level 1 diagram with lower level functions decomposed from the major functions of the system. This could continue to evolve to become a level 2 diagram when further analysis is required. Progression to level 3, 4 and so on is possible but anything beyond level 3 is not very common. Please bear in mind that the level of details for decomposing particular function really depending on the complexity that function.

Diagram Notations

Now we'd like to briefly introduce to you a few diagram notations which you'll see in the tutorial below.

External Entity

An external entity can represent a human, system or subsystem. It is where certain data comes from or goes to. It is external to the system we study, in terms of the business process. For this reason, people used to draw external entities on the edge of a diagram.

notation (enternal entity)


A process is a business activity or function where the manipulation and transformation of data takes place. A process can be decomposed to finer level of details, for representing how data is being processed within the process.
notation (process)

Data Store

A data store represents the storage of persistent data required and/or produced by the process. Here are some examples of data stores: membership forms, database table, etc.
notation (data store)

Data Flow

A data flow represents the flow of information, with its direction represented by an arrow head that shows at the end(s) of flow connector.
notation (data flow)

What will we do in this tutorial?

In this tutorial we will show you how to draw a context diagram, along with a level 1 diagram.

Note: The software we are using here is Visual Paradigm. You are welcome to download a free 30-day evaluation copy of Visual Paradigm to walk through the example below. No registration, email address or obligation is required.

Steps to Draw a Context Diagram

  1. To create new DFD, select Diagram > New from the toolbar.
  2. In the New Diagram window, select Data Flow Diagram and click Next.
  3. Enter Context as diagram name and click OK to confirm.
  4. We'll now draw the first process. From the Diagram Toolbar, drag Process onto the diagram. Name the new process System.
    draw process onto diagram
  5. Next, let's create an external entity. Please your mouse pointer over System. Press and drag out the Resource Catalog button at top right.
    drag resource catalog
  6. Release the mouse button and select Bidirectional Data Flow -> External Entity from Resource Catalog.
    create external entity from resource catalog
  7. Name the new external entity Customer.
    create an entity called Customer
  8. Now we'll model the database accessed by the system. Use Resource Catalog to create a Data Store from System, with a bidirectional data flow in between.
    create data store
  9. Name the new data store Inventory.
    create a data store called Inventory
  10. Create two more data stores, Customer and Transaction, as shown below. We have just completed the Context diagram.
    customer and transaction created

Steps to Draw a Level 1 DFD

  1. Instead of creating another diagram from scratch, we will decompose the System process to form a new DFD. Right click on System and select Decompose from the popup menu.
    decompose process
  2. The data stores and/or external entities connected to the selected process (System) 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: The new DFD should look very similar to the Context diagram initially. Every element should remain unchanged, except that the System process (from which this new DFD decomposes) is now gone and replaced by a blank space (to be elaborated).
  3. Rename the new DFD. Right click on its background and select Rename.... In the diagram's name box, enter Level 1 DFD and press ENTER.
  4. Create three processes (Process Order, Ship Good, Issue Receipt) in center as shown below. That is the old spot for the System process and we place them there to elaborate System.
    create three processes in Level 1 DFD

Wiring with connection lines for data flows

The remaining steps in this section are about connecting the model elements in the diagram. For example, Customer provides order information when placing an order for processing.

  1. Place your mouse pointer over Customer. Drag out the Resource Catalog icon and release your mouse button on Process Order.
    connect customer process order
  2. Select Data Flow from Resource Catalog.
    select data flow
  3. Enter order information has the caption of flow.
    flow caption entered
  4. Meanwhile the Process Order process also receives customer information from the database in order to process the order.
    Use Resource Catalog to create a data flow from Customer to Process Order.
    data flow created between customer and process order
    Optional: You can label the data flow "customer information" if you like. But since this data flow is quite self-explanatory visually, we are going to omit it here.
  5. By combining the order information from Customer (external entity) and the customer information from Customer (data store), Process Order (process) then creates a transaction record in the database. Create a data flow from Process Order to Transaction.
    data flow created
    Drawing Tips:
    To rearrange a connection line, place your mouse pointer over where you want to add a pivot point to it. You'll then see a bubble at your mouse point. Click and drag it to where you need.
    re-routing connector
    Up to this point, your diagram should look something like this.
  6. Once a transaction is stored, the shipping process follows. Therefore, create a data flow from Process Order (process) to Ship Good (process).
    data flow created
  7. Ship Good needs to read the transaction information (i.e. The order_ in order to pack the right product for delivery. Create a data flow from Transaction (data store) to Ship Good (process).
    data flow created
    Note: If there is a lack of space, feel free to move the shapes around to make room.
  8. Ship Good also needs to read the customer information for his/her shipping address. Create a data flow from Customer (data store) to Ship Good (process).
    data flow created
  9. Ship Good then updates the Inventory database to reflect the goods shipped. Create a data flow from Ship Good (process) to Inventory (data store). Name it updated product record.
    data flow created
  10. Once the order arrives in the customer's hands, the Issue Receipt process begins. In it, a receipt is prepared based on the transaction record stored in the database. So let's create a data flow from Transaction (data store) to Issue Receipt (process).
    data flow created
  11. Then a receipt is issued to the customer. Let's create a data flow from Issue Receipt (process) to Customer (external entity). Name the data flow receipt.
    data flow created
    You have just finished drawing the level 1 diagram which should look something like this.
    updated dfd

Steps to Make the Level 1 Diagram Easier to Read

The completed diagram above looks a bit rigid and busy. In this section we are going to make some changes to the connectors to increase readability.

  1. Right click on the diagram (Level 1 DFD) and select Connectors > Curve. Connectors in the diagram are now in curve lines.
    connectors in curve
  2. Move the shapes around so that the diagram looks less crowded.
    completed dfd

More Examples

  1. Customer Service System
  2. Food Ordering System
  3. Securities Trading
  4. Supermarket App
  5. Vehicle Maintenace Depot
  6. Video Rental Store


  1. Order-Processing.vpp
  2. Order-Processing_result.vpp

You may be interested in

  1. Writing Effective Use Case
  2. Data Flow Diagram: Examples - Food Ordering System
  3. Modeling Relational Database Design with ERD
  4. Process Improvement with As-Is and To-Be Analysis
  5. Perform Visual Modeling in NetBeans

Comments (64)

written by Coilnd77 on October 12, 2011

I can't find this ' Order-Processing.vpp ' file needed to go through this tutorial. Where is it? The file at the bottom of the page is a link to a webpage. I don't think you have put it in a place people can find very easy (accessibility)

written by Jick Yeung on October 12, 2011

Hi Coilnd77,

To get the project, please right click on the link (e.g. Order-Processing.vpp) and select "Save Link As...". The file saved is a .vpp which can be opened by BP-VA.

written by Colin on October 12, 2011

Thanks for the help Jick, all the best.

written by eduardo on February 4, 2012

First time using the software for DFD. Excellent tutorial. At first, it took me a few minutes to orient myself with the menu organization (many options listed at the beginning). Going step-by-step with the tutorial is sufficient to go solo.
Thank you!

written by raisoni college on March 31, 2012

it is very easy to understand..thanx!!!!!!!!!!!

written by sowmya on April 27, 2012

if we have 2 data flowing among entities like username and password then how we will represent on the directed arrow ??
can we use "+" symbol like username+password ??

written by Jick Yeung (VP) on May 2, 2012

Hi sowmya,

You can create multiple connectors among entities, one for username and another for password.

written by sowmya on May 4, 2012

thank u..

written by smsmbek on October 12, 2012

thanx but i want to know if we can write arabic langauge in this software you recomended or not plz answer me

written by Jick Yeung (VP) on October 12, 2012

Hi smsmbek,

Our tool supports all languages, including Arabic language.


written by Djama on October 18, 2012

When designing the DFD, can you add the other Entities and Data stores such as Customer Types, Sale Types, Payment Types (in your example)

written by Tahir Islam on October 19, 2012

can anyone tell which software is used in above tutorial?????

written by Jick Yeung (VP) on October 19, 2012

Hi Tahir,

The software used in this tutorial is BP Visual ARCHITECT

It supports DFD, BPMN, EPC, glossary, reporting and more. Checkout the above hyperlink for more details.

written by Dhanapal.IPS on February 14, 2013

Thanks for the help, keep it up,

written by mangesh h. on March 5, 2013

its a very easy language in dfd. thanks......

written by prisca on July 4, 2013

thats trick bt understandarble

written by dfd ror jewelry making system plz on August 1, 2013

good example

written by Jick Yeung (VP) on August 16, 2013

Hi mahua,

Thank you for your post. Could you apply the skills written in the tutorial to draw the data flow diagram you want? If you find anything unclear, please feel free to post again.

written by Par on August 16, 2013

Hi,how can I use the Data Flow diagram in word format without having a background containing Logizian text?

written by Jick Yeung (VP) on August 19, 2013

Hi Par,

Thank you for your post. The watermark will be removed in purchased copy.

written by Naina khandelwal on September 21, 2013

plz send me the all types of DFD diagram for mail processing system......plzzzzzzzzzzzzzz

written by Jick Yeung (VP) on September 24, 2013

hi Naina,

Regretfully we do not have any DFD sample for mail processing system. But I think that you can draw it yourself easily with our Logizian.

written by Pearl Anne Mae Biong on October 13, 2013

This example is good as a guide as I start on diagrams. But, can you please send me a context diagram and data flow diagram for a point-of-sale and inventory system? Thanks! :)

written by Jick Yeung (VP) on October 16, 2013

Hi Anne Mae Biong,

Regretfully we do not have any DFD sample for the case you described. But I believe that you can draw the DFD yourself easily with Logizian. If you have any questions please feel free to contact our support team for assistance.

written by Chamath Elapatha on October 24, 2013

Thanks a lot for helping me.... ^_^

written by Arsalan on November 11, 2013

hi, can anyone show me a data flow diagram for school- in England plz its for ICT, a context and level 0

written by sunny on December 10, 2013

it help me a lot .... thx

written by sunny on December 10, 2013

it help me a lot .... thx

written by sneha on January 2, 2014


written by kanchana on February 17, 2014

it helped

written by natasha on March 19, 2014

i m nt gettint that where is that business written in the toolbars at the top?

written by Haro on March 28, 2014

According to the rules of a DFD, a process must have input and output streams, then to decompose or explode a process, how can I keep the data flows in and out in the diagram, if the parent process has no relation to a datastore or an external entity.

Example: I have a parent process at Level 1 MANAGING PRODUCT and for that I need the input data streams and NAME and QUANTITY PRODUCT REPORT output which is generated and sent to other processes. At Level 2, the break MANAGING PRODUCTS, inputs and outputs must persist. However, I can not find how to do it in the Visual Paradigm. I know how to do when they come or go to datastore entities, but not when coming or going to process

written by khushboo darji on April 10, 2014

i want dfd for article rewrite tool...

written by Yemisrach on May 2, 2014

Thanx it is great, a very good example is shown in the above.

written by Adeel Ahmed on May 22, 2014

This is the best and very illustrative dfd. It has almost everything for the beginners

written by Chadwick on July 1, 2014

Would be great if you could just drag in the processes or subprocesses from BPMN, or the other way round - use a DFD as a high-level starting point to index more detailed flowcharts that show the sequence of events. Even better if 'exploding' a prices to the next level retained all the flow arrows into and out of the new surrounding 'context' box, as stubs to connect to new more detailed subprocess entries within the new context. Like other enterprise modellers I could mention!

written by Chadwick on July 1, 2014

Would be great if you could just drag in the processes or subprocesses from BPMN, or the other way round - use a DFD as a high-level starting point to index more detailed flowcharts that show the sequence of events. Even better if 'exploding' a prices to the next level retained all the flow arrows into and out of the new surrounding 'context' box, as stubs to connect to new more detailed subprocess entries within the new context. Like other enterprise modellers I could mention!

written by Angus Chan on July 2, 2014

Thank you for your comment. I will follow up with our team to see how we can improve.

written by Singh on August 10, 2014

be more easier if you have gone thurogh our previous tutorials on issuing books out of library and returning books to library. Such, functions in a Library Management System Software project describes how the control flow of

written by sree on August 25, 2014

it's very useful

written by gopal on September 18, 2014

sir i am needed the material management data flow so please tell me that how can i draw ......

written by kishor ramani on October 15, 2014

my questions is that the how can i draw a 2 level DFD and 3 level DFD diagram for the another system.

and it is very complex to draw this diagram.

and my actual question is
when we draw a 2 level diagram at that time we should remain same 0 or 1 level diagram in the 2 level DFD diagram?

written by Laurens on December 16, 2014

Would you see an ERP system as a proces or as a data store? Or could it be both?

written by brenda on January 7, 2015

great job.. i enjoy reading a I have a lot of things get here :)

written by narashi hadiya on February 23, 2015

this diagram is for simple system but my system is much more complex so do you have any idea that how to draw diagram for complex system

written by steve on April 2, 2015

hello, i have drawn the dfd diagram and i would lie to get it out of the application and dont now how to get it out of it. kindly help

written by abdullah on April 9, 2015

noce.... thanks for it........

written by abdullah on April 9, 2015

nice.... thanks for it........

written by Agus Mulyanto on April 11, 2015

thank for it

written by patil shubhangi on April 26, 2015

thank you

written by MikeT on December 3, 2015

Thanks. I have not figured out how the software indicates to me that I have created a process or data type that goes nowhere. But the tutorials are getting me where I want to be with this tool.

written by Muhammad Imran on February 2, 2016

First time using the software for DFD. Excellent tutorial. At first, it took me a few minutes to orient myself with the menu organization (many options listed at the beginning). Going step-by-step with the tutorial is sufficient to go solo.
Thank you!

written by vibhu on March 14, 2016

I am trying to download, the non community version, but this supid site is giving me community version again and again

written by sai on September 19, 2016

may i know how to draw DFD and ERD for smart note system ??

written by mubiru joshua on October 24, 2016

may get some drawn good examples on data flow diagrams and use case diagrams?

written by Jick Yeung (VP) on November 14, 2016

Hi mubiru,

You can check the "More Examples" section in this tutorial for DFD examples. For use case diagram examples, please check this tutorials:

written by Jick Yeung (VP) on November 14, 2016

Hi sai,

Thank you for your post. Honestly we are not familiar with smart note system. Perhaps you can try to draw first and if you have any questions, feel free to contact our team for assistance.

written by Ivan on November 22, 2016

what notation do you use? gane sarson or yourdon coad?

written by Dipak Chandran P on December 8, 2016


written by Ajuba Haneefa on December 14, 2016

Thanks for your information.

written by Santosh Tharu on January 6, 2017

thank you very much for it!

written by Santi on January 19, 2017

Thank you very much! This tutorial really help me

written by Vinura on January 26, 2017

Good one!

written by Vahswawstoxfish36 on February 25, 2017

Another animal that is definitely kept as a pet is a turtle.To the Author Bonallack & Bishop can be solicitors specialising in contesting Wills ( ).Visit our great selection associated with baby gift baskets which are certain to please the parents and new baby.This particular database is regularly run through NCOA and stringent quality assurance procedures so that it contains the the majority of accurate information available.Receive the ultimate low down within the best sneakers and apparel now individuals complete cheap puma trainers guide.
If these include satisfied then the candidate can expect a salary of $50, 000 that will $70, 000 annually.Opting for Your Individual Puppy It's important however, in your puppy search now you understand how to evaluate no matter whether your prospective puppy is certainly physically and mentally healthier.Horse halters is lightweight and pliable who's surely fit the area from where the halter is attached and this will make he animal softer and remained undisturbed.But as the game is played although they enjoy working with the help of other children, getting to know them, they can develop into friends.Nearly all treatments for prostate malignancy [url=]foakleys for sale[/url]
, especially those that comprise of radical surgery or hormone cure, leave men without the electricity or desire to complete sexually.
And moreover there isn't regretting that you didn? t discover the one you were in need of.Practical knowledge and Experience Therefore that allows you to win the case for you'll want a good and seasoned criminal lawyer, in order to speak through your behalf.While his name is quite well known few learn the story behind the person.Eventually good ole' was spawned from this big electronic sounds from the amplified guitar.If you should need help dealing which has a marijuana possession or submitter case, you may want to get yourself a competent lawyer.
Virtually all rights reserved: All trademarks used or referred to here are the property in their respective owners.That it was well received and produced several critics? Best From? list that year.If you agree creatively, you can save money concerning accessorizing.The procedure of booking the tickets is straightforward and goes this method.?? Well, after the big fire along with the clearing sky, the conditions absolutely are a bit different.
Related Articles[url=][/url]

Write comment


Enter the calculation result

security code