Hardware Architecting
Definition
Hardware architecting is the subclass of
architecting during which an
application’s
hardware architecture is produced.
Goals
The goals of hardware architecting 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.
Objectives
The objectives of hardware architecting 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
Examples of hardware architecting include:
- Architecting a web application's hardware.
- Architecting an embedded application's hardware.
Preconditions
Hardware architecting 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.
Completion Criteria
Hardware rchitecting 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.
Tasks
hardware architecting typically involves the following
producers performing the following architecting tasks:
Environments
Hardware architecting is typically performed using the
following environment(s) and associated tools:
Work Products
Hardware architecting typically results in the production of
the following
architecture work products:
Phases
Hardware architecting 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.