How are requirements and architecture related? What is in the requirements and what is in the architecture? And how do architecture and requirements interact? In this article, I describe this relationship and introduce the SYSMOD ZIGZAG pattern.
What and how?
When defining system requirements, the primary question is always "What does the system do?" I'd like to illustrate this with a simple example: a blood pressure monitor. A requirement might be, for instance, that the system should be able to measure and display systolic and diastolic blood pressure at the upper arm. This requirement clearly defines what the system does. How it does it is irrelevant to this requirement. Testing against this requirement verifies whether the blood pressure is measured and displayed. It does not verify whether the correct components are installed.

The first step is to clarify how requirements and architecture differ. The requirements describe what the system does, and the architecture describes how it does it. The architecture results in new requirements for the system. In our example, blood pressure measurement is implemented using a cuff, a pump, two valves, and a pressure sensor.
|
|
| Dipl.-Ing. Goran Madzar, Partner, Senior Systems Engineer E-mail: madzar@medtech-ingenieur.de Phone: +49 9131 691 240 |
|
Do you need support with the development of your medical device? We're happy to help! MEDtech Ingenieur GmbH offers hardware development, software development, systems engineering, mechanical development, and consulting services from a single source. Contact us. |
|
The ZIGZAG Pattern
This relationship is represented by the SYSMOD ZIGZAG pattern. Let's look at the example of the blood pressure monitor.

The requirement to measure blood pressure leads to an architecture with a pneumatic unit. This architecture, in turn, creates new system requirements. In this example, the overpressure shutdown, which is implemented through three architectural elements. The logical steps in the ZIGZAG pattern are "Zig" from the requirement to the architecture, "Zag" from the architecture to the new requirement, and "Zig" back to the architecture. This pattern can also be applied in the V-model.
In the figure above, the ZIGZAG pattern is shown on the left side of the V-model. This pattern is absolutely useful and independent of any tool or modeling language. In my opinion, understanding this pattern helps to better design requirements and architecture and manage their interactions.
Today I would like to end my article with a quote that also fits well with system architects :-)
"I am not a cynic or a skeptic, but an optimist. That is the most important prerequisite for becoming an architect." (Daniel Libeskind)
Best regards
Goran Madzar
