18.104.22.168 Develop the Architecture
The architecture of a system describes its parts and the ways
they interrelate. Like blueprints for a building, there may be various
software architectural descriptions, each detailing a different aspect. Each
architecture document usually includes a graphic and narrative about the
aspect it is describing.
The software architecture for a system describes the internal
structure of the software system. It breaks high-level functions into
subfunctions and processes and establishes relationships and interconnections
among them. It also identifies controlling modules, the scope of control,
hierarchies, and the precedence of some processes over others. Areas of
concern that are often highlighted during the establishment of the software
architecture include: system security, system administration, maintenance, and
future extensions for the system.
Another aspect of the software architecture may be the
allocation of resource budgets for CPU cycles, memory, I/O, and file size.
This activity often leads to the identification of constraints on the design
solution such as the number of customer transactions that can be handled
within a given period, the amount of inter-machine communication that can
occur, or the amount of data that must be stored.
The first software architecture model for a system is usually
presented at a very high level with only primary system functions represented.
An example of a high-level software architecture is presented in Figure 9.3-1.
As design progresses through detailed design, the architecture is continually