Very often the description of a system takes the form of a physical description of the component parts. For example, my Surface Pro 3 is described as constructed of magnesium, loaded with the Windows 10 operating system, and having a 10.8” widescreen at 1920 by 1280 resolution, 128GB storage, a quad core processor, dual HD cameras, and an integrated kickstand. While this description is informative it is only part of the story.
The other part of the story answers the question “What will it do?” Most often that part is the principle concern of the prospective buyer seeking to decide if the Surface Pro 3 will meet her needs. Those needs are the driver for her purchase, and her questions investigate those capability needs and the benefits they deliver. “Will it work with a Bluetooth keyboard? Can it handle large graphics files? Can I print from it? Can I hook it to a projector?” Even the advertisement of physical characteristics are tied to these questions of functionality. For example, “How much does it weigh?” is related to “Can I easily carry it with me?”
The principal relationship at work here is that of the logical and physical descriptions of a system. Every system can be described in both logical terms and in physical terms. The logical description (often referred to as the functional or behavioral description) tells what the system will do. The physical description tells how the system will do it. Every system can be described in both ways.
In the world of system design these descriptions are critical. Designs are driven by a set of needs that create the necessity for the system being designed. These needs are codified in a set of descriptive statements called requirements. The requirements are answered by the system functions that meet them. Thus, the logical or functional description of the system being designed is a direct answer to the needs stated in the requirements.
As we move the design forward the physical description is a product of the logical description as is often captured in the pithy guidance “form follows function.” We must first know what we want to do in order to then decide how we will do it. (Note: In the design space we call these descriptions architectures – the logical architecture and the physical architecture.) The physical architecture is – or should be – a product of the logical architecture.
At this point you may say, “This is obvious. Why belabor it?” It is obvious in concept but not always in practice. As expressed by a very senior engineer in a very large company, “I don’t fool with that functional stuff. I just allocate my requirements to the components.” That is reflective of a fundamental misunderstanding. As pointed out, it is the logical architecture that is the critical piece. What the system will do either does or does not meet the requirements. If the “what” is wrong it matters little “how” it is done.
It should also be pointed out that the “what” will be present in the system whether it is intentionally designed into the system based on the requirements or it is defined in by the “how” based on the selections around the components. The better practice, of course, is to create and use the opportunity to look at the requirements and construct the “what” intentionally from them. Even if we choose the components carefully in light of the requirements we are still allowing our choice of “what” to be constructed for us by the “how.”
If we make the error of going directly from requirements to the physical architecture, we are surrendering our functional choices in favor of constraints produced by physical choices. In the world of creativity and problem solving this is referred to as “jumping to solution.” Choosing an electric motor over a gasoline engine impacts the “what.” The choice of one forecloses the other and defines the “what” accordingly. But the construction of the “what” before reaching the decision of “how” leaves the decision space open to consider the tradeoffs.
It is the logical architecture, the detailed specification of what the system will do, that drives the system design. The choices of the physical architecture flow naturally from it creating an optimal solution to our design problem. That is the power of logic – deciding what must be done and then defining how to do it. It leads to the highest quality designs by providing the widest decision space in which to work.