SOFTWARE QUALITY
Chapter 1
INTRODUCTION
TO
SOFTWARE QUALITY
SOFTWARE
Definition:
The collection of computer programs and related data
that provide the instructions telling a computer what to
do by user needed.
QUALITY MATTERS
Producing quality products has been identified as a key
factor in the long term success (i.e. profitability) of
organizations.
Quality doesn’t happen by chance.
Quality requires on ongoing commitment by all parties
(management, designers, developers).
The commitment to quality includes the use of careful
development processes. Quality control must be
embedded into the process.
DEFINITION: QUALITY
Quality is conformance to requirements, both
explicit and implicit.
Implicit and Explicit Requirement
Think of a car :
Explicit requirements are the size of engine, number
of doors, color, etc (user-based & manufacturing
views).
Implicit requirements include the standards to which
the has been built (product based view).
DEFINITION: QUALITY
Quality, simplistically, means that a product
should meet its specification.
This is problematical for software systems
There is a tension between customer quality
requirements (efficiency, reliability, etc.) and
developer quality requirements (maintainability,
reusability, etc.);
Some quality requirements are difficult to specify
in an unambiguous way;
Software specifications are usually incomplete
and often inconsistent.
DEFINITION: QUALITY
DEFINITION: QUALITY
SOFTWARE QUALITY VERSUS QUALITY
SOFTWARE
At the outset of the subject it is important to distinguish
between
(i) Software quality, and
(ii) Quality software.
Both will be emphasized in this subject. A mistake that is
often made is not to distinguish between these two
concepts. This can lead to a lot of confusion.
SOFTWARE QUALITY
At the highest level software quality is a body of
knowledge that describes:
• what must be done, and
• how it must be done
In other words the field of software quality embodies a
specification and an implementation of processes for
realizing quality software.
SOFTWARE QUALITY
SOFTWARE QUALITY
QUALITY SOFTWARE
DEFINITION
Is software that exhibits all the functional capabilities and
non-functional attributes that ensure that it can be put to all
its intended uses with the least effort, inconvenience and
resource cost to the user.
This definition implies two things:
1. software should function correctly with respect to a
specification that has been predefined by the client who has
commissioned the development of the software
2. software must possess attributes other than correctness with
respect to a specification before it can be classified as
quality software
QUALITY SOFTWARE
The International standard for Software Product
Evaluation : ISO-9126 released in 1991 lists six key
factors that are important in the production of quality
software. They are:
QUALITY SOFTWARE
1. Functionality
2. Reliability
3. Usability
4. Efficiency
5. Maintainability
6. portability
SOME SIMPLISTIC DEFINITIONS
CROSBY
"Quality is conformance to requirements"
OULD
"Software quality means fitness-for-purpose"
ISO-8402
Quality is all the features that allow a product to satisfy
stated or implied needs at an affordable cost
SOME SIMPLISTIC DEFINITIONS
GARVIN
Gives five views of quality:
1. Transcendent
2. product-based
3. user-based
4. manufacturing-based
5. value-based
KEY IDEAS
There are three key ideas that underpin most of what we
will discuss in this course.
1. Process
It is generally accepted that the quality of the process plays
a crucial role in determining the quality of the product
KEY IDEAS
2. Constructive Principle
Quality must be built into software from the outset - it
cannot be added on later
3. People
Above all else it is people that determine whether or not a
quality product is produced
ASSIGNMENT/DISCUSSION
Find and discuss how the management can involve in
software quality.
Give an example in real situation where you have come
across for software quality problems/issues.
SOFTWARE QUALITY
CHARACTERISTICS
The goal of software engineering is, of course, to
design and develop better software.
what exactly does "better software" mean?
some common software quality characteristics.
Six of the most important quality characteristics
are maintainability, correctness, reusability,
reliability, portability, and efficiency.
SOFTWARE ERROR, FAULT AND
FAILURES
We’ve used Simplex Hr Software for about three years and
never had software failures
I started to use Simplex HR two month ago; we had so
many failures and might be to replace with another
software
We’ve been use for almost 4 years, and everything was ok
until the last few month when we suddenly faced several
failures.
Is it possible for such a variation in users experience with
failure to appear with the same software package?
Can software package that successfully served for long period
suddenly change the nature “quality” and become bug
SOFTWARE ERROR, FAULT AND
FAILURES
The answer is yes, and it rooted in the characteristic of
the software
Origin of software failures lies in a software error made
by a programmer.
Not all software error become software faults. In some
case, the software error can cause improper function of
the software.
SOFTWARE ERROR, FAULT AND
FAILURES
The causes of software error:-
1. Faulty definition of requirement
2. Client-developer communication failures
3. Deliberate deviation from software requirement
4. Logical design errors
5. Coding error
6. Non-compliance with documentation and coding
instructions
7. Shortcoming of the testing process.
8. Procedure error
9. Documentation error
SOFTWARE ERROR, FAULT AND
FAILURES
Software error:
Are section of the code that are partially or totally incorrect
as a result of grammatical, logical or other mistake made by a
system analyst, programmer or others.
Software fault:
Are software errors that cause the incorrect functioning of the
software during a specific application
Software failures:
Software fault will become software failures only when the
are activated.