Chapter 3: Developing System Architectures
System analysis pays attention to the required properties of a system, such as its functionality, while system design focuses on how to implement a system that implements those needs effectively. There are many different designs that can realize the same functionality, and system engineers must select a design based on how well it optimizes crucial system properties. This degree of optimization is determined by examining the measures of effectiveness (MoEs) that have been applied to the design. Design is all about optimization, and architecture is no different. Architecture is where high-level design concerns that organize and orchestrate the overall structure and behavior of the system are integrated.
Design exists at (at least) three levels of abstraction. The highest level – the focus of this chapter – is architectural design. Architectural design helps us make choices that optimize the system's overall properties...