Softawre Quality
Softawre Quality
PROJECT MANAGEMENT
(CSN 15101)
1
UNIT-5
Software Quality
2
Table of Contents:
3
Table of Contents…
o McCall Model
o FURPS Model
o Boehm Model
o ISO - 9126 Standards
• ISO - 9126 Quality Characteristics
• ISO - 9126 Standard
• ISO - 9126 Observations
Product Quality Management
o Product Quality Management - Components
4
Table of Contents…
7
Software Quality Assurance-
Introduction…
8
SQA
Standard Check output SQA
s products report
Plans against s
standards and
plans
Input Output
Products Products
Developme
nt Activity
SVV SVV
Check output report
product against s
input products
SQA vs SVV
9
Formal SQA Definition:
Functiona Performan
lity ce
FURP
S
Usability Reliability
FURPS Model 15
Software Quality in Project Planning:
o Process descriptions
o Quality goals
o Risks and risk management
The quality plan defines the most important quality attributes for
the software and includes a definition of the quality assessment
process.
Table given shows, generally used software quality attributes that
can be considered during the quality planning process.
17
Safety Understandability Portability
Security Testability Usability
Reliability Adaptability Reusability
Maintainability
18
Software Quality Models:
McCall Model
o McCall’s model was developed to improve the quality of
software products at software development companies.
o The model was developed to assess the relationships
between external factors and product quality criteria.
o The quality characteristics were classified in three
major types.
19
Software Quality Models:
20
Software Quality Models…
21
Software Quality Models…
Boehm Model
o Boehm added new factors to McCall’s model with
emphasis on the maintainability of software product
at software development companies.
o The main aim of this model is to address the
contemporary shortcomings of models that automatically
and quantitatively evaluate the quality of software.
22
Software Quality Models…
23
Software Quality Models…
FURPS Model
o FURPS model was proposed by and Hewlett-Packard
Co and Robert Grady.
o The attributes were classified into two main categories
according to the user’s requirements, the functional
and non-functional requirements.
o Functional requirements (F): Defined by input and
expected output.
o Non-functional requirements (URPS):Usability,
24
ISO-9126 Standards
o ISO 9126 is an international standard for the
evaluation of software.
o The standard is divided into four parts which addresses
respectively the following subjects: quality model;
external metrics; internal metrics; and quality in use
metrics.
o ISO 9126 Part one, referred to as ISO 9126-1 is an
extension of previous work done by McCall (1977), 26
27
Software Quality Models…
The ISO 9126-1 software quality model identifies 6 main quality characteristics:
o Functionality
o Reliability o Efficiency
28
o Maintainability
Software Quality Models…
Functionality:
o Functionality is the essential purpose of any product or service.
o The more functions a product has, e.g. an ATM machine, then
the more complicated it becomes to define it's functionality.
o For software a list of functions can be specified, i.e. a sales order
processing systems should be able to record customer
information so that it can be used to reference a sales order.
29
Software Quality Models…
Reliability
o Once a software system is functioning as specified and
delivered, the reliability characteristic defines the
capability of the system to maintain its service
provision under defined conditions for defined periods
of time.
o One aspect of this characteristic is fault tolerance that
is the ability of a system to withstand component
failure.
30
Usability:
o Usability only exists with regard to functionality and
refers to the ease of use for a given function.
o For example a function of an ATM machine is to
dispense cash as requested. Placing common amounts
on the screen for selection does not impact the function
of the ATM but addresses the Usability of the function.
o The ability to learn how to use a system (learnability) is
also a major sub characteristic of usability. 31
Software Quality Models…
Efficiency:
o This characteristic is concerned with the system resources
used when providing the required functionality.
o The amount of disk space, memory, network etc. provides a
good indication of this characteristic.
o For example the usability of a system is influenced by the
system's Performance, in that if a system takes 3 hours to
respond the system would not be easy to use although the 32
Maintainability:
o The ability to identify and fix a fault within a software
component is what the maintainability characteristic
addresses.
o In other software quality models this characteristic is
referenced as supportability.
o Maintainability is impacted by code readability or
complexity as well as modularization.
33
Software Quality Models…
34
Software Quality Models…
Portability
o This characteristic refers to how well the software can adopt
to changes in its environment or with its requirements.
o The sub-characteristics of this characteristic include
adaptability.
o Object oriented design and implementation practices can
contribute to the extent to which this characteristic is
present in a given system.
35
Sub-Factors Suitability Maturity Sub-Factors
Fault
Accuracy Tolerance
Recoverabili
Factors Security
ty
Interoperabi Compliance
Functionalit lity
y Compliance Analyzability
Changeabilit
Reliability Time y
behavior Stability
Resource
Efficiency Behavior Testability
ISO/EC
Quality
9126
Compliance Compliance
Maintainabil
Understandab
ity Adaptability
ility
Install-
Portability Learnability
ability
Coexistence Operability
Usability Replace- Attractivene
ability ss
Compliance Compliance
Software Quality Models…
ISO – 9126 Observations:
For the most part, the overall structure of ISO9126-1 is similar to past
models, McCall (1977) and Boehm (1978), although there are a couple
of notable differences.
In many requirements specifications all characteristics that are
specified, that are not pure functional requirements are specified as
Non-Functional requirements.
With ISO-9126 compliance is seen as a functional characteristic.
Using the ISO 9126 (or any other quality model) for derivation of
system requirements brings clarity of definition of purpose and
operating capability. 37
Software Quality Models…
ISO – 9126 Observations…
40
Product Quality Management -
Components:
Quality management includes four major components:
42
Product Quality Management - Benefits:
43
Product Quality Management - Key
Capabilities:
Data monitoring and alarming
Best-in-class enterprise Statistical Process Control, with
database backbone
Advanced, interactive trending and charting
Government and regulatory reporting capabilities
Historical data collection
Integration with Laboratory Information Management Systems
(LIMS)
44
Process Quality Management:
50
SEICMM
51
Levels of SEICMM:
Level 1: Initial
o Ad hoc activities characterize a software development
organization at this level.
o Very few or no processes are described and followed.
o Since software production processes are not limited,
different engineers follow their process and as a result,
development efforts become disorganized.
52
Levels of SEICMM…
Level 2: Repeatable
o At this level, the fundamental project management
practices like tracking cost and schedule are
established.
o Size and cost estimation methods, like function point
analysis, COCOMO, etc. are used.
53
Levels of SEICMM…
Level 3: Defined
o At this level, the methods for both management and
development activities are defined and documented.
o There is a common organization-wide understanding of
operations, roles, and responsibilities.
o The ways through defined, the process and product
qualities are not measured.
o ISO 9000 goals at achieving this level.
54
Levels of SEICMM…
Level 4: Managed
o At this level, the focus is on software metrics. Two kinds of
metrics are composed.
o Product metrics measure the features of the product being
developed, such as its size, reliability, time complexity,
understandability, etc.
o Process metrics follow the effectiveness of the process being
used, such as average defect correction time, productivity, the
average number of defects found per hour inspection, the
55
average number of failures detected during testing per LOC, etc.
Levels of SEICMM…
Level 5: Optimizing
o At this phase, process and product metrics are
collected.
o Process and product measurement data are
evaluated for continuous process improvement.
57
01
Level 5
Optimizing
Focus on process Improvement
02
Level 4 Processes Measured and Controlled
Quantitatively Managed
06
Level 1 Processes unpredictable, poorly controlled
Initial
and reactive
Levels of SEICMM
58
Conclusion:
The function of software quality that assures that the
standards, processes, and procedures are appropriate for the
project and are correctly implemented.
ISO 9126 is a worldwide standard for the evaluation of
software.
ISO 9126-1 symbolizes the latest research into characterizing
software for the purposes of software quality control, software
quality assurance and software process improvement (SPI).
Measuring software is a powerful way to track progress
towards project goals. 59
THANK
YOU!
60