Hardware Architecture Engineering
Hardware architecture engineering is the subclass of
architecture engineering during which an
application’s
hardware architecture is produced.
The goals of hardware architecture engineering are to:
- Produce and maintain the top-level strategic structure of
the hardware components of an application that captures the
most important, pervasive mechanisms and design decisions
including their rationales.
The objectives of hardware architecture engineering are to:
- Produce a formally documented consensus amoung the
project stakeholdlers (e.g., client, management, developers)
concerning the overall structure and major mechanisms of the
hardware of the next version [incremental iteration] of the
application.
- Provide input (e.g., number, size, and complexity of
hardware components) to the project cost and schedule
estimation task.
- Provide a basis (e.g., components) for the scheduling of
the project phases and builds.
- Maximize the quality of the hardware architecture:
- Correctness, completeness, consistency, and
understandability.
- To meet architecturally significant:
- Operational requirements,
- Quality requirements (e.g., extensibility,
scalability, performance, operational availability, and
security),
- Design constraints (e.g., use of existing databases),
and
- Business rules.
- Maximize the productivity of the architecture team (e.g.,
reuse of reusable architectural frameworks, reuse of
architecture conventions, and existence of example
documents).
Examples of hardware architecture engineering include:
- Architecting a web application's hardware.
- Architecting an embedded application's hardware.
Hardware architecture engineering typically may begin when the following preconditions hold:
- The
initiation phase has started.
- The
architecture team is initially staffed and adequately
trained in hardware architecting.
- Some architecturally significant requirements have been
specified.
Hardware architecture engineering is typically complete when the following postconditions hold:
- The hardware architecture has been documented.
- The deliverable work products in the architecture work
product set have:
- Passed evaluation.
- Been accepted by the customer.
- Been delivered to the customer.
Hardware architecture engineering typically involves the following producers performing the following architecting tasks:
Hardware architecture engineering is typically performed using the following environment(s) and associated tools:
Hardware architecture engineering typically results in the production of the following
architecture work products:
Hardware architecture engineering tasks are typically performed during the following phases:
Guidelines
- A hardware architecture must fulfill (and is therefore
validated against) the architecturally significant
operational and quality requirements.
- The hardware architecture drives and constrains the
tactical (i.e., detailed) design.
- This activity is documented using the typical
configuration for large projects. It is intended to be
configured (i.e., instantiated, extended, and tailored) to
meet the needs of specific projects.
- The preconditions of this activity should be the union of
the preconditions of its constituent tasks.
- The completion criteria for this activity should be the
union of the postconditions of its constituent tasks.