What is the Relationship between System Context Diagram and DFD?

The system context diagram (also known as level 0 DFD) is the highest level in the data flow diagram and contains only a single process representing the entire system that establishes the context and boundaries of the system to be modeled. It identifies the flow of information between the system and external entities, namely actors.

Context diagrams are usually included in requirements documents. It must be read by all stakeholders and should therefore be written in plain language so that the stakeholders can understand the project.

Here is an example context diagram for a Sale Order System:

Edit this Diagram

The purpose of the system context diagram

The goal of a system context diagram is to focus attention on external factors and events that should be considered when developing a set of system requirements and constraints. System context maps are often used early in a project to determine the scope of the investigation.

A system context diagram represents all external entities that may interact with the system. The entire software system looks like a single process. Such a diagram depicts a system at the center, without the details of its internal structure, surrounded by all external entities and interactive systems in the environment.

What is Top-Down Decomposition?

In the top-down design, the overview of the system is designed, specifying but not detailing any level of subsystem. Then, each subsystem is refined in more detail, for example, sometimes divided into many different subsystem levels, so as to decompose the whole specification into basic elements.

The main purpose of top-down design is to decompose a system into smaller parts in order to understand its subsystems. Once these basic elements are identified, they can be more easily built into computer modules. Once the modules are built, you can easily put them together and build the entire system from these individual elements.

Top-Level Context-Level Diagram

A context diagram gives an overview and it is the highest level in a data flow diagram, containing only one process representing the entire system. It should be split into major processes which give greater detail and each major process may further split to give more detail.

  • All external entities are shown on the context diagram as well as major data flow to and from them.
  • The diagram does not contain any data storage.
  • The single process in the context-level diagram, representing the entire system, can be exploded to include the major processes of the system in the next level diagram, which is termed as diagram 0.

Level 1 DFD

Processes in diagram 0 (with a whole number) can be exploded further to represent details of the processing activities. Example below shows the next level ((Diagram 1) of process explosion.

Note that:

Although the following level 1 DFD only has three processes, there are quite a few input and input from the processes to the external entities and that could end up to be a few cross lines among them in the diagram; to avoid this problem, we could use (master and auxiliary view) multiple views of the same external entity in the DFD.

Level 2 DFD

If a process with a lot of data flow linking between a few external entities, we could first extract that particular process and the associated external entities into a separate diagram similar to a context diagram, before you refine the process into a separate level of DFD; and by this way you can ensure the consistency between them much easier.

Model Consistency of DFD Between Levels

When performing top-down decomposition to a DFD to lower level DFDs, the inputs and outputs must be conserved between levels of DFDs. For example, level n & n+1 must have the same inputs and outputs



241 comments

  1. Heya terrific blog! Dooes ruynning a blog suchh ass this
    reauire a grea deeal off work? I’ve ery little knowledge of coding however I
    wass hoping too staft my own bpog soon. Anyway, iff you have aany
    recommendatrions oor tips foor neww bkog owers please share.
    I understand tbis is ooff topic however I jjust had
    to ask. Thsnks a lot!

  2. Hi there, I discoered yohr blokg bby the usse of Google whhile searching
    for a similar matter, your wbsite got hhere up,
    itt appears to be like great. I’ve bookmarked it iin my google bookmarks.

    Hi there, just waas alertt tto your boog via Google, andd founbd that it’s truloy informative.

    I’m going too be carefful forr brussels. I ill bbe grateful should youu continue tjis in future.
    Manyy other peple caan be benefited out of you writing.
    Cheers!

  3. Hey there! I kbow this iss kinda off topic nevertheless I’d figuredd I’d ask.
    Wouldd youu be intrrested inn teading links or mahbe gurst riting a blog post or vice-versa?
    My ssite covers a lot of the same tppics as yourts annd I think wwe coulpd
    greatoy beneit from eah other. If you might bee interested feel free too shoot mme aan e-mail.
    I look forward to hearing frtom you! Grea bpog by the way!

  4. Howddy would youu mind sharing which blog plattorm you’re using?
    I’m planninng to tart mmy owwn blog soon but I’m aving a touth time choosing bedtween BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I aask iss because your layout seems different the most blogs aand I’m looking
    for sometbing unique. P.S Sorrty for gettig
    off-topic but I hhad too ask!

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.