1
Software Quality
Dr. Tassawar Iqbal
Department of Computer Science
COMSATS University Islamabad, Wah Campus
To prepare the slides most of the content including text, figures and ideas are taken from following publically available sources:
1)Pressman, Roger S. Software Engineering: A Practitioner's Approach. 7th Edition
2)These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by
Roger Pressman.
Recap
 Requirement Engineering
 Analysis Modeling
 Design Modeling
2
Software Quality, Review &
Testing
 Important Quality Concepts [Ch:14]
 Review Techniques [Ch:15]
 Software Testing and Strategies [Ch:17]
3
Today’s Agenda
 Quality Concept?
 What is Software Quality?
 Quality Dimensions
 Cost of Quality and Impact of Decisions
4
5
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
6
Quality Dimensions
 Performance Quality. Does the software deliver all content, functions, and features
that are specified in 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?
7
Quality Dimensions
 Durability. Can the software be maintained (changed) or corrected (debugged)
without the 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
Cost of Quality
 We know that quality is important, but it costs us time and money—too much
time and money to get the level of software quality we really want
 There is no question that quality has a cost, but lack of quality also has a
cost—not only to end users who must live with buggy software, but also to the
software organization that has built and must maintain it
 The real question is this: which cost should we be worried about? To
answer this question, you must understand both the cost of achieving quality
and the cost of low-quality software
8
Cost of Quality
 The cost of quality can be divided into costs associated with
 Prevention
 Appraisal
 Failure
9
10
Cost of Quality
 Prevention costs include
 Quality planning/ Management activities for quality
• Formal technical reviews
• Test equipment/ testing plans
• Training
 Appraisal Cost
 to gain insight into product condition the “first time through” each
process
 Examples of appraisal costs include:
• Cost of conducting technical reviews (Chapter 15) for software engineering
work products
• Cost of data collection and metrics evaluation (Chapter 23)
• Cost of testing and debugging (Chapters 18 through 21)
Cost of Quality
 Failure Cost
 Failure costs are those that would disappear if no errors appeared before or after
shipping a product to customers
 Internal failure costs include
• Rework
• Repair
• Failure mode analysis
 External failure costs are
• Complaint resolution
• Product return and replacement
• Help line support
• Warranty work
11
12
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.
The cost savings associated with early quality control and assurance activities (conducted
during requirements analysis and design) are convincing
Impact of Management Decisions
 Software quality is often influenced as much by management decisions as it is by technology decisions
 Even the best software engineering practices can be subverted by poor business decisions and questionable project
management actions
 Estimation decisions
• Flexibility in estimates
 Scheduling decisions
• Tasks are sequenced based on dependencies
 Risk-oriented decisions
• What may go wrong and contingency plans
13
Summary
 What is Software Quality?
 Quality Dimensions
 Cost of Quality and Impact of Decisions
14

Software Quality Concepts(software engineering).ppt

  • 1.
    1 Software Quality Dr. TassawarIqbal Department of Computer Science COMSATS University Islamabad, Wah Campus To prepare the slides most of the content including text, figures and ideas are taken from following publically available sources: 1)Pressman, Roger S. Software Engineering: A Practitioner's Approach. 7th Edition 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.
    Recap  Requirement Engineering Analysis Modeling  Design Modeling 2
  • 3.
    Software Quality, Review& Testing  Important Quality Concepts [Ch:14]  Review Techniques [Ch:15]  Software Testing and Strategies [Ch:17] 3
  • 4.
    Today’s Agenda  QualityConcept?  What is Software Quality?  Quality Dimensions  Cost of Quality and Impact of Decisions 4
  • 5.
    5 Software Quality  Softwarequality 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
  • 6.
    6 Quality Dimensions  PerformanceQuality. Does the software deliver all content, functions, and features that are specified in 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?
  • 7.
    7 Quality Dimensions  Durability.Can the software be maintained (changed) or corrected (debugged) without the 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
  • 8.
    Cost of Quality We know that quality is important, but it costs us time and money—too much time and money to get the level of software quality we really want  There is no question that quality has a cost, but lack of quality also has a cost—not only to end users who must live with buggy software, but also to the software organization that has built and must maintain it  The real question is this: which cost should we be worried about? To answer this question, you must understand both the cost of achieving quality and the cost of low-quality software 8
  • 9.
    Cost of Quality The cost of quality can be divided into costs associated with  Prevention  Appraisal  Failure 9
  • 10.
    10 Cost of Quality Prevention costs include  Quality planning/ Management activities for quality • Formal technical reviews • Test equipment/ testing plans • Training  Appraisal Cost  to gain insight into product condition the “first time through” each process  Examples of appraisal costs include: • Cost of conducting technical reviews (Chapter 15) for software engineering work products • Cost of data collection and metrics evaluation (Chapter 23) • Cost of testing and debugging (Chapters 18 through 21)
  • 11.
    Cost of Quality Failure Cost  Failure costs are those that would disappear if no errors appeared before or after shipping a product to customers  Internal failure costs include • Rework • Repair • Failure mode analysis  External failure costs are • Complaint resolution • Product return and replacement • Help line support • Warranty work 11
  • 12.
    12 Cost  The relativecosts to find and repair an error or defect increase dramatically as we go from prevention to detection to internal failure to external failure costs. The cost savings associated with early quality control and assurance activities (conducted during requirements analysis and design) are convincing
  • 13.
    Impact of ManagementDecisions  Software quality is often influenced as much by management decisions as it is by technology decisions  Even the best software engineering practices can be subverted by poor business decisions and questionable project management actions  Estimation decisions • Flexibility in estimates  Scheduling decisions • Tasks are sequenced based on dependencies  Risk-oriented decisions • What may go wrong and contingency plans 13
  • 14.
    Summary  What isSoftware Quality?  Quality Dimensions  Cost of Quality and Impact of Decisions 14