Systems Architecture · Chapter 3
A complex system has many elements or entities that are highly interrelated, interconnected, or interwoven.
Complex
An intrinsic property of the system: many interrelated, interconnected entities and relationships.
Complicated
A property of human perception: something overwhelms our ability to understand it. High apparent complexity.
Build systems of the necessary level of complexity that are not complicated.
This is our job as architects: to train our minds to understand complex systems so they do not appear complicated to us — or to anyone else who must work on the system.
The “value pathway” runs down the center; supporting entities (IT, coaching, admin, finance) flow in from the right; Marketing and Operations sit outside the system boundary. Source: Crawley, Cameron & Selva (2016), Fig. 3.1.
“All Gaul is divided into three parts.”
— Julius Caesar, The Gallic Wars
In the formal domain, form aggregates — we worry about physical/logical fit. In the functional domain, we decompose functions into more basic functions — and recombining them is where we encounter emergence: the real challenge.
Hierarchy is not always obvious from a functional-interaction diagram like Figure 3.1 — it took a separate view (Figure 3.2) to reveal that Sue outranks Amy, John, and Phil, who outrank everyone else.
Three flat layers — managers, group leaders, members — with no reporting structure implied within a layer. Source: Crawley, Cameron & Selva (2016), Fig. 3.2.
Three group leaders reporting to Sue, about four people reporting to each leader. Source: Crawley, Cameron & Selva (2016), Fig. 3.3.

Figure 3.4: one-level decomposition of Team XT. Source: Crawley, Cameron & Selva (2016).
Tip
One rarely sees a decomposition diagram more than two levels deep: a third level could hold up to 729 elements — far more than humans can routinely process.
Atomic part: from Greek átomos, “indivisible.”
Tip
Table 3.1 has two “Analyst” entities — we could instead define a class Analyst, with Analyst 1 and Analyst 2 as its instances. The 11 players on a soccer team and the 88 keys of a piano are instances of the classes “Player” and “Key.”
Specialization is akin to inheritance in object-oriented programming: a class is created from a more general class, inheriting some attributes and functionality while adding its own.
Node with an attribute Neighbors that is itself an array of NodesTop-down
Start from system goals, proceed to concept and high-level architecture, then increase detail until reaching the smallest entities of interest. Follows the “left-hand side” of the systems-engineering V model.
Bottom-up
Start from the artifacts, capabilities, or services available at the lowest-level entities, and build upward, predicting emergence.
Middle-out
Because truly complex systems have no real top or bottom, we always start somewhere in the hierarchy and reason a level or two up or down from there.
Tip
Good architects practice top-down, bottom-up, and middle-out reasoning, zigzagging between form and function throughout.
A description of a complex system’s architecture contains more information than any one person can readily comprehend.
Integrated model + projections: build one consistent model, then project it into whatever view is needed (floor plan, façade, section) — like modern 3D CAD. Views are guaranteed consistent because they come from the same model.
This course uses OPM (Object-Process Methodology), which follows the integrated-model approach.
Building a house: objects (Crane, Lumber, Foundations…) and processes (Foundation constructing, Wall constructing, Roofing) in one view. System Architect: Dov Dori, inventor of OPM. Source: Dori, D., gollner.ca (2008), reproduced in Crawley, Cameron & Selva (2016), Fig. 3.6.
OPM has its own visual conventions for the logical relationships from Section 3.4:
| Relationship | OPM Notation |
|---|---|
| Decomposition / aggregation | Triangle-headed tree |
| Specialization / generalization | Open-triangle tree |
| Class / instance | Instance nested inside the class box |
Tip
This course uses OPM as its architecture representation tool throughout.
| Feature of Complex Systems | Approach |
|---|---|
| Can be decomposed into smaller, more specialized entities | Decompose; identify hierarchy; continue to ~2 levels or atomic parts |
| Certain logical relationships recur among entities | Identify class/instance; identify specialization/generalization; identify recursion |
| Patterns of relationship can be exploited when reasoning | Top-down/bottom-up/middle-out; zigzag between form and function |
| Architecture can be viewed or projected for understanding | Project from a single integrated model (OPM) |
Part 2 — Analysis of System Architecture — begins with Chapter 4, developing form and function as the building blocks of architecture in depth.
Tip
Reference: Crawley, E., Cameron, B., & Selva, D. (2016). System Architecture: Strategy and Product Development for Complex Systems. Pearson. Chapter 3.

← Course Home · Systems Architecture · Chapter 3