Context Diagrams (Yourdon/DeMarco)

What is a Context Diagram?

A context diagram is the highest-level data flow diagram for a system. It shows the whole system as one process and shows the data that crosses the system boundary between the system and external entities.

For this course, draw context diagrams using Yourdon/DeMarco notation: one process circle, external entity rectangles, and labelled data-flow arrows.

Yourdon/DeMarco Notation

External Entity

External entity

A person, organisation, department or other system outside the system boundary.

0 System

Process 0

The whole system, shown once only. Do not split it into internal sub-processes on a context diagram.

data flow

Data flow

A labelled arrow showing data moving into or out of the system. Use data names, not vague actions.

Correct Worked Example

Scenario: a school uses a study room booking system. Students request bookings, staff maintain room availability, and the facilities manager receives usage summaries and sends room closure notices.

Study Room Booking System Context Diagram

Context diagram for a Study Room Booking System The system is shown as one process circle numbered 0. Student, Staff and Facilities Manager are external entities shown as rectangles. Labelled arrows show data flows only between each external entity and the system. 0 Study Room Booking System Student Staff Facilities Manager booking request booking confirmation availability update daily booking list room closure notice weekly usage summary
Accuracy check: every arrow touches the central process, every arrow has a data label, and no data flows directly between external entities.

How to Build One From a Scenario

  1. Name the system. Put the system name inside one process circle and number it 0.
  2. Set the boundary. Anything outside the system that sends or receives data becomes an external entity.
  3. List the data flows. Use short noun phrases such as booking request, payment details or report summary.
  4. Draw arrows only between the system and external entities. If two external entities communicate with each other, that is outside this diagram.
  5. Check balance. The diagram should match the scenario: no missing entity, no extra internal process, no unlabelled arrow.

Common Mistakes

  • Using multiple processes (should be ONE only)
  • Showing a database, file or data store inside the context diagram
  • Drawing data flows directly between two external entities
  • Forgetting to label data flows
  • Data flows without clear direction arrows
  • Using action labels such as book room instead of data labels such as booking request

Quick Self-Check

Before you submit a context diagram, ask:

  • Does it have exactly one process circle?
  • Is the process labelled with the system name and numbered 0?
  • Are all external entities rectangles outside the system?
  • Does every data flow have a clear direction and a data label?
  • Have I avoided data stores and internal processes?