Software Architecture

[Up] [Top]

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:

Software architecture is concerned with design at the system level. Certainly this includes system structure (or topology), discriminations among different kinds of structures, and abstractions or generalizations about structures and families of similar structures. It also includes identification, specification, and analysis of the properties that are related to these structures, either because they influence the selection of a structure or because they are consequences of that structure.

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.

[Up] [Top]

Updated Halloween 95 by Mary Shaw
Comments to maintainer