Appendix B: Architectural Requirements


From "Capturing Architectural Requirements"

This appendix summarizes the architectural requirements to consider.


Functional requirements that are of particular relevance to architecture are generally derived from the analysis mechanisms listed in Appendix A.

AccessibilityThe ease with which different facets of the system are exercised.
AestheticsThe aesthetic quality of the user interface.
ConsistencyThe consistent use of mechanisms employed in the user interface. This applies both within the system, and with other systems.
Accuracy The accuracy of any calculations performed.
Availability1The amount of system "up time."
RecoverabilityThe elegance with which the system recovers from failure.
Recovery timeThe time to recover from a system failure.
Response timeThe time for the system to provide a response.
Shutdown time The time for the system to shut down.
Start-up timeThe time for the system to start up.
ThroughputThe capacity of the system to support a given flow of information.
Adaptability2The ease with which the system is adapted to new environments.
Auditability The ease with which the system provides audit trails of its execution.
Compatibility The compatibility of this system with previous versions of the system.
Configurability3The ease with which the system is configured.
InstallabilityThe ease with which the system is installed.
LocalizabilityThe level to which the system supports multiple human languages.
Maintainability4The ease with which the system is maintained.
ScalabilityThe ease with which the system can scale in terms of data volumes and users.
TestabilityThe ease with which the system is tested.

Design Requirement

A design requirement is simply a constraint on the refinement of an analysis mechanism, such as those listed in Appendix A. For example, a requirement for a relational database is a constraint on the refinement of a persistence analysis mechanism. The set of design requirements to consider is therefore derived directly from the list of analysis mechanisms.

Implementation Requirement
Third-party componentsAny constraints on the use and cost of third-party components.
Implementation languagesThe implementation languages to be used.
Platform supportThe platforms that the system will support.
Resource limitsLimits on the use of resources such as memory and hard disk space.
Standards complianceAny standards to which the system must conform.
Interface Requirement
External systemsExternal systems with which this system must interface.
Interface formatsThe format of any data passed between this system and external systems.
Physical Requirement
Shape The shape of the resulting hardware housing the system.
SizeThe size of the hardware housing the system.
WeightThe weight of the hardware housing the system.


1 Availability is also known as robustness.

2 Adaptability is also known as evolvability, plugability and upgradeability.

3 Configurability is also known as customizability, extensibility and flexibility.

4 Maintainability is also known as serviceability.

Downloadable resources

ArticleTitle=Appendix B: Architectural Requirements