Efficiency
- Efficiency
- the quality factor representing the degree to which an
application or
component
effectively uses (i.e., minimizes its consumption of) its resources
As illustrated in the preceding figure, Efficiency is part of the following inheritance hierarchy:
- Type: Concrete
- Superclass: Quality Factor
- Subclasses:
- Bandwidth efficiency,
which is the efficiency of the network
- Processing efficiency,
which is the efficiency of the processors
- Storage efficiency,
which is the efficiency of the memory
- Power Effeciency
The typical responsibilities of Efficiency are to:
- Model how effectively resources are being utilized.
- Support the analysis and specification of
efficiency requirements.
- Provide a foundation for evaluating the quality of an architecture.
Efficiency is typically decomposed into the following aggregation hierarchy of subfactors:
Efficiency is typically measured in terms of the:
- Amount of memory
- CPU cycles
- Network bandwidth
- Facilities expense
- Personnel hours
Typical mechanisms for implementing efficiency include:
The following guidelines have been found to be useful when
producing efficiency requirements:
- Efficiency may include all types of resources such as
computing (hardware, software, and network), machinery,
facilities, and personnel.
- Avoid ambiguous efficiency requirements that are
therefore not validatable such as:
“The application shall minimize its use of
computational resources.”
- Typically, efficiency is inversely related to accuracy,
maintainability, portability, and understandability.