What is the difference between System Boundary and Context Boundary in requirements engineering?
The system boundary draws the line between the system and its environment; the context boundary draws a second, outer line between the environment that matters and the environment you can ignore.
* The system boundary separates the system from its environment; the context boundary separates the relevant environment from the irrelevant environment deliberately excluded. *
Think of two nested outlines. The inner one is what you are building; the ring between the two is the part of the world that touches it and therefore shapes its requirements; everything beyond the outer one is irrelevant and deliberately excluded so that the analysis stays tractable:
| Concept | Definition |
|---|---|
| System boundary | What is part of the system being built (the inner outline) |
| System context | The environment immediately surrounding the system, which it interacts with |
| Context boundary | Separates the relevant environment from the irrelevant environment |
| Irrelevant environment | Everything outside the context boundary |
For a web shop, for example: the shop application is the system; the payment provider, the warehouse system, the customers and the data-protection law that applies to them are the system context; the company's canteen supplier is irrelevant environment. Drawing both lines explicitly is what stops the two classic failures — endlessly expanding scope because "that touches us too", and missing a legal or neighbouring-system constraint because nobody decided it was in scope.
The two boundaries also answer different questions. The system boundary decides what you will build; the context boundary decides what you must know about. Something can easily sit outside the system boundary but well inside the context boundary — the payment provider is not yours to build, yet its interface dictates real requirements.
Tip: Both lines exist to keep the focus where requirements engineering belongs: on WHAT has to be created, not HOW to create it.
Go deeper:
System context diagram (Wikipedia) — the diagram that draws both boundaries explicitly and names every external entity crossing them.