You are on page 1of 50

models for software

product quality
.
Software Quality Models 

 Software Quality Models are a standardized way of measuring


a software product. With the increasing trend in software industry.

 The quality model determines which quality characteristics will be taken into


account when evaluating the properties of a software product.
Factor-Criteria-Metrics-Model

 Factor-Criteria-Metrics-Model
 Classification into : Factors (to specify): They describe the external view of
the software, as viewed Software Quality by the users.
 Criteria (to build): They describe the internal view of the software, as seen
by the developer.
 Metrics (to control): They are defined and used to provide a scale and method
for measurement. Quality indicators (metrics)
FCM (Factor-Criteria-Metrics) model

 In the FCM (Factor-Criteria-Metrics) model the quality of software is decided


by some Factors, each Factor is decided by some Criteria, each Criteria is
decided by some Metrics.
FCM (Factor-Criteria-Metrics) model

 The model is usually constructed in a tree-like fashion. The upper branches


hold important high-level quality factors of software products, such as
reliability and usability, that we would like to quantify.
 Each quality factor is composed of lower-level criteria, such as modularity
and data commonality.
 The criteria are easier to understand and measure than the factors; thus,
actual measures (metrics) are proposed for the criteria. 
FCM (Factor-Criteria-Metrics) model

 The tree describes the pertinent relationships between factors and their
dependent criteria, so we can measure the factors in terms of the dependent
criteria measures.
 McCalI’s Factor Model Tree

  McCalI’s Factor Model Tree


 Quality software Product operation
 quality factor represents a behavioral characteristic of the system.
 Operation
 Revision
 Transition
 A quality criterion is an attribute of a quality factor that is related to
software production and design.
 A quality metric is a measure that captures some aspect of a quality.
Boehm's model

 The Boehm's model has three levels for quality attributes. These levels are
divided based on their characteristics.
 These levels are primary uses (high level characteristics), intermediate
constructs(mid-level characteristics) and primitive constructs(primitive
characteristics).
 Defined in A hierarchical model of software quality characteristics.
 There are characteristics of three levels:
 highest level,
 intermediate level,
 primitive.
Boehm's model

 The Boehm’s Quality Model attempts to qualitatively define software


 quality by a given set of attributes and metrics.

 The high-level characteristics represent basic high-level requirements of


actual use to which evaluation of software quality could be put – the general
utility of software.
high-level characteristics

 The high-level characteristics address three main questions that a buyer of


software has:
 As-is utility: How well (easily, reliably, efficiently) can I use it as-is?
 Maintainability: How easy is it to understand, modify and retest?
 Portability: Can I still use it if I change my environment?
intermediate level characteristic

 The intermediate level characteristic represents 7 quality factors:


 portability,
 reliability,
 efficiency,
 usability,
 testability,
 understandability,
 flexibility (modifiability).
lowest level structure

 The lowest level structure of the characteristics hierarchy is the primitive


characteristics metrics hierarchy.

 The lowest level structure of the characteristics hierarchy in Boehm’s model


is the primitive characteristics metrics hierarchy. The primitive
characteristics provide the foundation for defining qualities metrics – which
was one of the goals when Boehm constructed his quality model.
Consequently, the model presents one more metrics supposedly measuring a
given primitive characteristic.
FURPS Quality Model

 FURPS Quality Model


 The FURPS model originally presented by Robert
 Grady[1992], then it has been extended by IBM
 Rational Software [Jacobson et al, 1999, Kruchten,
 2000] into FURPS+, where the ‘+’ indicates such
 requirements as design constraints, implementation
 requirements, interface requirements and physical
 requirements [Jacobson et al, 1999].
FURPS stands
for:

 • Functionality- which may include feature sets,


 capabilities and security.
 • 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?
FURPS stands
for:

 • Reliability - which may include frequency and


 severity of failure, recoverability, predictability,
 accuracy, and mean time between failure (MTBF)
 • Performance - imposes conditions on functional requirements such as speed,
efficiency, availability, accuracy,
 throughput, response time, recovery time, and resource usage
 • Supportability -which may include testability, extensibility, adaptability,
maintainability, compatibility,
 configurability, serviceability, installability, localizability
(internationalization)?
ISO 9126 MODEL

 The ISO/IEC 9126 standard describes a software quality model which


categorizes software quality into six characteristics (factors) which are sub-
divided into sub-characteristics (criteria). 

 Functionality,
 reliability,
 effectiveness,
 usability,
 maintainability and portability namely and 22 sub-characteristics.
ISO 9126
The standard is divided into 4 parts as
depicted in the following figure :
The standard is divided into 4 parts

 Part-1 Software Engineering – Product Quality “Quality


model” :
It describes quality model framework which explains
relationships between different approaches to quality as well as
identifying quality characteristics and sub-characteristics of
software products.
 Part-2 Software Engineering – Product Quality “External
Metrices” :
It’s use is to describes external metrices that are used to
measure characteristics and sub-characteristics which are
identifies in part 1.
The standard is divided into 4 parts

 Part-3 Software Engineering – Product Quality “Internal Metrices” :


It’s use is to describes internal metrices that are used to measure
characteristics and sub-characteristics which are identifies in part 1.
 Part-3 Software Engineering – Product Quality “Quality in use metrices” :
It’s use is to identify metrices which are used to measure effects of combined
quality characteristics for user.

 As from above discussion, it is concluded that first three parts are concerned
with describing and measuring quality of software product and fourth part
concerned about quality of software product from user point of view.
 Quality model is concerned classified into two
categories as depicted in the following figure :
Internal External Quality Part

 Internal External Quality Part : It determines the quality of a software


product through six characteristics which are Functionality, Reliability,
Usability, Efficiency, Maintainability and Portability. Each characteristics is
subdivided into related sub-characteristics which are also depicted in the
above example.
Functionality: 

 Functionality: The functions are those that will satisfy implied needs.


 Suitability
 Accuracy
 Interoperability
 Security
 Functionality Compliance
Reliability:

 Reliability: A set of attributes that will bear on the capability of software to


maintain the level of performance.
 Maturity
 Fault Tolerance
 Recoverability
 Reliability Compliance
Usability:

 Usability: A set of attributes that bear on the effort needed for use by a
implied set of users.
 Understandability
 Learn ability
 Operability
 Attractiveness
 Usability Compliance
Efficiency: 

 Efficiency: A set of attributes that bear on the relationship between the level
of performance of the software under stated conditions.
 Time Behavior
 Resource Utilization
 Efficiency Compliance
Maintainability: 

 Maintainability: A set of attributes that bear on the effort needed to make


specified modifications.
 Analyzability
 Changeability
 Stability
 Testability
 Maintainability Compliance
Portability:

 Portability: A set of attributes that bear on the ability of software to be


transferred from one environment to another.
 Adaptability
 Installability
 Co-existence
 Replace ability
 Portability Compliance
Quality in use Model :

 Quality in use Model : It identifies the four quality characteristics i.e.
Effectiveness, Productivity, Safety, Satisfaction.

 https://www.geeksforgeeks.org/iso-iec-9126-in-software-engineering/
 https://youtu.be/zWuaQ2U5CMs
References

 https://slideplayer.com/slide/13239277/
 https://msritse2012.wordpress.com/2013/01/27/quality-models-in-software-
engineering/
 https://www.researchgate.net/publication/310458942_Analysis_of_Software
_Product_Quality_Models
 https://www.slideserve.com/woody/software-quality-models
 https://www.professionalqa.com/comparison-quality-models
Main factor

Iso9126 relaibility useabilty Maintain effectivness


ability
FURPS
Dromey's Quality Model

 Dromey's 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)
 Software Quality Assurance (SQA)
Dromey's Quality Model

 Dromey's Quality Model is further structured around a 5 step process:


 • Chose a set of high-level quality attributes necessary for the
evaluation.
 • List components/modules in your system.
 • 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).
 • Determine how each property effects the quality attributes.
 • Evaluate the model and identify weaknesses. Software Quality
Assurance (SQA)
Dromey's
FURPS
ISO9126
hierarchical quality model

 The model represents a hierarchical quality model similar to McCall Quality


Model to define software quality using a predefined set of attributes and
metrics, each of which contributes to overall quality of software.
hierarchical quality model
hierarchical quality model

 These models are used to identify the needed quality criteria's that can be
used in improving the resultant quality of the productTypes of quality models
 McCall Model
 Boehm Model
 FURPS Model
 ISO 9126 Model
 Dromey Model
Non hierarchical quality model
SATC's Model

 SATC's Model -SATC is an acronym for Software Assurance Technology Centre.


Its objective is to improve software quality by defining metrics program which
helps to meet the basic needs with least expenditure.
 This model tests a quality model by evaluating the results of the metrics
used, and also on the basis of discussions based on the project. This model
defines set of goals and process attributes based on the structure of ISO 9126-
1 quality model.

 https://www.professionalqa.com/comparison-quality-models
QMOOD

  QMOOD is the hierarchical model that defines relation between qualities


attributes(like reusability, functionality, effectiveness, understand ability,
extendibility, flexibility) and design properties with the help of equations. In
this research we have developed the system based on QMOOD which is use to
evaluate the quality of JAVA programs. 
QMOOD

 Though QMOOD metrics are subjective in nature but still with the help of
relationship between quality attributes and design property defined, we have
calculated and aggregated these qualities attributes and evaluate the quality
of program input We have tested the system with number of different
programs that vary in their complexities and functionalities.

 https://
www.researchgate.net/publication/271546374_QMOOD_metric_sets_to_asses
s_quality_of_Java_program
Software Quality Prediction Using Bayesian Networks

  Bayesian Belief Networks (BBNs) model that captures the evolution of the
quality of a software product and provides reliable forecasts of the end
quality of the software being developed in light of factors that affect
project risk. Insights into risk management, development team skill,
software process maturity, and software problem complexity are
hypothesized as driving factors of software product quality.
 The cause-effect relationships between these factors and the elements of
software quality and risk management techniques are modeled using BBNs.
The BBN software project risk assessment model is utilized to quantify the
factors that influence and represent software quality.

 https://
www.researchgate.net/publication/221610502_Software_Quality_Assessment_and_Project_Risk_Managemen
t_Based_on_Bayesian_Belief_Networks
pastpaper

 https://www.scribd.com/document/433840670/SQA-past-papers

You might also like