For an introduction to software architecture, see [ GarlanShaw93 , Shaw93, Perry-Wolf92]. System design takes place at many levels. It is useful to make precise distinctions among those levels, for each level appropriately deals with different design concerns. Software design includes at least the following:
At the architecture level, the components of interest are modules and the interconnections among modules. Architectural styles guide the selection of kinds of components and of the strategies for composing them. As a result, the kinds of components and interconnections can differ substantially between architectural styles. The properties of interest include system structure, gross performance, component consistency, and other aggregate properties such as security and reliability.
Updated Halloween 95 by
Comments to maintainer