According to the International Council on Systems Engineering [INCOSE 2003]:
Phew. That's a long one. Clearly, we won't be providing a comprehensive discussion of systems engineering in this book. However, from the definition provided, we can apply systems engineering as a problem analysis technique , one that we can use in certain circumstances to understand the problems our applications are intended to solve. (For more on systems engineering, see Rechtin and Maier .)
In this context, systems engineering helps us understand the requirements that are going to be imposed on any software applications that run within the solution system . In other words, we'll apply systems engineering as a problem analysis technique to help us understand the requirements for our software applications, whether they run on an embedded microprocessor or a Linux server within the context of a worldwide telecommunications system.
Pragmatic Principles of Systems Engineering
If we choose to view systems engineering as a problem analysis technique, the specific steps, or at least the basic principles of the discipline, should provide us with the process we need to apply to use systems engineering to analyze the problem in our requirements context. The INCOSE Systems Engineering Practices working group [INCOSE 1993] defined a basic set of eight systems engineering principles.
This list identifies some pragmatic systems engineering principles. In fact, however, a subset of the systems engineering discipline is based on another process, the successive decomposition of complex systems into simpler ones.
The Composition and Decomposition of Complex Systems
With this process a complex problem, the system (Figure 7-1), is decomposed into smaller problems ”subsystems (Figure 7-2). Each subsystem can be reasoned about, successfully designed and manufactured, and then integrated to produce the solution system. The engineering disciplines that support the approach to system decomposition are implied in the attributes of the preceding definition, such as understanding the operational characteristics, manufacturability, testability, and so on.
Figure 7-1. A system in its environment
Figure 7-2. A system composed of two subsystems
This decomposition (or successive refinement) process proceeds until the systems engineer achieves the right results, as provided by quantitative measures that are specific to that particular systems engineering domain. In most cases, the subsystems defined in the initial composition are themselves further decomposed into subsubsystems, with the result appearing as in Figure 7-3.
Figure 7-3. A system composed of two subsystems, one of which contains two subsubsystems
In the most complex systems, this process continues until a large number of subsystems are developed. (The F22 fighter aircraft, for example, is said to be composed of 152 such subsystems.)
The systems engineer knows that the job is done and is "right" when the following conditions are met.