The correct option is
A All of the above
McCall proposedcorrectness, reliability, usability, integrity,
efficiency, maintainability, flexibility, testability, portability,
reusability, interoperability factors.
Aquality criterion
is an attribute of a quality
factor that is related to software development.
Correctness:-
Correctness requirements deal with the
correctness of the output of the software system. They include Output mission.
The required accuracy of output that can be negatively affected by inaccurate
data or inaccurate calculations. The completeness of the output information,
which can be affected by incomplete data.
Reliability:-
Reliability
requirements deal with service failure. They determine the maximum allowed
failure rate of the software system, and can refer to the entire system or to
one or more of its separate functions.
Efficiency:-
Efficiency deals with the
hardware resources needed to perform the different functions of the software
system. It includes processing capabilities, its storage capacity and the data
communication.
Integrity:-
Integrity deals with the
software system security, that is, to prevent access to unauthorized persons,
also to distinguish between the group of people to be given read as well as
write permit.
Usability:-
Usability
requirements deal with the staff resources needed to train a new employee and
to operate the software system.
Maintainability:-
Maintainability considers the efforts
that will be needed by users and maintenance personnel to identify the reasons
for software failures, to correct the failures, and to verify the success of
the corrections.
Flexibility:-
Flexibility deals with the
capabilities and efforts required to support adaptive maintenance activities of
the software. These include adapting the current software to additional
circumstances and customers without changing the software. This factor’s
requirements also support perfective maintenance activities, such as changes
and additions to the software in order to improve its service and to adapt it
to changes in the firm’s technical or commercial environment.
Testability:-
Testability
requirements deal with the testing of the software system as well as with its
operation. It includes predefined intermediate results, log files, and also the
automatic diagnostics performed by the software system prior to starting the
system, to find out whether all components of the system are in working order
and to obtain a report about the detected faults. Another type of these
requirements deals with automatic diagnostic checks applied by the maintenance
technicians to detect the causes of software failures.
Portability:-
Portability
requirements tend to the adaptation of a software system to other environments
consisting of different hardware, different operating systems, and so forth.
The software should be possible to continue using the same basic software in
diverse situations.
Reusability:-
Reusability deals with the use of software
modules originally designed for one project in a new software project currently
being developed. They may also enable future projects to make use of a given
module or a group of modules of the currently developed software. The reuse of
software is expected to save development resources, shorten the development
period, and provide higher quality modules.
Interoperability:-
Interoperability
requirements focus on creating interfaces with other software systems or with
other equipment firmware. For example, the firmware of the production machinery
and testing equipment interfaces with the production control software.