SlideShare a Scribd company logo
1
Lecture 11: 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
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
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
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.
5
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.
6
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.
7
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.
8
Quality Dimensions
 David Garvin [Gar87]:
 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?
 Feature quality. Does the software provide features that
surprise and delight first-time end-users?
 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?
 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?
9
Quality Dimensions
 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?
 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?
 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.
 Perception. In some situations, you have a set of prejudices
that will influence your perception of quality.
10
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)
11
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]
12
“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.
13
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
14
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.
15
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.
16
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.
17
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.”
18
Achieving Software Quality
 Critical success factors:
 Software Engineering Methods
 Project Management Techniques
 Quality Control
 Quality Assurance

More Related Content

PDF
Software Quality Assurance
PPT
Chapter 14
PDF
Why Software Testing is Crucial in Software Development_.pdf
PDF
How Does Investing in Quality Software Pay Off in the Long Run?
PDF
Top Software Testing Trends for 2024.pdf
PPT
Chapter_14 sp1718.ppt
PDF
Career Choice for Graduates
Software Quality Assurance
Chapter 14
Why Software Testing is Crucial in Software Development_.pdf
How Does Investing in Quality Software Pay Off in the Long Run?
Top Software Testing Trends for 2024.pdf
Chapter_14 sp1718.ppt
Career Choice for Graduates

Similar to Quality Assurance in SE lecture week 08 .ppt (20)

PDF
Top Software Testing Trends for 2024:- Comprehensive Guide
PPTX
Fundamentals of testing
PDF
Uncover Hidden Issues: Thorough and Comprehensive Software Testing
DOCX
New Microsoft Word Document.docx
PDF
end-to-end custom software development.pdf
PDF
All You Need To Know About Custom Software Development
PDF
software testing
PDF
Beginner guide-to-software-testing
PPT
Custom Software Solutions Provider USA: Top 10 Challenges to Mitigate
PPTX
SoftwareEngineering.pptx
PPTX
SoftwareEngineering.pptx
PPTX
Fundamentals of testing
PPTX
Fundamental Of Testing (Dhea Frizky)
PDF
3. introduction to software testing
DOCX
Week 7 - Choices in Systems Acquisition and Risks, Security,.docx
PDF
How Testing Impacts the Software Development.pdf
PPTX
Fundamentals of Testing - Andika Dwi Ary Candra
PPTX
Software Testing Company in India.pptx
PDF
Top 10 Factors to Check Before Hiring a Mobile App Development Company.pdf
PPTX
Planning For Success Quality Management
Top Software Testing Trends for 2024:- Comprehensive Guide
Fundamentals of testing
Uncover Hidden Issues: Thorough and Comprehensive Software Testing
New Microsoft Word Document.docx
end-to-end custom software development.pdf
All You Need To Know About Custom Software Development
software testing
Beginner guide-to-software-testing
Custom Software Solutions Provider USA: Top 10 Challenges to Mitigate
SoftwareEngineering.pptx
SoftwareEngineering.pptx
Fundamentals of testing
Fundamental Of Testing (Dhea Frizky)
3. introduction to software testing
Week 7 - Choices in Systems Acquisition and Risks, Security,.docx
How Testing Impacts the Software Development.pdf
Fundamentals of Testing - Andika Dwi Ary Candra
Software Testing Company in India.pptx
Top 10 Factors to Check Before Hiring a Mobile App Development Company.pdf
Planning For Success Quality Management
Ad

More from RohanMalik45 (14)

PPTX
text Mining topic in data Mining subject
PPSX
Software development life cycle and model
PPT
Software Testing Strategies lecture .ppt
PPT
Software Quality Assurance SQA lecture.ppt
PPTX
Project management Scheduling software engineering.pptx
PPT
Design Concepts software engineering.ppt
PPTX
actionbar in android development course.pptx
PPTX
ANN lecture data mining by Muhammad faraz.pptx
PPTX
Compiler Construction ( lexical analyzer).pptx
PPTX
csc322:lecture 28 ( Deadlock) Operating.pptx
PDF
NLP in artificial intelligence .pdf
PPTX
artificial neural network lec 2 rt .pptx
PPTX
process pattern-1 software engineering.pptx
PPTX
Artificial Intelligence horn clause.pptx
text Mining topic in data Mining subject
Software development life cycle and model
Software Testing Strategies lecture .ppt
Software Quality Assurance SQA lecture.ppt
Project management Scheduling software engineering.pptx
Design Concepts software engineering.ppt
actionbar in android development course.pptx
ANN lecture data mining by Muhammad faraz.pptx
Compiler Construction ( lexical analyzer).pptx
csc322:lecture 28 ( Deadlock) Operating.pptx
NLP in artificial intelligence .pdf
artificial neural network lec 2 rt .pptx
process pattern-1 software engineering.pptx
Artificial Intelligence horn clause.pptx
Ad

Recently uploaded (20)

PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
01-Introduction-to-Information-Management.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Complications of Minimal Access Surgery at WLH
PDF
Business Ethics Teaching Materials for college
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
RMMM.pdf make it easy to upload and study
PPTX
Pharma ospi slides which help in ospi learning
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Microbial disease of the cardiovascular and lymphatic systems
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPH.pptx obstetrics and gynecology in nursing
Final Presentation General Medicine 03-08-2024.pptx
Cell Types and Its function , kingdom of life
01-Introduction-to-Information-Management.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Complications of Minimal Access Surgery at WLH
Business Ethics Teaching Materials for college
Week 4 Term 3 Study Techniques revisited.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Abdominal Access Techniques with Prof. Dr. R K Mishra
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
RMMM.pdf make it easy to upload and study
Pharma ospi slides which help in ospi learning
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
102 student loan defaulters named and shamed – Is someone you know on the list?
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx

Quality Assurance in SE lecture week 08 .ppt

  • 1. 1 Lecture 11: 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. 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. 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. 4 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.
  • 5. 5 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.
  • 6. 6 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.
  • 7. 7 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.
  • 8. 8 Quality Dimensions  David Garvin [Gar87]:  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?  Feature quality. Does the software provide features that surprise and delight first-time end-users?  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?  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?
  • 9. 9 Quality Dimensions  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?  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?  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.  Perception. In some situations, you have a set of prejudices that will influence your perception of quality.
  • 10. 10 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)
  • 11. 11 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]
  • 12. 12 “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.
  • 13. 13 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
  • 14. 14 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.
  • 15. 15 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.
  • 16. 16 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.
  • 17. 17 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.”
  • 18. 18 Achieving Software Quality  Critical success factors:  Software Engineering Methods  Project Management Techniques  Quality Control  Quality Assurance