In the UML User Guide, Booch et al cite a number of activities involved in modeling a system's architecture. These activities include:
In addition, the authors outline various views that apply to both the overall
system and each of the subsystems:
Use Case view: Represents use cases describing system behavior as seen
by analysts, end users, and testers. Models consist of Use Case diagrams for
the static aspects of a system and appropriate combinations of Activity, Collaboration,
Sequence, and State diagrams for dynamic aspects.
Design view: Represents a design view specifying classes, interfaces, and collaborations. These provide a working vocabulary for the system in terms of problem and solution. Models consist of Class diagrams (including Objects as necessary) to represent static aspects of a system with appropriate combinations of Activity, Collaboration, Sequence, and State diagrams for dynamic aspects.
Process view: Represents a process view to describe the threads and processes of synchronization and concurrency mechanisms. Models consist of diagrams used for the Design view with active classes and objects representing threads and processes.
Implementation view: Represents the components used to build and release the system. Models consist of Component diagrams for the static aspects of a system with appropriate combinations of Activity, Collaboration, Sequence, and State diagrams for dynamic aspects.
Deployment view: Represents the nodes, components, and interfaces forming
the hardware topology for the runtime system. Models consist of Deployment diagrams
for static aspects of a system with appropriate combinations of Activity, Collaboration,
Sequence, and State diagrams to for dynamic aspects.
Patterns: Represent the architectural and design patterns of each of the previous models with appropriate diagrams to show collaborations.
Together supports all of the Unified Modeling Language (UML) diagrams: