Drawing the Boundary
System context mapsPart I · Framing · Chapter 2 of 12 · the one chapter on system context maps
What is inside the system you’re responsible for? A system context map shows a named boundary around that system, the parties outside it that it deals with, and each thing that crosses between them, by name.
Print this chapter, with a sheet for each exercise and the answers at the back, from its PDF.
Signals you need this diagram
Section titled “Signals you need this diagram”- People disagree about whose job something is.
- Something arrives that nobody expected to deal with: a bill, a request, a complaint.
- A new job, project or household starts, and nobody has listed who it deals with.
- A party outside is spoken of as if it were run from inside.
- A problem passes from one part to another, each saying it belongs elsewhere.
A household with a lodger
Section titled “A household with a lodger”Priya and Sam rent a house with their ten-year-old daughter. Sam’s nephew Dev rents their spare room, furnished, and buys and cooks his own food. Sam shops and cooks for the family; Priya pays the rent and the bills.
Each month Priya’s wages arrive from her employer, and the household pays the landlord rent, the supermarket for groceries and the energy supplier for electricity. Dev pays the household rent for his room.
In January the boiler fails. Dev asks Sam when his room will be warm again; Sam phones the landlord, who sends a plumber three days later. The household owes Dev a warm room, and depends on the landlord to provide one.
What the notation expresses
Section titled “What the notation expresses”The boundary
Section titled “The boundary”A boundary is a thin, solid, rounded outline drawn around the system, with a tab carrying the system’s name. It marks what the map explains. What sits outside, the map doesn’t explain: it shows what the landlord gives the household and receives from it, not how the landlord runs a business.
Every boundary has a name, since drawing one means saying which system it bounds: here, the household. A boundary is never dashed: in this book a dashed line means a hypothesis.
External entities
Section titled “External entities”An external entity is a party outside the boundary that the system exchanges something with: a person, an organization or, at the scale of a planet, the Sun. It’s drawn as its name in an oval. A party appears because something crosses between it and the system; one with nothing crossing is left off.
The system runs what is inside its boundary and only exchanges with what is outside. Dev lives in the house, but he pays for his room and runs his own meals, so he’s an external entity; the daughter, whose room and meals the household provides, is inside.
An external entity isn’t a variable: nothing on a system context map rises or falls.
Exchanges
Section titled “Exchanges”An exchange is one named thing crossing the boundary between the system and an external entity: wages, rent, electricity. It’s drawn as a solid line with one arrowhead, joining an oval to the boundary, with its name beside its middle. One exchange carries one thing: rent and repairs is two exchanges. A line without a name shows that something crosses, not what.
Direction
Section titled “Direction”An exchange’s direction runs from the party that gives to the party that receives. The household gives the landlord rent and receives repairs: two exchanges, pointing opposite ways.
The exchanges leaving the boundary are what the system answers for to others, such as Dev’s furnished room; those arriving are what it depends on, such as the landlord’s repairs.
Nested boundaries
Section titled “Nested boundaries”A nested boundary is a boundary inside another, naming a part of the system. Nesting is read from position: a boundary drawn wholly inside another is its part. Two boundaries either nest or stay apart; overlapping ones leave it unclear which part a thing belongs to.
A part is named for what it does, not for who does it: meals, not Sam. If Priya takes over the cooking, the part stays.
Owners
Section titled “Owners”An exchange’s owner is the boundary it reaches. With parts drawn, each exchange reaches the part that handles it: groceries and grocery payments reach meals, wages reach earnings, and rent, repairs, electricity and bill payments reach housing. When the boiler fails, chasing the landlord’s repairs falls to housing. An exchange drawn to the outer boundary belongs to the system as a whole.
What stays informal
Section titled “What stays informal”With one or two parties, a sentence does what the map would: the household pays the landlord rent and gets repairs. When a reader needs only who the system deals with, not what crosses, as on a list of emergency phone numbers, a list of parties does it.
The map shows no amounts and no timing: not how much the rent is, nor when it’s due. Nor does it show causes, such as why the electricity bill rose; influence maps and causal loop diagrams, from chapter 3, show those. What passes between parts, such as earnings paying for meals, stays in a sentence.
The bad diagram
Section titled “The bad diagram”What’s wrong with this map of a volunteer-run festival?
Its boundary is the organizing committee, with nested boundaries for the chair, the treasurer and the volunteer coordinator: an organization chart, showing who sits on the committee, not what the festival runs. Its five exchanges have no names and each runs one way only, so the map shows that the town council, the sponsor, bands, food stallholders and visitors deal with someone, not what they give or receive. The lab’s check reports:
5 of 5 exchanges have no name yet: from the town council to the chair; from the treasurer to bands; from food stallholders to the treasurer; from visitors to the volunteer coordinator; from the sponsor to the chair. Name the one thing each carries.
The lab checks names, not what a boundary is drawn around: the committee’s map with every exchange named would pass.
The corrected diagram
Section titled “The corrected diagram”Corrected, the boundary is the festival, with parts for what it runs: the stage, the food court and the gate. The same five parties exchange named things both ways, each with the part that handles it: bands give the stage performances and receive fees; visitors give the gate entry fees and receive wristbands. The council’s event permit and the sponsor’s money reach the festival as a whole.
Labels unchanged. Boundaries: 4 renamed. Exchanges: 5 added, 5 named, 3 given another owner.
A new treasurer leaves the corrected map unchanged; a second stage would add a part.
Notation moves
Section titled “Notation moves”| Notation move | When | What it shows | Example |
|---|---|---|---|
| Draw a boundary and name it | You can name the system you’re responsible for | What the system is | the household |
| Place an external entity | A party gives to the system or receives from it | Who the system deals with | the landlord |
| Draw an exchange and name it | Something crosses between the system and a party | One thing crossing, and which way | wages, from Priya’s employer |
| Draw the exchange back | Something crosses the other way | What the system gives as well as what it receives | rent out, repairs in |
| Draw a nested boundary | Different parts of the system handle different exchanges | A part of the system | meals |
| Draw an exchange to its part | Parts are drawn | The exchange’s owner | groceries to meals |
Check your understanding
Section titled “Check your understanding”The Internet Banking System, redrawn
Section titled “The Internet Banking System, redrawn”Redrawn from Simon Brown, “System context diagram”, The C4 model (c4model.com), the system context diagram of the Internet Banking System. CC BY 4.0.
The system’s box drawn as the boundary and the other three boxes as external entities; each dashed line, which points from a party to what it relies on, drawn as solid exchanges named for what crosses, one for each thing it carries, pointing from the party that gives; the e-mail service’s name shortened; colors and descriptions left out; the e-mail service’s line to the customer, between two parties outside, left out.
Exercises
Section titled “Exercises”Passing the checks means meeting the brief, not being right.
SC 01A first term away from home
One boundary and the parties outside it
Maya starts a geology degree at a university three hundred miles from home. The university gives lectures, sets essays and returns them with grades. Her parents send her an allowance each month. She works two evening shifts a week at a café, which pays her wages, and borrows books from the city library. Draw her studies as the system, with the parties they exchange with outside it. Leave out her housemates and the friends she makes in lectures.
The brief
- Draw one boundary around Maya's studies. checked by the lab
- Place four to six external entities outside it. checked by the lab
- Draw at least four exchanges. checked by the lab
- Each external entity is a party that gives or receives something, not a feeling or a task. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 8 checks passed; 8 pending.
- Draw one boundary around Maya's studies. (Not started)
- Place four to six external entities outside it. (Not started)
- Draw at least four exchanges. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
SC 02Earth
One boundary, at the largest scale
Sunlight reaches Earth from the Sun. Earth reflects part of that sunlight back out to space and radiates heat to space. A trickle of meteoric dust falls in from space, and light gases such as hydrogen escape from the top of the atmosphere. Draw Earth as the system, with what crosses between it and the parties outside it.
The brief
- Draw one boundary: Earth. checked by the lab
- Place two external entities outside it. checked by the lab
- Draw at least four exchanges. checked by the lab
- Show at least one external entity that both gives to Earth and receives from it. checked by the lab
- The names show which crossings are energy and which are matter. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 9 checks passed; 9 pending.
- Draw one boundary: Earth. (Not started)
- Place two external entities outside it. (Not started)
- Draw at least four exchanges. (Not started)
- Show at least one external entity that both gives to Earth and receives from it. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
SC 03A shared house
Named exchanges in both directions
Five students share a rented terraced house for their second year. They pay the landlord rent each month and send him a fault report when something breaks, and he sends a plumber or an electrician to make the repair. An energy supplier provides gas and electricity, and the students pay it by monthly direct debit. The council collects council tax, empties the bins each Tuesday and issues a parking permit for the one car they share. The neighbours take in the students' parcels, and the students feed the neighbours' cat when the neighbours are away. Draw the household as the system, with the parties it exchanges with outside it.
The brief
- Draw one boundary around the household. checked by the lab
- Place at least four external entities outside it. checked by the lab
- Show at least three external entities that both give to the household and receive from it. checked by the lab
- Each exchange names one thing: rent and repairs is two exchanges. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 8 checks passed; 8 pending.
- Draw one boundary around the household. (Not started)
- Place at least four external entities outside it. (Not started)
- Show at least three external entities that both give to the household and receive from it. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
SC 04A national blood service
Named exchanges in both directions, across a nation
A national blood service collects blood from volunteer donors at sessions across the country. It tests every donation and writes to any donor whose blood shows an infection. It separates the blood into red cells and platelets and delivers both to hospitals, which order what they need each day and pay for each unit. The health ministry funds the service and receives its annual report. The regulator licenses the service and receives a report of every serious incident, such as a transfusion given to the wrong patient. Research laboratories receive donations unfit for transfusion as research samples and send back their study results. Draw the service as the system, with the parties it exchanges with outside it.
The brief
- Draw one boundary around the blood service. checked by the lab
- Place at least five external entities outside it. checked by the lab
- Show at least four external entities that both give to the service and receive from it. checked by the lab
- Draw at least eight exchanges. checked by the lab
- Donors sit outside the boundary: the service exchanges with them and doesn't run them. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 9 checks passed; 9 pending.
- Draw one boundary around the blood service. (Not started)
- Place at least five external entities outside it. (Not started)
- Show at least four external entities that both give to the service and receive from it. (Not started)
- Draw at least eight exchanges. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
SC 05A community garden
Nested boundaries and owners
Linden Street garden is a community garden on a former car park, divided into growing beds, compost bays and a tool shed. The water supplier pipes water to the growing beds, and the vegetables grown there go to the food bank each Saturday. A café on the corner brings its food scraps to the compost bays, and the parks department delivers fallen leaves there each autumn and collects finished compost for its flower beds. Neighbours bring their grass cuttings to the compost bays and borrow tools from the tool shed. Draw the garden as the system, divided into its parts, with each exchange reaching the part that handles it.
The brief
- Draw at least two nested boundaries inside the garden, one for each part. checked by the lab
- Place at least five external entities outside the garden. checked by the lab
- Draw each exchange to the part that handles it. checked by the lab
- Each part is named for what it does, not for who works in it. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 8 checks passed; 8 pending.
- Draw at least two nested boundaries inside the garden, one for each part. (Not started)
- Place at least five external entities outside the garden. (Not started)
- Draw each exchange to the part that handles it. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
CS 02Kelsham Primary School and the parties it deals with
Exchanges both ways, and a party that only receives
Before the governors meet the county council, Tom Hale asks them to list what Kelsham Primary School exchanges with each party it deals with. Families send their children as pupils and tell the school what they think of it, and the school sends them a report on each child every term. The county council pays the school its funding and receives the count each October, and David Brennan, its officer for school places, sends a forecast of starters. Dale Coaches sends the school bus timetable, and the school sends it the list of children on the bus. When a child moves to Brayford Primary School, the school sends the child's records there. Larkfield Homes, the builder of the 60 homes at Mill Lane, sends the dates its first homes will be lived in, and the school sends leaflets for its buyers. Draw the school as the system, with the parties it exchanges with outside it.
The brief
- Draw one boundary around the school. checked by the lab
- Place at least five external entities outside it. checked by the lab
- Show at least four external entities that both give to the school and receive from it. checked by the lab
- Each exchange names one thing: funding and the forecast of starters are two exchanges. you check this
- Leave off what passes between two parties outside the school, such as the county council's payments to Dale Coaches. you check this
Your palette
boundary external entity exchange
To draw in the lab, use a tablet or a larger screen. Everything else reads normally here.
Drag an external entity to move it. Select an external entity, an exchange or a boundary to change it. Pressing an empty spot adds nothing. Drag a boundary by its outline or its name to move it, and by the square at its corner to resize it. Double-click or double-tap a boundary's name, an external entity or an exchange's name to edit its words in place, or select it and use Rename or the fields under the canvas.
Nothing selected. Select a boundary, an external entity or an exchange on the canvas, and what you can change shows here.
The tools
- Arrange V
- move an external entity or a boundary (drag it), rename it (double-click it, or Rename or the Name field under the canvas), or select anything.
- Boundary B
- drag out a boundary around the system, and name it.
- External entities T
- add an external entity (press an empty spot outside the boundary) and name it.
- Exchanges X
- draw an exchange by dragging from an external entity into a boundary, or from a boundary out to an external entity, and name it.
Keys
- R reverse the selected exchange
- Delete delete what's selected
- Ctrl+Z undo
- Ctrl+Shift+Z redo
- Esc clear the selection
- Enter finish the words you're writing
- Esc cancel them
Keys act on the lab you last used, or on the open lab view, and never while you type.
0 of 8 checks passed; 8 pending.
- Draw one boundary around the school. (Not started)
- Place at least five external entities outside it. (Not started)
- Show at least four external entities that both give to the school and receive from it. (Not started)
Always checked
- One outermost boundary: the system (Not started)
- Boundaries nest or stay apart (Not started)
- External entities sit outside every boundary (Not started)
- Every external entity has an exchange (Not started)
- Every exchange has a name (Not started)
Written feedback
One defensible answer
It opens here once you've drawn a boundary or an external entity in the lab above. Your attempt saves as you draw.
Sources
Section titled “Sources”- Tom DeMarco, Structured Analysis and System Specification (Yourdon Press, 1978), on structured analysis’s top-level diagram: the whole system drawn as one process among the parties outside it.
- Edward Yourdon, Modern Structured Analysis (Yourdon Press, 1989), on the environmental model, the part of structured analysis that draws a system’s surroundings.
- Simon Brown, The C4 model: System context diagram, on the C4 model’s top level: a software system drawn as one box among the people and other systems it deals with.
- Donella H. Meadows, Thinking in Systems: A Primer (Chelsea Green, 2008), chapter 4, on boundaries as choices made afresh for each problem.
- John D. Sterman, Business Dynamics: Systems Thinking and Modeling for a Complex World (Irwin/McGraw-Hill, 2000), chapter 3, on the model boundary chart, which lists what a model treats as inside, as outside, and leaves out.
- Rebecca Lindsey, “Climate and Earth’s Energy Budget” (NASA Earth Observatory, 2009), on the sunlight Earth receives and the reflected sunlight and heat it sends to space: SC 02’s situation.