SlideShare a Scribd company logo
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 1
Chapter 14
 Quality Concepts
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman
For non-profit educational use only
May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is
prohibited without the express written permission of the author.
All copyright information MUST appear if these slides are posted on a website for student
use.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2
Software Quality
 In 2005, ComputerWorld [Hil05] lamented that
 “bad software plagues nearly every organization that uses
computers, causing lost work hours during computer downtime,
lost or corrupted data, missed sales opportunities, high IT support
and maintenance costs, and low customer satisfaction.
 A year later, InfoWorld [Fos06] wrote about the
 “the sorry state of software quality” reporting that the quality
problem had not gotten any better.
 Today, software quality remains an issue, but who is to blame?
 Customers blame developers, arguing that sloppy practices lead
to low-quality software.
 Developers blame customers (and other stakeholders), arguing
that irrational delivery dates and a continuing stream of changes
force them to deliver software before it has been fully validated.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 3
Quality
 The American Heritage Dictionary defines
quality as
 “a characteristic or attribute of something.”
 For software, two kinds of quality may be
encountered:
 Quality of design
• encompasses requirements, specifications, and the
design of the system.
 Quality of conformance
• is an issue focused primarily on implementation.
 User satisfaction = compliant product + good quality
+ delivery within budget and schedule
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 4
Quality—A Philosophical View
 Robert Persig [Per74] commented on the thing we call quality:
 Quality . . . you know what it is, yet you don't know what it is. But that's self-
contradictory. But some things are better than others, that is, they have more
quality. But when you try to say what the quality is, apart from the things that have
it, it all goes poof! There's nothing to talk about. But if you can't say what Quality
is, how do you know what it is, or how do you know that it even exists? If no one
knows what it is, then for all practical purposes it doesn't exist at all. But for all
practical purposes it really does exist. What else are the grades based on? Why else
would people pay fortunes for some things and throw others in the trash pile?
Obviously some things are better than others . . . but what's the betterness? . . . So
round and round you go, spinning mental wheels and nowhere finding anyplace to
get traction. What the hell is Quality? What is it?
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 5
Quality—A Pragmatic View
 The transcendental view argues (like Persig) that quality is
something that you immediately recognize, but cannot explicitly
define.
 The user view sees quality in terms of an end-user’s specific goals. If
a product meets those goals, it exhibits quality.
 The manufacturer’s view defines quality in terms of the original
specification of the product. If the product conforms to the spec, it
exhibits quality.
 The product view suggests that quality can be tied to inherent
characteristics (e.g., functions and features) of a product.
 Finally, the value-based view measures quality based on how much
a customer is willing to pay for a product. In reality, quality
encompasses all of these views and more.
6
Perspectives on quality
(Different definitions)
 Transcendent (“I really like this program”)
 User-based (“fitness for use”)
 Product-based (based on attributes of the
software)
 Manufacturing-based (conformance to specs)
 Value-based (balancing time and cost vs
profits)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 7
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 8
Software Quality
 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.
 This definition has been adapted from [Bes04] and replaces a
more manufacturing-oriented view presented in earlier editions
of this book.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 9
Effective Software Process
 An effective software process establishes the infrastructure that
supports any effort at building a high quality software product.
 The management aspects of process create the checks and
balances that help avoid project chaos—a key contributor to
poor quality.
 Software engineering practices allow the developer to analyze
the problem and design a solid solution—both critical to building
high quality software.
 Finally, umbrella activities such as change management and
technical reviews have as much to do with quality as any other
part of software engineering practice.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 10
Useful Product
 A useful product delivers the content, functions, and
features that the end-user desires
 But as important, it delivers these assets in a reliable,
error free way.
 A useful product always satisfies those requirements
that have been explicitly stated by stakeholders.
 In addition, it satisfies a set of implicit requirements
(e.g., ease of use) that are expected of all high quality
software.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 11
Adding Value
 By adding value for both the producer and user of a software
product, high quality software provides benefits for the software
organization and the end-user community.
 The software organization gains added value because high quality
software requires less maintenance effort, fewer bug fixes, and
reduced customer support.
 The user community gains added value because the application
provides a useful capability in a way that expedites some business
process.
 The end result is:
 (1) greater software product revenue,
 (2) better profitability when an application supports a business
process, and/or
 (3) improved availability of information that is crucial for the business.
12
Quality Dimensions
 David Garvin [Gar87]:
1. Performance 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?
2. Feature quality. Does the software provide features that surprise and delight first-
time end-users?
3. Reliability. Does the software deliver all features and capability without failure? Is it
available when it is needed? Does it deliver functionality that is error free?
4. Conformance. Does the software conform to local and external software standards
that are relevant to the application? Does it conform to de facto design and coding
conventions? For example, does the user interface conform to accepted design rules
for menu selection or data input?
5. Durability. Can the software be maintained (changed) or corrected (debugged)
without the inadvertent generation of unintended side effects? Will changes cause
the error rate or reliability to degrade with time?
6. Serviceability. Can the software be maintained (changed) or corrected (debugged)
in an acceptably short time period. Can support staff acquire all information they
need to make changes or correct defects?
7. Aesthetics. Most of us would agree that an aesthetic entity has a certain elegance,
a unique flow, and an obvious “presence” that are hard to quantify but evident
nonetheless.
8. Perception. In some situations, you have a set of prejudices that will influence your
perception of quality.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 13
Other Views
 McCall’s Quality Factors (SEPA, Section
14.2.2)
 ISO 9126 Quality Factors (SEPA, Section
14.2.3)
 Targeted Factors (SEPA, Section 14.2.4)
Quality
 IEEE Glossary of Software Engineering Terminology :
‘the degree to which a system, component, or process
meets customer or user needs or expectations’.
 Software quality should be measured primarily against
the degree to which user requirements are met:
 correctness, reliability, usability, etc
 Software lasts a long time and is adapted from time =>
important to do this within reasonable costs.
 maintainability, testability, portability, etc
SE, Quality, Hans van Vliet, ©2008 14
McCall’s Triangle of Quality
SE, Quality, Hans van Vliet, ©2008 15
3 categories
11 factors
16
Quality attributes (McCall)
 Product operation
 Correctness does it do what I want?
 Reliability does it do it accurately all of the time?
 Efficiency will it run on my hardware as well as it can?
 Integrity is it secure?
 Usability can I use it?
 Product revision
 Maintainability can I fix it?
 Testability can I test it?
 Flexibility can I change it?
 Product transition
 Portability will I be able to use it on another machine?
 Reusability will I be able to reuse some of the software?
 Interoperability will I be able to interface it with another system?
McCall’s Quality factors Defined
1. Correctness: The extent to which a program satisfies its specifications and
fulfils the user’s mission objectives.
2. Reliability: The extent to which a program can be expected to perform its
intended function with required precision.
3. Efficiency: The amount of computing resources and code required by a
program to perform a function.
4. Integrity: The extent to which access to software or data by unauthorized
persons can be controlled.
5. Usability: The effort required to learn, operate, prepare input, and interpret
output of a program.
6. Maintainability: The effort required to locate and fix an error in an operational
program.
7. Testability: The effort required to test a program to ensure that it performs its
intended function.
8. Flexibility: The effort required to modify an operational program.
9. Portability:The effort required to transfer a program from one hardware and/or
software environment to another.
10. Reusability: The extent to which a program (or parts thereof) can be reused in
other applications.
11. Interoperability: The effort required to couple one system with another.
17
SE, Quality, Hans van Vliet, ©2008 18
Taxonomy of quality attributes (ISO 9126)
1. Functionality
2. Reliability
3. Usability
4. Efficiency
5. Maintainability
6. Portability
The ISO quality characteristics strictly refer to a software product. Their
definitions do not capture process quality issues.
An important objective of the software architecture phase is to bring these
quality factors to the forefront and make the tradeoffs explicit, so that the
stakeholders know what they are in for
Definition of ISO quality attributes
1. Functionality:
 The capability of the software product to provide functions which meet stated
and implied needs when the software is used under specified conditions.
2. Reliability:
 The capability of the software product to maintain a specified level of
performance when used under specified conditions.
3. Usability:
 The capability of the software product to be understood, learned, used and
be attractive to the user, when used under specified conditions.
4. Efficiency:
 The capability of the software product to provide appropriate performance,
relative to the amount of resources used, under stated conditions.
5. Maintainability:
 The capability of the software product to be modified. Modifications may
include corrections, improvements or adaptation of the software to changes
in environment, and in requirements and functional specifications.
6. Portability:
 The capability of the software product to be transferred from one
environment to another. 19
ISO Quality Scheme
SE, Quality, Hans van Vliet, ©2008 20
• ISO scheme is hierarchical: each sub-characteristic is
related to exactly one characteristic.
• The sub-characteristics concern quality aspects that are
visible to the user. Reusability, for example, is not included
in the ISO scheme.
SE, Quality, Hans van Vliet, ©2008 21
22
ISO 9126 (cnt’d)
 ISO 9126 measures ‘quality in use’: the extent to
which users can achieve their goal
 Quality in use is modeled in four characteristics:
 Effectiveness
 Productivity
 Safety
 Satisfaction
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 23
The Software Quality Dilemma
 If you produce a software system that has terrible quality, you lose
because no one will want to buy it.
 If on the other hand you spend infinite time, extremely large effort,
and huge sums of money to build the absolutely perfect piece of
software, then it's going to take so long to complete and it will be so
expensive to produce that you'll be out of business anyway.
 Either you missed the market window, or you simply exhausted all
your resources.
 So people in industry try to get to that magical middle ground where
the product is good enough not to be rejected right away, such as
during evaluation, but also not the object of so much perfectionism
and so much work that it would take too long or cost too much to
complete. [Ven03]
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 24
“Good Enough” Software
 Good enough software delivers high quality functions and features that
end-users desire, but at the same time it delivers other more obscure or
specialized functions and features that contain known bugs.
 Arguments against “good enough.”
 It is true that “good enough” may work in some application domains and for a
few major software companies. After all, if a company has a large marketing
budget and can convince enough people to buy version 1.0, it has succeeded
in locking them in.
 If you work for a small company be wary of this philosophy. If you deliver a
“good enough” (buggy) product, you risk permanent damage to your
company’s reputation.
 You may never get a chance to deliver version 2.0 because bad buzz may
cause your sales to plummet and your company to fold.
 If you work in certain application domains (e.g., real time embedded software,
application software that is integrated with hardware can be negligent and
open your company to expensive litigation.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 25
Cost of Quality
 Prevention costs include
 quality planning
 formal technical reviews
 test equipment
 Training
 Internal failure costs include
 rework
 repair
 failure mode analysis
 External failure costs are
 complaint resolution
 product return and replacement
 help line support
 warranty work
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 26
Cost
 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.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 27
Quality and Risk
 “People bet their jobs, their comforts, their safety, their
entertainment, their decisions, and their very lives on computer
software. It better be right.” SEPA, Chapter 1
 Example:
 Throughout the month of November, 2000 at a hospital in Panama,
28 patients received massive overdoses of gamma rays during
treatment for a variety of cancers. In the months that followed, five of
these patients died from radiation poisoning and 15 others developed
serious complications. What caused this tragedy? A software
package, developed by a U.S. company, was modified by hospital
technicians to compute modified doses of radiation for each patient.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 28
Negligence and Liability
 The story is all too common. A governmental or corporate entity
hires a major software developer or consulting company to
analyze requirements and then design and construct a software-
based “system” to support some major activity.
 The system might support a major corporate function (e.g., pension
management) or some governmental function (e.g., healthcare
administration or homeland security).
 Work begins with the best of intentions on both sides, but by the
time the system is delivered, things have gone bad.
 The system is late, fails to deliver desired features and
functions, is error-prone, and does not meet with customer
approval.
 Litigation ensues.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 29
Quality and Security
 Gary McGraw comments [Wil05]:
 “Software security relates entirely and completely to quality. You
must think about security, reliability, availability, dependability—at
the beginning, in the design, architecture, test, and coding phases,
all through the software life cycle [process]. Even people aware of
the software security problem have focused on late life-cycle stuff.
The earlier you find the software problem, the better. And there are
two kinds of software problems. One is bugs, which are
implementation problems. The other is
software flaws—architectural problems in
the design. People pay too much attention to bugs and not
enough on flaws.”
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 30
Achieving Software Quality
 Critical success factors:
 Software Engineering Methods
 Project Management Techniques
 Quality Control
 Quality Assurance

More Related Content

Similar to Chapter_14 sp1718.ppt

Software Engineering
Software Engineering Software Engineering
Software Engineering
VandanaVipparthi
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
RohitGoyal183
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
ppp mmm
 
Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
PranavHirulkar1
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
Abrar ali
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
MuhammadTalha436
 
2107010-SE-Prototyping Model.pptx
2107010-SE-Prototyping Model.pptx2107010-SE-Prototyping Model.pptx
2107010-SE-Prototyping Model.pptx
DevangGentyal
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
NayyabMirTahir
 
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREEMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
ijseajournal
 
5- Requirement.ppt
5- Requirement.ppt5- Requirement.ppt
5- Requirement.ppt
ssusera1c25a
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Bule Hora University
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
FawazHussain4
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
Kalpna Saharan
 
Identification & analysis of parameters for program quality improvement a ree...
Identification & analysis of parameters for program quality improvement a ree...Identification & analysis of parameters for program quality improvement a ree...
Identification & analysis of parameters for program quality improvement a ree...
Alexander Decker
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.ppt
nathansel1
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Quality concept
Quality concept Quality concept
Software quality
Software qualitySoftware quality
Software qualityjagadeesan
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
Maris Prabhakaran M
 

Similar to Chapter_14 sp1718.ppt (20)

Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Chapter 03
Chapter 03Chapter 03
Chapter 03
 
Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
2107010-SE-Prototyping Model.pptx
2107010-SE-Prototyping Model.pptx2107010-SE-Prototyping Model.pptx
2107010-SE-Prototyping Model.pptx
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREEMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
 
5- Requirement.ppt
5- Requirement.ppt5- Requirement.ppt
5- Requirement.ppt
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Identification & analysis of parameters for program quality improvement a ree...
Identification & analysis of parameters for program quality improvement a ree...Identification & analysis of parameters for program quality improvement a ree...
Identification & analysis of parameters for program quality improvement a ree...
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.ppt
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Quality concept
Quality concept Quality concept
Quality concept
 
Software quality
Software qualitySoftware quality
Software quality
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 

Recently uploaded

Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.
alexthomas971
 
Exploring Career Paths in Cybersecurity for Technical Communicators
Exploring Career Paths in Cybersecurity for Technical CommunicatorsExploring Career Paths in Cybersecurity for Technical Communicators
Exploring Career Paths in Cybersecurity for Technical Communicators
Ben Woelk, CISSP, CPTC
 
Full Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptxFull Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptx
mmorales2173
 
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
yuhofha
 
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
taqyed
 
labb123456789123456789123456789123456789
labb123456789123456789123456789123456789labb123456789123456789123456789123456789
labb123456789123456789123456789123456789
Ghh
 
Erection Methodology (KG Marg) MLCP.pptx
Erection Methodology (KG Marg) MLCP.pptxErection Methodology (KG Marg) MLCP.pptx
Erection Methodology (KG Marg) MLCP.pptx
zrahman0161
 
一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理
yuhofha
 
Lbs last rank 2023 9988kr47h4744j445.pdf
Lbs last rank 2023 9988kr47h4744j445.pdfLbs last rank 2023 9988kr47h4744j445.pdf
Lbs last rank 2023 9988kr47h4744j445.pdf
ashiquepa3
 
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMAMISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
DK PAGEANT
 
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdfRECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
AlessandroMartins454470
 
'Guidance and counselling- role of Psychologist in Guidance and Counselling.
'Guidance and counselling- role of Psychologist in Guidance and Counselling.'Guidance and counselling- role of Psychologist in Guidance and Counselling.
'Guidance and counselling- role of Psychologist in Guidance and Counselling.
PaviBangera
 
一比一原版(YU毕业证)约克大学毕业证如何办理
一比一原版(YU毕业证)约克大学毕业证如何办理一比一原版(YU毕业证)约克大学毕业证如何办理
一比一原版(YU毕业证)约克大学毕业证如何办理
yuhofha
 
lab.123456789123456789123456789123456789
lab.123456789123456789123456789123456789lab.123456789123456789123456789123456789
lab.123456789123456789123456789123456789
Ghh
 
0624.speakingengagementsandteaching-01.pdf
0624.speakingengagementsandteaching-01.pdf0624.speakingengagementsandteaching-01.pdf
0624.speakingengagementsandteaching-01.pdf
Thomas GIRARD BDes
 
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
2zjra9bn
 
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
atwvhyhm
 
New Explore Careers and College Majors 2024
New Explore Careers and College Majors 2024New Explore Careers and College Majors 2024
New Explore Careers and College Majors 2024
Dr. Mary Askew
 
Leadership Ambassador club Adventist module
Leadership Ambassador club Adventist moduleLeadership Ambassador club Adventist module
Leadership Ambassador club Adventist module
kakomaeric00
 
Personal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignmentPersonal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignment
ragingokie
 

Recently uploaded (20)

Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.
 
Exploring Career Paths in Cybersecurity for Technical Communicators
Exploring Career Paths in Cybersecurity for Technical CommunicatorsExploring Career Paths in Cybersecurity for Technical Communicators
Exploring Career Paths in Cybersecurity for Technical Communicators
 
Full Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptxFull Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptx
 
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
一比一原版(TMU毕业证)多伦多都会大学毕业证如何办理
 
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
一比一原版(U-Barcelona毕业证)巴塞罗那大学毕业证成绩单如何办理
 
labb123456789123456789123456789123456789
labb123456789123456789123456789123456789labb123456789123456789123456789123456789
labb123456789123456789123456789123456789
 
Erection Methodology (KG Marg) MLCP.pptx
Erection Methodology (KG Marg) MLCP.pptxErection Methodology (KG Marg) MLCP.pptx
Erection Methodology (KG Marg) MLCP.pptx
 
一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理一比一原版(QU毕业证)皇后大学毕业证如何办理
一比一原版(QU毕业证)皇后大学毕业证如何办理
 
Lbs last rank 2023 9988kr47h4744j445.pdf
Lbs last rank 2023 9988kr47h4744j445.pdfLbs last rank 2023 9988kr47h4744j445.pdf
Lbs last rank 2023 9988kr47h4744j445.pdf
 
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMAMISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
MISS TEEN GONDA 2024 - WINNER ABHA VISHWAKARMA
 
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdfRECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
 
'Guidance and counselling- role of Psychologist in Guidance and Counselling.
'Guidance and counselling- role of Psychologist in Guidance and Counselling.'Guidance and counselling- role of Psychologist in Guidance and Counselling.
'Guidance and counselling- role of Psychologist in Guidance and Counselling.
 
一比一原版(YU毕业证)约克大学毕业证如何办理
一比一原版(YU毕业证)约克大学毕业证如何办理一比一原版(YU毕业证)约克大学毕业证如何办理
一比一原版(YU毕业证)约克大学毕业证如何办理
 
lab.123456789123456789123456789123456789
lab.123456789123456789123456789123456789lab.123456789123456789123456789123456789
lab.123456789123456789123456789123456789
 
0624.speakingengagementsandteaching-01.pdf
0624.speakingengagementsandteaching-01.pdf0624.speakingengagementsandteaching-01.pdf
0624.speakingengagementsandteaching-01.pdf
 
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
官方认证美国旧金山州立大学毕业证学位证书案例原版一模一样
 
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
 
New Explore Careers and College Majors 2024
New Explore Careers and College Majors 2024New Explore Careers and College Majors 2024
New Explore Careers and College Majors 2024
 
Leadership Ambassador club Adventist module
Leadership Ambassador club Adventist moduleLeadership Ambassador club Adventist module
Leadership Ambassador club Adventist module
 
Personal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignmentPersonal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignment
 

Chapter_14 sp1718.ppt

  • 1. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 1 Chapter 14  Quality Concepts Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.
  • 2. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2 Software Quality  In 2005, ComputerWorld [Hil05] lamented that  “bad software plagues nearly every organization that uses computers, causing lost work hours during computer downtime, lost or corrupted data, missed sales opportunities, high IT support and maintenance costs, and low customer satisfaction.  A year later, InfoWorld [Fos06] wrote about the  “the sorry state of software quality” reporting that the quality problem had not gotten any better.  Today, software quality remains an issue, but who is to blame?  Customers blame developers, arguing that sloppy practices lead to low-quality software.  Developers blame customers (and other stakeholders), arguing that irrational delivery dates and a continuing stream of changes force them to deliver software before it has been fully validated.
  • 3. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 3 Quality  The American Heritage Dictionary defines quality as  “a characteristic or attribute of something.”  For software, two kinds of quality may be encountered:  Quality of design • encompasses requirements, specifications, and the design of the system.  Quality of conformance • is an issue focused primarily on implementation.  User satisfaction = compliant product + good quality + delivery within budget and schedule
  • 4. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 4 Quality—A Philosophical View  Robert Persig [Per74] commented on the thing we call quality:  Quality . . . you know what it is, yet you don't know what it is. But that's self- contradictory. But some things are better than others, that is, they have more quality. But when you try to say what the quality is, apart from the things that have it, it all goes poof! There's nothing to talk about. But if you can't say what Quality is, how do you know what it is, or how do you know that it even exists? If no one knows what it is, then for all practical purposes it doesn't exist at all. But for all practical purposes it really does exist. What else are the grades based on? Why else would people pay fortunes for some things and throw others in the trash pile? Obviously some things are better than others . . . but what's the betterness? . . . So round and round you go, spinning mental wheels and nowhere finding anyplace to get traction. What the hell is Quality? What is it?
  • 5. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 5 Quality—A Pragmatic View  The transcendental view argues (like Persig) that quality is something that you immediately recognize, but cannot explicitly define.  The user view sees quality in terms of an end-user’s specific goals. If a product meets those goals, it exhibits quality.  The manufacturer’s view defines quality in terms of the original specification of the product. If the product conforms to the spec, it exhibits quality.  The product view suggests that quality can be tied to inherent characteristics (e.g., functions and features) of a product.  Finally, the value-based view measures quality based on how much a customer is willing to pay for a product. In reality, quality encompasses all of these views and more.
  • 6. 6 Perspectives on quality (Different definitions)  Transcendent (“I really like this program”)  User-based (“fitness for use”)  Product-based (based on attributes of the software)  Manufacturing-based (conformance to specs)  Value-based (balancing time and cost vs profits)
  • 7. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 7
  • 8. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 8 Software Quality  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.  This definition has been adapted from [Bes04] and replaces a more manufacturing-oriented view presented in earlier editions of this book.
  • 9. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 9 Effective Software Process  An effective software process establishes the infrastructure that supports any effort at building a high quality software product.  The management aspects of process create the checks and balances that help avoid project chaos—a key contributor to poor quality.  Software engineering practices allow the developer to analyze the problem and design a solid solution—both critical to building high quality software.  Finally, umbrella activities such as change management and technical reviews have as much to do with quality as any other part of software engineering practice.
  • 10. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 10 Useful Product  A useful product delivers the content, functions, and features that the end-user desires  But as important, it delivers these assets in a reliable, error free way.  A useful product always satisfies those requirements that have been explicitly stated by stakeholders.  In addition, it satisfies a set of implicit requirements (e.g., ease of use) that are expected of all high quality software.
  • 11. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 11 Adding Value  By adding value for both the producer and user of a software product, high quality software provides benefits for the software organization and the end-user community.  The software organization gains added value because high quality software requires less maintenance effort, fewer bug fixes, and reduced customer support.  The user community gains added value because the application provides a useful capability in a way that expedites some business process.  The end result is:  (1) greater software product revenue,  (2) better profitability when an application supports a business process, and/or  (3) improved availability of information that is crucial for the business.
  • 12. 12 Quality Dimensions  David Garvin [Gar87]: 1. Performance 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? 2. Feature quality. Does the software provide features that surprise and delight first- time end-users? 3. Reliability. Does the software deliver all features and capability without failure? Is it available when it is needed? Does it deliver functionality that is error free? 4. Conformance. Does the software conform to local and external software standards that are relevant to the application? Does it conform to de facto design and coding conventions? For example, does the user interface conform to accepted design rules for menu selection or data input? 5. Durability. Can the software be maintained (changed) or corrected (debugged) without the inadvertent generation of unintended side effects? Will changes cause the error rate or reliability to degrade with time? 6. Serviceability. Can the software be maintained (changed) or corrected (debugged) in an acceptably short time period. Can support staff acquire all information they need to make changes or correct defects? 7. Aesthetics. Most of us would agree that an aesthetic entity has a certain elegance, a unique flow, and an obvious “presence” that are hard to quantify but evident nonetheless. 8. Perception. In some situations, you have a set of prejudices that will influence your perception of quality.
  • 13. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 13 Other Views  McCall’s Quality Factors (SEPA, Section 14.2.2)  ISO 9126 Quality Factors (SEPA, Section 14.2.3)  Targeted Factors (SEPA, Section 14.2.4)
  • 14. Quality  IEEE Glossary of Software Engineering Terminology : ‘the degree to which a system, component, or process meets customer or user needs or expectations’.  Software quality should be measured primarily against the degree to which user requirements are met:  correctness, reliability, usability, etc  Software lasts a long time and is adapted from time => important to do this within reasonable costs.  maintainability, testability, portability, etc SE, Quality, Hans van Vliet, ©2008 14
  • 15. McCall’s Triangle of Quality SE, Quality, Hans van Vliet, ©2008 15 3 categories 11 factors
  • 16. 16 Quality attributes (McCall)  Product operation  Correctness does it do what I want?  Reliability does it do it accurately all of the time?  Efficiency will it run on my hardware as well as it can?  Integrity is it secure?  Usability can I use it?  Product revision  Maintainability can I fix it?  Testability can I test it?  Flexibility can I change it?  Product transition  Portability will I be able to use it on another machine?  Reusability will I be able to reuse some of the software?  Interoperability will I be able to interface it with another system?
  • 17. McCall’s Quality factors Defined 1. Correctness: The extent to which a program satisfies its specifications and fulfils the user’s mission objectives. 2. Reliability: The extent to which a program can be expected to perform its intended function with required precision. 3. Efficiency: The amount of computing resources and code required by a program to perform a function. 4. Integrity: The extent to which access to software or data by unauthorized persons can be controlled. 5. Usability: The effort required to learn, operate, prepare input, and interpret output of a program. 6. Maintainability: The effort required to locate and fix an error in an operational program. 7. Testability: The effort required to test a program to ensure that it performs its intended function. 8. Flexibility: The effort required to modify an operational program. 9. Portability:The effort required to transfer a program from one hardware and/or software environment to another. 10. Reusability: The extent to which a program (or parts thereof) can be reused in other applications. 11. Interoperability: The effort required to couple one system with another. 17
  • 18. SE, Quality, Hans van Vliet, ©2008 18 Taxonomy of quality attributes (ISO 9126) 1. Functionality 2. Reliability 3. Usability 4. Efficiency 5. Maintainability 6. Portability The ISO quality characteristics strictly refer to a software product. Their definitions do not capture process quality issues. An important objective of the software architecture phase is to bring these quality factors to the forefront and make the tradeoffs explicit, so that the stakeholders know what they are in for
  • 19. Definition of ISO quality attributes 1. Functionality:  The capability of the software product to provide functions which meet stated and implied needs when the software is used under specified conditions. 2. Reliability:  The capability of the software product to maintain a specified level of performance when used under specified conditions. 3. Usability:  The capability of the software product to be understood, learned, used and be attractive to the user, when used under specified conditions. 4. Efficiency:  The capability of the software product to provide appropriate performance, relative to the amount of resources used, under stated conditions. 5. Maintainability:  The capability of the software product to be modified. Modifications may include corrections, improvements or adaptation of the software to changes in environment, and in requirements and functional specifications. 6. Portability:  The capability of the software product to be transferred from one environment to another. 19
  • 20. ISO Quality Scheme SE, Quality, Hans van Vliet, ©2008 20 • ISO scheme is hierarchical: each sub-characteristic is related to exactly one characteristic. • The sub-characteristics concern quality aspects that are visible to the user. Reusability, for example, is not included in the ISO scheme.
  • 21. SE, Quality, Hans van Vliet, ©2008 21
  • 22. 22 ISO 9126 (cnt’d)  ISO 9126 measures ‘quality in use’: the extent to which users can achieve their goal  Quality in use is modeled in four characteristics:  Effectiveness  Productivity  Safety  Satisfaction
  • 23. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 23 The Software Quality Dilemma  If you produce a software system that has terrible quality, you lose because no one will want to buy it.  If on the other hand you spend infinite time, extremely large effort, and huge sums of money to build the absolutely perfect piece of software, then it's going to take so long to complete and it will be so expensive to produce that you'll be out of business anyway.  Either you missed the market window, or you simply exhausted all your resources.  So people in industry try to get to that magical middle ground where the product is good enough not to be rejected right away, such as during evaluation, but also not the object of so much perfectionism and so much work that it would take too long or cost too much to complete. [Ven03]
  • 24. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 24 “Good Enough” Software  Good enough software delivers high quality functions and features that end-users desire, but at the same time it delivers other more obscure or specialized functions and features that contain known bugs.  Arguments against “good enough.”  It is true that “good enough” may work in some application domains and for a few major software companies. After all, if a company has a large marketing budget and can convince enough people to buy version 1.0, it has succeeded in locking them in.  If you work for a small company be wary of this philosophy. If you deliver a “good enough” (buggy) product, you risk permanent damage to your company’s reputation.  You may never get a chance to deliver version 2.0 because bad buzz may cause your sales to plummet and your company to fold.  If you work in certain application domains (e.g., real time embedded software, application software that is integrated with hardware can be negligent and open your company to expensive litigation.
  • 25. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 25 Cost of Quality  Prevention costs include  quality planning  formal technical reviews  test equipment  Training  Internal failure costs include  rework  repair  failure mode analysis  External failure costs are  complaint resolution  product return and replacement  help line support  warranty work
  • 26. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 26 Cost  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.
  • 27. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 27 Quality and Risk  “People bet their jobs, their comforts, their safety, their entertainment, their decisions, and their very lives on computer software. It better be right.” SEPA, Chapter 1  Example:  Throughout the month of November, 2000 at a hospital in Panama, 28 patients received massive overdoses of gamma rays during treatment for a variety of cancers. In the months that followed, five of these patients died from radiation poisoning and 15 others developed serious complications. What caused this tragedy? A software package, developed by a U.S. company, was modified by hospital technicians to compute modified doses of radiation for each patient.
  • 28. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 28 Negligence and Liability  The story is all too common. A governmental or corporate entity hires a major software developer or consulting company to analyze requirements and then design and construct a software- based “system” to support some major activity.  The system might support a major corporate function (e.g., pension management) or some governmental function (e.g., healthcare administration or homeland security).  Work begins with the best of intentions on both sides, but by the time the system is delivered, things have gone bad.  The system is late, fails to deliver desired features and functions, is error-prone, and does not meet with customer approval.  Litigation ensues.
  • 29. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 29 Quality and Security  Gary McGraw comments [Wil05]:  “Software security relates entirely and completely to quality. You must think about security, reliability, availability, dependability—at the beginning, in the design, architecture, test, and coding phases, all through the software life cycle [process]. Even people aware of the software security problem have focused on late life-cycle stuff. The earlier you find the software problem, the better. And there are two kinds of software problems. One is bugs, which are implementation problems. The other is software flaws—architectural problems in the design. People pay too much attention to bugs and not enough on flaws.”
  • 30. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 30 Achieving Software Quality  Critical success factors:  Software Engineering Methods  Project Management Techniques  Quality Control  Quality Assurance