The architectural destign for software is the equivalent to the floor plan of a ho use.The floor plan depicts the overall layout of the rooms; their size, shape, and relationship to one another; and the doors and windows that allow movement into and out of the rooms. The floor plan gives us an overall view of the house. Architectural design elements give us an overall view of the software. The architectural model is derived from three sources:
(1) information about the application domain for the software to be built;
(2) specific requirements model elements such as use cases or analysis classes, their relationships and collaborations for the problem at hand; and
(3) the availability of architectural styles (Chapter 13} and patterns (Chapter 16].
The architectural design element is usually depicted as a set of interconnected subsystems, often derived from analysis packages within the requirements model. Each subsystem may have its own architecture (e.g, a graphical user interface might be structured according to a preexisting architectural style for user interfaces]. Techniques for deriving specific elements of the architectural model are presented in Chapter 13.