Architecture Production
- Architecture Production
- the architecting
task during which an
architecture
is produced
As illustrated in the preceding figure, architecture production is part of the following inheritance hierarchy:
- Type: Concrete
- Superclass: Task
- Subclasses: None
The typical responsibilities of the architecture production task are to:
- Create and iterate the architecture
- Determine the architectural elements of the system, center, or component:
- Identify these architectural elements.
- Determine the black-box responsibilities of these architectural elements.
- Determine the relationships and interfaces between these architectural elements.
- Determine the way these architectural elements will collaborate to achieve their allocated requirements.
- Verify and trace the logical architecture(s) back to their requirements.
Architecture production typically can begin when the following preconditions hold:
Although an architecture will be subject to iteration and evolution as long as the associated system
is being maintained, architecture production is typically complete when the following postconditions hold:
- The architecture is complete:
- All architectural elements of all relevant types have been identified.
- The black-box responsibilities of these architectural elements have been determined.
- The relationships and interfaces between these architectural elements have been determined.
- The way these architectural elements will collaborate to achieve their allocated requirements has been determined.
- The architecture has been analyzed and shown to fulfill its allocated architecturally-significant requirements.
- The relevant views and perspectives of the architecture has been documented.
- The architecture has been evaluated and approved by its stakeholders.
Logical architecture production typically involves the
architecture team
performing the following steps in an incremental, iterative, parallel, and time-boxed manner:
- Preparation.
Prepare by identifying and evaluating the:
- View and Perspective Selection.
Determine the appropriate types of views and perspectives of the architecture to produce:
- Identify appropriate (i.e., useful and cost-effective) architectural views to produce
(e.g., decomposition views, functional views, interface views, collaboration views, data views, and state views).
- Identify appropriate perspectives of these architectural views to produce.
(e.g., availability, performance, reliability, robustness, safety, and security)
to support specialty engineering disciplines.
- Architecture Development.
Develop the architecture:
- Identify the architectural elements based on the selected views and perspectives:
- Subsystems and Assemblies
- Data, Hardware, Software, Personnel, Procedural, and Facilities Components
- Configuration Items
- Determine the black-box responsibilities of these architectural elements.
- Determine the relationships and interfaces between these architectural elements:
- Application Programmer Interfaces (APIs)
- Hardware interfaces
- Wired and Wireless Communications Networks
- Allocation of Software and Data to Hardware
- Determine the way these architectural elements will collaborate to achieve their allocated requirements.
- Architectural Patterns Selection.
- Architectural Mechanism Production.
- Architecture Analysis.
Logical architecture production typically can be performed using the following techniques:
Logical architecture production typically results in the
production of all or part of the following work products:
- Diagrams:
- Views such as:
- Decomposition Views
- Functional Views
- Interface Views
- Collaboration Views
- Data Views
- State Views
- Perspectives such as:
- Avaliability Perspectives
- Interoperability Perspectives
- Performance Perspectives
- Reliability Perspectives
- Robustness Perspectives
- Safety Perspectives
- Security Perspectives
- Supporting Text
- Requirements traceability matrices
- The quality requirements (e.g., scalability, operational
availability) often have a greater impact on the overall
architecture than do most functional requirements.