CH 3 Software Quality Factor

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Software Engineering

College of Arts, Media and Technology ,CMU.

Kittitouch S.
1.2-19-11-12
 Quality Factor
 The need for comprehensive software quality
requirements
 Classifications of software requirements into
software quality factors
 McCall’s factor model
 The various attributes of software and its use
and maintenance, as defined in software
requirements documents ,can be classified
into content groups called quality factors.
 There is a need for a comprehensive definition of
requirements that will cover all attributes of
software and aspects of the use of software,
including usability aspects, reusability aspects,
maintainability aspects, and so forth in order to
assure the full satisfaction of the users.
 McCall’s factor model
 Product operation factors:
Correctness, Reliability, Efficiency, Integrity, Usability.

 Product revision factors:


Maintainability, Flexibility, Testability.

 Product transition factors:


Portability, Reusability, Interoperability.
 McCall’s factor model
 Product operation factors:
Correctness, Reliability, Efficiency, Integrity, Usability.
 Reliability requirements deal with failures to provide service.
They determine the maximum allowed software system
failure rate, and can refer to the entire system or to one or
more of its separate functions.
 Correctness requirements are defined in a list
of the software system’s required outputs.
▪ The output mission
▪ Accuracy of output
▪ Completeness of the output information
▪ Up-to-date of the information
▪ Availability of the information
▪ The standard for coding and documenting of software
system
 Integrity requirements deal with the software system
security, that is, requirements to prevent access to
unauthorized persons, to distinguish between the majority
of personnel allowed to see the information (“read permit”)
and a limited group who will be allowed to add and change
data (“write permit”), and so forth.
 Efficiency requirements deal with the hardware resources
needed to perform all the functions of the software system
in conformance to all other requirements. The main
hardware resources to be considered are the computer’s
processing capabilities (measured in MIPS – million
instructions per second ,etc.)
 Usability requirements deal with the scope of staff
resources needed to train a new employee and to
operate the software system.

End of 3-1
 McCall’s factor model
 Product revision factors:
Maintainability, Flexibility, Testability.
 Maintainability requirements determine 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.

This factor’s requirements refer to the modular structure of


software, the internal program documentation, and the
programmer’s manual, among other items.
 The capabilities and efforts required to
support adaptive maintenance activities are covered by the
flexibility requirements. These include the resources(i.e. in
man-days) required to adapt a software package to a variety
of customers of the same trade, of various extents of
activities, of different ranges of products and so on.

This factor’s requirements also support perfective


maintenance activities.
 Testability requirements deal with the testing of an
information system as well as with its operation.
Testability requirements for the ease of testing are
related to special features in the programs that help
the tester, for instance by providing predefined
intermediate results and log files.
 McCall’s factor model
 Product transition factors:
Portability, Reusability, Interoperability.
 Portability requirements tend to the adaptation of a
software system to other environments consisting of
different hardware, different operating systems.
 Reusability requirements deal with the use of
software modules originally designed for one
project in a new software project currently being
developed.
 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).

 Interoperability requirements can specify the name(s) of the


software or firmware for which interface is required. They
can also specify the output structure accepted as standard in
a specific industry or applications area.
 Some quality factors not included in the typical client’s
requirements document may, in many cases, interest the
developer. The following list of quality factors usually
interest the developer whereas they may raise very little
interest on the part of the client:
 Portability
 Reusability
 Verifiability
 quality factors is examined by design reviews,
software inspections, software tests, and so forth.
Comprehensive discussions of design reviews,
software testing, software quality metrics and other
tools for verifying and validating the quality of
software are provided in the balance of this book.
 Chapter 3:Daniel Galin. SOFTWARE QUALITY ASSURANCE From
theory to implementation. Pearson Education Limited,2004.

You might also like