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.
|Accessibility||The ease with which different facets of the system are exercised.|
|Aesthetics||The aesthetic quality of the user interface.|
|Consistency||The 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.|
|Availability1||The amount of system "up time."|
|Recoverability||The elegance with which the system recovers from failure.|
|Recovery time||The time to recover from a system failure.|
|Response time||The time for the system to provide a response.|
|Shutdown time||The time for the system to shut down.|
|Start-up time||The time for the system to start up.|
|Throughput||The capacity of the system to support a given flow of information.|
|Adaptability2||The 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.|
|Configurability3||The ease with which the system is configured.|
|Installability||The ease with which the system is installed.|
|Localizability||The level to which the system supports multiple human languages.|
|Maintainability4||The ease with which the system is maintained.|
|Scalability||The ease with which the system can scale in terms of data volumes and users.|
|Testability||The ease with which the system is tested.|
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.
|Third-party components||Any constraints on the use and cost of third-party components.|
|Implementation languages||The implementation languages to be used.|
|Platform support||The platforms that the system will support.|
|Resource limits||Limits on the use of resources such as memory and hard disk space.|
|Standards compliance||Any standards to which the system must conform.|
|External systems||External systems with which this system must interface.|
|Interface formats||The format of any data passed between this system and external systems.|
|Shape||The shape of the resulting hardware housing the system.|
|Size||The size of the hardware housing the system.|
|Weight||The 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.
Dig deeper into Rational software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.