1.quality Concepts
1.quality Concepts
Module 3
Software quality -Definition
• An effective software process applied in a manner that creates
a useful product that provides measurable value for those who
produce it and those who use it.
• The definition emphasizes three points:
• An effective process establishes the infrastructure that supports
any effort at building a high quality product
• A useful product delivers content ,functions, features that the
end user desires , but as important it delivers these assets in a
reliable error free way.
• By adding value for both producer and user of a software product ,
high quality software provides benefits for the software
organization and to the end user community. The software
organization gains added value because high quality software
requires :
• Less maintenance efforts
• Fewer bug fixes
• Reduced customer support
• The end user community gains added value because the application
provides:
• Greater software product revenue
• Better profitability when the application supports a business
process
• Improved availability of information that is crucial for
• the business
Garvin’s quality dimensions
• Performance quality
• Does the software deliver all content ,functions ands features
that are specified in the requirements model.
• Feature quality :does the software provide features that
surprise and delight first time end users
• Reliability –does the software deliver all features without
failure.
• Conformance : does the software conforms to
local and external software standards that are
relevant to the application.
• Durability : can the software be maintained or
corrected without side effects
• Serviceability :can the software be maintained
or corrected in a short period.
• Aesthetics:
• Perception
McCall’s quality factors
• Correctness :extend to which the software satisfies its
specification and fulfills customer’s mission objectives
• Reliability: the extent to which the program can be expected to
perform its intended function.
• Efficiency: the amount of computing resources and code
required by the program to perform its function.
• Integrity : Extent to which access to software or data by
unauthorized persons can be controlled
• Usability: Effort required to learn, operate and prepare input for
and interpret output of a program
• Maintainability :effort required to locate and
fix an error
• Flexibility: effort required to modify an
operational program
• Testability: effort required to test a program to
ensure that it performs the intended function.
• portability : effort required to transfer the
program form one hardware/software
environment to another
• Reusability: extent to which the program parts
can be reused in other applications
• Interoperatability: Effort required to couple one
system to another
•
McCall’s quality factors
ISO 9126 quality Factors
• Functionality: degree to which software
satisfies the needs
• Reliability: the amount of time the software is
available for use.
• Usability –ease of use
• Efficiency –optimal use of resources
• Maintainability –ease with which repair can be
made to the software
• Portability: ease with which software can be
transported from one environment to another.
Targeted quality factors
• Intuitiveness
• :the degree to which the interface follows expected usage
patterns so that a novice can use it with out significant training
• Efficiency :the degree to which the operations and information
can be located or initiated.
• Robustness :the degree to which the software handles bad
input data or inappropriate user interaction.
• Richness : the degree to which the interface provided rich
feature set.
Achieving software quality