Page 268 - DCAP304_DCAP515_SOFTWARE_PROJECT_MANAGEMENT
P. 268
Software Project Management
Notes software functionality within an overall business process is outside the scope of ISO 9126 and it
is only the software functionality, or essential purpose of the software component, that is of
interest for ISO 9126.
Following functionality, there are five other software attributes that characterize the usefulness
of the software in a given environment.
Each of the following characteristics can only be measured (and are assumed to exist) when the
functionality of a given system is present. In this way, for example, a system can not
possess usability characteristics if the system does not function correctly (the two just don’t go
together).
Reliability
Once a software system is functioning, as specified, and delivered the reliability feature describes
the capability of the system to maintain its service provision under defined conditions for
defined periods of time. One aspect of this characteristic is fault tolerance that is the ability of a
system to withstand component failure. For example if the network goes down for 20 seconds
then comes back the system should be able to recover and continue functioning.
Usability
Usability only exists with regard to functionality and refers to the simplicity of use for a given
function. For example a function of an ATM machine is to dispense cash as requested. Placing
common amounts on the screen for selection, i.e. $20.00, $40.00, $100.00 etc., does not impact the
function of the ATM but addresses the Usability of the function. The ability to learn how to use
a system (learn ability) is also a major sub characteristic of usability.
Efficiency
Efficiency is concerned with the system resources used when providing the necessary
functionality. The amount of disk space, memory, network etc. provides a good indication of
this characteristic. As with a number of these characteristics, there are overlaps. For example the
usability of a system is influenced by the system’s Performance, in that if a system takes three
hours to respond the system would not be easy to use although the essential issue is a performance
or efficiency characteristic.
Maintainability
The capability to recognize and fix a fault within a software component is what the maintainability
characteristic addresses. In other software quality models this characteristic is referenced as
supportability. Maintainability is impacted by code readability or complexity as well as
modularization. Anything that helps with identifying the cause of a fault and then fixing the
fault is the concern of maintainability. Also the ability to verify (or test) a system, i.e. testability,
is one of the sub characteristics of maintainability.
Portability
This characteristic refers to how well the software can accept to changes in its environment or
with its requirements. The sub characteristics of this characteristic include adaptability. Object
oriented design and implementation practices can contribute to the extent to which this
characteristic is present in a given system.
262 LOVELY PROFESSIONAL UNIVERSITY