0% found this document useful (0 votes)
22 views31 pages

Chapter 19 Quality Concepts

The document discusses software quality, defining it as the effective application of processes that create valuable products. It outlines various quality dimensions and factors, including performance, reliability, and maintainability, as well as the cost of quality which encompasses prevention, appraisal, and failure costs. Achieving software quality requires good project management, solid engineering practices, quality control actions, and quality assurance frameworks.

Uploaded by

tiya Abid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views31 pages

Chapter 19 Quality Concepts

The document discusses software quality, defining it as the effective application of processes that create valuable products. It outlines various quality dimensions and factors, including performance, reliability, and maintainability, as well as the cost of quality which encompasses prevention, appraisal, and failure costs. Achieving software quality requires good project management, solid engineering practices, quality control actions, and quality assurance frameworks.

Uploaded by

tiya Abid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

SOFTWARE

QUALITY
ENGINEERING
(SQE)
Chapter 19: Quality Concepts
1
WHAT IS
2
SOFTWARE
QUALITY?
 In the most general sense, software quality can be defined as:
 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.

3
GARVIN’S
4
QUALITY
DIMENSIONS
• Performance (speed) quality: Does the software deliver all
content, functions, and features that are specified as part of the
requirements model in a way that provides value to the end user?
• For the example of a mobile phone, this would be the speed in
which it opens applications or how well it can handle multiple apps
open at the same time.
• Feature quality: Features are the characteristics supporting the
basic performance of a product or service. Does the software provide
features that surprise and delight first-time end users?
 For example: In case of a smartphone, automatic updates or
automatic light adjustment improves its appeal to users. Whereas
common features like: facial or fingerprint recognition, the type of
lens used for the camera, the type of battery it uses or the operating
system will be part of almost every smartphone.

5
• Reliability: This dimension of quality is also related to the
functioning of the product and how likely it is to fail or malfunction
during a specific time period. It is expected for the products to
perform consistently during this time.
• Example: In the instance of a mobile phone, this can be measured
by the frequency of malfunctions. This becomes especially important
when the cost of fixing these issues rises.

• Conformance: Conformance is how a particular product’s design


meets a pre-defined standard.
• In our example, the mobile phone’s battery life must conform to the
length stated in its manual.

6
• Durability: The durability is defined as the amount of usage a
product can have before it shows signs of malfunctioning or has to
be replaced.
• Example: Typically, in the case of mobile phones, durability is
measured by the life of the battery, as in, when it fails to charge.

• Serviceability: Ease, cost and speed of a product’s repair all fall


under the dimension of serviceability.
• Example: A quick customer service for phone repair is often
something consumers look for when purchasing a mobile phone.

7
• Aesthetics: This looks at how a product feels, looks and sounds,
among others. This is based on the opinion of the individual and is
frequently a talking point among mobile phone users.
• Example: Aesthetical details such as overall size of the phone,
screen size, handset color and weight are all common
considerations.
• Perception: This looks at how a customer perceives the quality of
an item, depending on the way a brand markets it. This is hugely
affected by the advertisement, brand image and overall reputation
of the company.
• Example: Top rank mobile phone companies such as Samsung and
Apple have a reputation of quality in the mobile phone market
which consumers are aware of, even before purchase. Some smaller
manufacturers may suffer with this, as they cannot afford to
promote their product in this dominated industry.

8
MCCALL’S
9
QUALITY
FACTORS
 McCall, Richards, and Walters propose a useful categorization
of factors that affect software quality. These software quality
factors, shown in Figure 19.1 , focus on three important
aspects of a software product: its operational characteristics
(Product Operation), its ability to undergo change (Product
Revision), and its adaptability to new environments (Product
Transition).

10
PRODUCT REVISION
• Maintainability: The ease with which a software
system or component can be modified to correct
faults, improve performance or other attributes, or
adapt to a changed environment.
• Example: The size of a software module shall not
exceed 30 statements.
• Flexibility: Effort required to modify an operational
program or adjust changes. It defines how easily can
one add a new feature to a system.
• Example: The system shall support the addition of
conference calling feature in the future updates. 11
PRODUCT REVISION
• Testability: Effort required to test a program to
ensure that it performs its intended function.
• Example: The system shall verify the login
credentials of the users with the sign-up credentials
within 3 seconds.

12
PRODUCT TRANSITION
• Portability: Effort required to transfer the program
from one hardware and/or software system
environment to another.
• Example: The system shall support Android and
Windows operating systems.
• Reusability: Extent to which a program [or parts of a
program] can be reused in other applications
• Example: The calling module shall be designed in a
way that it can be used in other applications in the
future.
13
PRODUCT TRANSITION
 Interoperability: Interoperability means whether or
not the output of one system is acceptable as input to
another system, it is likely that the two systems run
on different computers interconnected by a network.
 An example of interoperability is the ability to roam
from one cellular phone network in one country to
another cellular network in another country.
 Two of the same electronic health record systems
exchanging patient information between two different
doctors' offices.
14
PRODUCT OPERATION
• Correctness: The extent to which a program satisfies its
specification and fulfils the customer’s objectives
• Ifa software system satisfies all the functional
requirements, the system is said to be correct.
• Example: Any functional specification of a system.

• Reliability: The extent to which a program can be expected


to perform its intended function with required precision.
• Example: One requirement of the new software system to be
installed in the main branch of a Bank, which operates 120
branches, is that it will not fail, on average, more than 10
minutes per month during the bank’s office hours.
15
PRODUCT OPERATION
 Efficiency: It concerns to what extent a software
system utilizes resources, such as computing power,
memory, disk space, communication bandwidth, and
energy.
• Example: The space required to install an application.

• Integrity/Security: Extent to which access to software


or data by unauthorized persons can be controlled.
• Example: Geographic Information System (GIS) shall
allow citizens to access it through Internet only for
viewing and copying data but not to insert changes.
16
PRODUCT OPERATION
• Usability: Effort required to learn, operate, prepare
input for, and interpret output of a program. A
software is considered to be usable if human users
find it easy to use.
• Example: Training a new employee shall take no
more than two days, immediately at the end of which
the trainee will be able to handle 45 service calls a
day.

17
ISO 9126
18
QUALITY
FACTORS
 The International Standards Organization (ISO) 9126 was developed in
an attempt to identify the key quality attributes for computer
software. The standard identifies six key quality attributes:
1) Functionality. The degree to which the software satisfies stated
needs as indicated by the following sub attributes: suitability, accuracy,
interoperability, compliance, and security.
For example a sales order processing systems should be able to record
customer information so that it can be used to reference a sales order.
2) Reliability. The amount of time that the software is available for
use as indicated by the following sub attributes: maturity, fault
tolerance, recoverability.
For example if the network goes down for 20 seconds then comes
back, the system shall be able to recover and continue functioning.

19
3) Usability . The degree to which the software is easy to use as
indicated by the following sub attributes: understandability,
learnability, operability.
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.
4) Efficiency. The degree to which the software makes optimal use
of system resources as indicated by the following sub attributes: time
behavior, resource behavior.
The amount of disk space, memory, network etc. provides a good
indication of this characteristic. For example the usability of a
system is influenced by the system’s Performance, in that if a system
takes 3 hours to respond the system would not be easy to use
although the essential issue is a performance or efficiency
characteristic.
20
5) Maintainability. The ease with which repair may be made to the
software as indicated by the following sub attributes: analyzability,
changeability, stability, testability.
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.
6) Portability. The ease with which the software can be transposed from
one environment to another as indicated by the following sub attributes:
adaptability, installability, conformance, replaceability.
For example, the application shall support Chrome and Safari web
browsers.

21
22
THE COST OF
QUALITY
 Quality is important, but it costs us time and money.
 Which cost should we be worried about? To answer
this question, we must understand both the cost of
achieving quality and the cost of low-quality software.
 The cost of quality includes all costs incurred in
performing quality-related activities.
 The cost of quality can be divided into costs
associated with prevention, appraisal, and failure
(Internal vs External)

23
 Prevention costs include those associated with preventing
defective or poor quality products from being manufactured.
 Appraisal costs, also referred to as inspection costs, relate
to the examination of the product before it is shipped to the
customer.
 Failure costs are those that would disappear if no errors
appeared before shipping a product to customers. Failure
costs may be sub-divided into internal failure costs and
external failure costs.
 Internal failure costs are incurred when you detect an error in a
product prior to shipment.
 External failure costs are associated with defects found after the
product has been shipped to the customer

24
 As expected, the relative costs to find and repair an error or
defect increase dramatically as we go from prevention to
detection to internal failure to external failure costs.

25
ACHIEVING
26
SOFTWARE
QUALITY
 Software quality doesn’t just appear. It is the result of
good project management and solid software
engineering practice.
 Both are applied within the context of four broad
activities that help a software team achieve to high
software quality:
(1) software engineering methods,
(2) project management techniques,
(3) quality control actions,
(4) software quality assurance.

27
1) Software Engineering Methods: If you expect to
build high-quality software, you must be capable of
creating a design that conforms to the problem while
at the same time exhibiting characteristics that lead to
software that exhibits the quality dimensions and
factors discussed before.
2) Project Management Techniques: Poor
management decisions always have a bad impact on
software quality. So, good and effective scheduling of
time, resources and money as well as efficient risk
planning can make quality affected in a positive way.

28
3) Quality Control: encompasses a set of software
engineering actions that help to ensure that each work
product meets its quality goals.
Models are reviewed to ensure that they are complete and
consistent.
Code may be inspected in order to uncover and correct
errors before testing commences.

4) Quality Assurance: Quality assurance establishes the


infrastructure that supports solid software engineering
methods, rational project management, and quality
control actions.
The goal of quality assurance is to provide management
and technical staff with the data necessary to be informed
about product quality. 29
30
BOOK READING
 Contents covered so far

31

You might also like