Software Quality Models
by:
Dr. Shahid Farid
Software Quality Assurance
Software Quality Assurance (SQA) 2
Outline
■ McCall’s Quality Model (1977)
■ Boehm’s Quality Model (1978)
■ FURPS/FURPS+
■ Dromey's Quality Model
■ ISO Models (ISO 9126)
■ Capability Maturity Model(s)
■ Six Sigma
Software Quality Assurance (SQA) 3
McCall’s Quality Model
■ Three major perspectives for defining
and identifying the quality of a
software product:
■ Product Revision (ability to undergo
changes),
■ Product Transition (adaptability to new
environments) and
■ Product Operations (its operation
characteristics).
Software Quality Assurance (SQA) 4
McCall’s Quality Model
■ The model details the three types of
quality characteristics in a hierarchy of
■ 11 Factors,
■ 23 Quality Criteria and
■ Metrics
McCall’s Quality Model (Cont.)
 It distinguishes between two levels of quality attributes:
1. Quality Factors
 The higher level quality attributes which can be accessed
directly are called quality factors.
 These attributes are external attributes.
 The attributes in this level are given more importance by the
users and managers.
2. Quality Criteria
 The lower or second level quality attributes which can be
accessed either subjectively or objectively are called Quality
Criteria.
 These attributes are internal attributes.
 Each quality factor has many second level of quality
attributes or quality criteria.
Software Quality Assurance (SQA) 5
McCall’s Quality Model
 It classifies all software requirements
into 11 software quality factors.
 The 11 factors are organized into three
product quality factors
 Product operation,
 Product revision, and
 Product transition factors.
Software Quality Assurance (SQA) 6
Software Quality Assurance (SQA) 7
McCall’s Quality Model
McCall’s Quality Model (Cont.)
Software Quality Assurance (SQA)
Use Factor Criteria
Product
Operation
Usability oOperability
oTraining
oCommunicativeness
oI/O Volume
oI/O Rate
Integrity oAccess Control
oAccess Audit
Efficiency oStorage Requirement
oExecution Speed
Correctness oTraceability
oCompleteness
oConsistency
Reliability oAccuracy
oError Tolerance
oConsistency
oSimplicity 8
McCall’s Quality Model (Cont.)
Product Revision
Maintainability oConsistency
oSimplicity
oConciseness
oSelf-descriptiveness
oModularity
Testability oSimplicity
oScope for Automation
Flexibility oExpandability
oArchitecture Usability
oSelf descriptiveness
oModularity
Software Quality Assurance (SQA) 9
McCall’s Quality Model (Cont.)
Product
Transition
Re-usability oArchitectural Usability
oSelf Descriptiveness
oModularity
oMachine Independence
oOperating system Independence
Portability oSelf Descriptiveness
oModularity
oMachine Independence
oOS Independence
Software Quality Assurance (SQA) 10
Software Quality Assurance (SQA) 11
Software Quality Assurance (SQA) 12
Boehm’s Quality Model
■ Similar to the McCall Quality Model
■ Presents a hierarchical quality model
structured around
■ High-level characteristics,
■ Intermediate level characteristics,
■ Primitive characteristics
The Highest Level
1. As is utility
 Extent to which, we can use software as-is.
2. Maintainability
 Effort required to detect and fix an error
during maintenance.
3. Portability
 Effort required to change software to fit in
a new environment
Software Quality Assurance (SQA) 13
Intermediate Level
Characteristic
 Portability –
Effort required to change software to fit in a new
environment.
 Reliability –
Extent to which software performs according to
requirements.
 Efficiency –
Amount of hardware resources and code required to
execute a function.
 Usability (Human Engineering) –
Extent of effort required to learn, operate and
understand functions of the software.
Software Quality Assurance (SQA) 14
Intermediate Level
Characteristic (cont.)
 Testability –
Effort required to verify that software
performs its intended functions.
 Understandability –
Effort required for a user to recognize
logical concept and its applicability.
 Modifiability –
Effort required to modify a software during
maintenance phase.
Software Quality Assurance (SQA) 15
Software Quality Assurance (SQA) 16
Boehm’s Quality Model
Boehm's Software Quality Characteristics
Tree
Software Quality Assurance (SQA) 17
McCall’s & Boehm’s Quality
Models: a comparison
Boehm’s Model
 Advantages :
 It focuses and tries to satisfy the needs of the
user.
 It focuses on software maintenance cost
effectiveness.
 Disadvantages :
 It doesn’t suggest, how to measure the quality
characteristics.
 It is difficult to evaluate the quality of software
using the top-down approach
Software Quality Assurance (SQA) 18
Software Quality Assurance (SQA) 19
FURPS/FURPS+
■ Similar to the McCall’s and Boehm’s
Quality Models
■ Divides quality attributes into two
■ Functional (F)
■ Nonfunctional (URPS)
■ Proposed by Robert Grady
■ Extended by Rational Software, now IBM
Rational Software - into FURPS+
Software Quality Assurance (SQA) 20
FURPS/FURPS+
1. Functionality – which may include feature sets, capabilities
and security
2. Usability – which may include human factors, aesthetics,
consistency in the user interface, online and context sensitive help,
wizards and agents, user documentation, and training materials
3. Reliability - which may include frequency and severity of
failure, recoverability, predictability, accuracy, and mean time
between failure (MTBF)
4. Performance - imposes conditions on functional requirements
such as speed, efficiency, availability, accuracy, throughput,
response time, recovery time, and resource usage
5. Supportability - which may include testability, extensibility,
adaptability, maintainability, compatibility, configurability,
serviceability, installability, localizability (internationalization)
Software Quality Assurance (SQA) 21
Dromey's Quality Model
■ Geoff Dromey proposed a product
based quality model
■ Similar to the McCall’s, Boehm’s and
the FURPS(+) quality model,
■ The basic idea is: “quality evaluation
differs for each product”
Software Quality Assurance (SQA) 22
Dromey's Quality Model
Software Quality Assurance (SQA) 23
Dromey's Quality Model
■ Dromey's Quality Model is further structured
around a 5 step process:
1. Chose a set of high-level quality attributes
necessary for the evaluation.
2. List components/modules in your system.
3. Identify quality-carrying properties for the
components / modules (qualities of the
component that have the most impact on the
product properties from the list above).
4. Determine how each property effects the quality
attributes.
5. Evaluate the model and identify weaknesses.
Software Quality Assurance (SQA) 24
ISO 9126 Standard Quality Model
■ A deviation of McCall’s Factor-Criteria-
Metric Model
■ Established in 1993
■ Defines software quality as:
“The totality of features and characteristics of a
software product that bear on it ability to satisfy
stated or implied needs.”
Software Quality Assurance (SQA) 25
ISO 9126
■ Quality is decomposed into six factors:
1. Functionality
2. Reliability
3. Efficiency
4. Usability
5. Maintainability and
6. Portability
Software Quality Assurance (SQA) 26
Software Quality Assurance (SQA) 27
ISO 9126
Software Quality Assurance (SQA) 28
Comparison
Software Quality Assurance (SQA) 29
Outline
■ McCall’s Quality Model (1977)
■ Boehm’s Quality Model (1978)
■ FURPS/FURPS+
■ Dromey's Quality Model
■ ISO Models (ISO 9126)
■ Capability Maturity Model(s) (TBD)
■ Six Sigma (TBD)
Acknowledgments
 A number of slides are borrowed from
different authors
Software Quality Assurance (SQA) 30
Software Quality Models
by:
Dr. Shahid Farid
Software Quality Assurance

Software Quality Models Presentation.pptx

  • 1.
    Software Quality Models by: Dr.Shahid Farid Software Quality Assurance
  • 2.
    Software Quality Assurance(SQA) 2 Outline ■ McCall’s Quality Model (1977) ■ Boehm’s Quality Model (1978) ■ FURPS/FURPS+ ■ Dromey's Quality Model ■ ISO Models (ISO 9126) ■ Capability Maturity Model(s) ■ Six Sigma
  • 3.
    Software Quality Assurance(SQA) 3 McCall’s Quality Model ■ Three major perspectives for defining and identifying the quality of a software product: ■ Product Revision (ability to undergo changes), ■ Product Transition (adaptability to new environments) and ■ Product Operations (its operation characteristics).
  • 4.
    Software Quality Assurance(SQA) 4 McCall’s Quality Model ■ The model details the three types of quality characteristics in a hierarchy of ■ 11 Factors, ■ 23 Quality Criteria and ■ Metrics
  • 5.
    McCall’s Quality Model(Cont.)  It distinguishes between two levels of quality attributes: 1. Quality Factors  The higher level quality attributes which can be accessed directly are called quality factors.  These attributes are external attributes.  The attributes in this level are given more importance by the users and managers. 2. Quality Criteria  The lower or second level quality attributes which can be accessed either subjectively or objectively are called Quality Criteria.  These attributes are internal attributes.  Each quality factor has many second level of quality attributes or quality criteria. Software Quality Assurance (SQA) 5
  • 6.
    McCall’s Quality Model It classifies all software requirements into 11 software quality factors.  The 11 factors are organized into three product quality factors  Product operation,  Product revision, and  Product transition factors. Software Quality Assurance (SQA) 6
  • 7.
    Software Quality Assurance(SQA) 7 McCall’s Quality Model
  • 8.
    McCall’s Quality Model(Cont.) Software Quality Assurance (SQA) Use Factor Criteria Product Operation Usability oOperability oTraining oCommunicativeness oI/O Volume oI/O Rate Integrity oAccess Control oAccess Audit Efficiency oStorage Requirement oExecution Speed Correctness oTraceability oCompleteness oConsistency Reliability oAccuracy oError Tolerance oConsistency oSimplicity 8
  • 9.
    McCall’s Quality Model(Cont.) Product Revision Maintainability oConsistency oSimplicity oConciseness oSelf-descriptiveness oModularity Testability oSimplicity oScope for Automation Flexibility oExpandability oArchitecture Usability oSelf descriptiveness oModularity Software Quality Assurance (SQA) 9
  • 10.
    McCall’s Quality Model(Cont.) Product Transition Re-usability oArchitectural Usability oSelf Descriptiveness oModularity oMachine Independence oOperating system Independence Portability oSelf Descriptiveness oModularity oMachine Independence oOS Independence Software Quality Assurance (SQA) 10
  • 11.
  • 12.
    Software Quality Assurance(SQA) 12 Boehm’s Quality Model ■ Similar to the McCall Quality Model ■ Presents a hierarchical quality model structured around ■ High-level characteristics, ■ Intermediate level characteristics, ■ Primitive characteristics
  • 13.
    The Highest Level 1.As is utility  Extent to which, we can use software as-is. 2. Maintainability  Effort required to detect and fix an error during maintenance. 3. Portability  Effort required to change software to fit in a new environment Software Quality Assurance (SQA) 13
  • 14.
    Intermediate Level Characteristic  Portability– Effort required to change software to fit in a new environment.  Reliability – Extent to which software performs according to requirements.  Efficiency – Amount of hardware resources and code required to execute a function.  Usability (Human Engineering) – Extent of effort required to learn, operate and understand functions of the software. Software Quality Assurance (SQA) 14
  • 15.
    Intermediate Level Characteristic (cont.) Testability – Effort required to verify that software performs its intended functions.  Understandability – Effort required for a user to recognize logical concept and its applicability.  Modifiability – Effort required to modify a software during maintenance phase. Software Quality Assurance (SQA) 15
  • 16.
    Software Quality Assurance(SQA) 16 Boehm’s Quality Model Boehm's Software Quality Characteristics Tree
  • 17.
    Software Quality Assurance(SQA) 17 McCall’s & Boehm’s Quality Models: a comparison
  • 18.
    Boehm’s Model  Advantages:  It focuses and tries to satisfy the needs of the user.  It focuses on software maintenance cost effectiveness.  Disadvantages :  It doesn’t suggest, how to measure the quality characteristics.  It is difficult to evaluate the quality of software using the top-down approach Software Quality Assurance (SQA) 18
  • 19.
    Software Quality Assurance(SQA) 19 FURPS/FURPS+ ■ Similar to the McCall’s and Boehm’s Quality Models ■ Divides quality attributes into two ■ Functional (F) ■ Nonfunctional (URPS) ■ Proposed by Robert Grady ■ Extended by Rational Software, now IBM Rational Software - into FURPS+
  • 20.
    Software Quality Assurance(SQA) 20 FURPS/FURPS+ 1. Functionality – which may include feature sets, capabilities and security 2. Usability – which may include human factors, aesthetics, consistency in the user interface, online and context sensitive help, wizards and agents, user documentation, and training materials 3. Reliability - which may include frequency and severity of failure, recoverability, predictability, accuracy, and mean time between failure (MTBF) 4. Performance - imposes conditions on functional requirements such as speed, efficiency, availability, accuracy, throughput, response time, recovery time, and resource usage 5. Supportability - which may include testability, extensibility, adaptability, maintainability, compatibility, configurability, serviceability, installability, localizability (internationalization)
  • 21.
    Software Quality Assurance(SQA) 21 Dromey's Quality Model ■ Geoff Dromey proposed a product based quality model ■ Similar to the McCall’s, Boehm’s and the FURPS(+) quality model, ■ The basic idea is: “quality evaluation differs for each product”
  • 22.
    Software Quality Assurance(SQA) 22 Dromey's Quality Model
  • 23.
    Software Quality Assurance(SQA) 23 Dromey's Quality Model ■ Dromey's Quality Model is further structured around a 5 step process: 1. Chose a set of high-level quality attributes necessary for the evaluation. 2. List components/modules in your system. 3. Identify quality-carrying properties for the components / modules (qualities of the component that have the most impact on the product properties from the list above). 4. Determine how each property effects the quality attributes. 5. Evaluate the model and identify weaknesses.
  • 24.
    Software Quality Assurance(SQA) 24 ISO 9126 Standard Quality Model ■ A deviation of McCall’s Factor-Criteria- Metric Model ■ Established in 1993 ■ Defines software quality as: “The totality of features and characteristics of a software product that bear on it ability to satisfy stated or implied needs.”
  • 25.
    Software Quality Assurance(SQA) 25 ISO 9126 ■ Quality is decomposed into six factors: 1. Functionality 2. Reliability 3. Efficiency 4. Usability 5. Maintainability and 6. Portability
  • 26.
  • 27.
    Software Quality Assurance(SQA) 27 ISO 9126
  • 28.
    Software Quality Assurance(SQA) 28 Comparison
  • 29.
    Software Quality Assurance(SQA) 29 Outline ■ McCall’s Quality Model (1977) ■ Boehm’s Quality Model (1978) ■ FURPS/FURPS+ ■ Dromey's Quality Model ■ ISO Models (ISO 9126) ■ Capability Maturity Model(s) (TBD) ■ Six Sigma (TBD)
  • 30.
    Acknowledgments  A numberof slides are borrowed from different authors Software Quality Assurance (SQA) 30
  • 31.
    Software Quality Models by: Dr.Shahid Farid Software Quality Assurance