22-04-2025
Software Quality
Dr. Madhusmita Sahu
Assistant Professor
Department of Computer Science and Information Technology
Topics to be Discussed
Software
SEI CMM 05 01 Quality
ISO 9126
ISO 9000
Certification
04 02 Product
Metrics and
03
Process
Metrics
1
22-04-2025
Software Quality
• Traditionally, the quality of a product is defined in
terms of its fitness of purpose.
• That is, a good quality product does exactly what the
users want it to do.
Software Quality
• “fitness of purpose” is not a wholly satisfactory
definition of quality for software products.
• Why?
2
22-04-2025
Software Quality
• Consider a software product that is functionally correct.
• That is, it correctly performs all the functions that have been
specified in its SRS document.
• Even though it may be functionally correct, it may not be
considered it to be a quality product, if it has an almost
unusable user interface.
Software Quality
• Another example is that of a product which does everything
that the users wanted but has an almost incomprehensible
and unmaintainable code.
• Therefore, the traditional concept of quality as “fitness of
purpose” for software products is not wholly satisfactory.
3
22-04-2025
Software Quality Factor
Portability
Maintainability
01
05 02 Usability
Correctness
04 03
Reusability
Portability
• A software product is said to be portable, if it can be
easily made to work in different hardware and
operating system environments, and easily interface
with external hardware devices and software
products.
4
22-04-2025
Usability
• A software product has good usability, if different
categories of users (i.e., both expert and novice
users) can easily invoke the functions of the product.
Reusability
• A software product has good reusability, if different
modules of the product can easily be reused to
develop new products.
5
22-04-2025
Correctness
• A software product is correct, if different
requirements as specified in the SRS document have
been correctly implemented.
Maintainability
• A software product is maintainable, if errors can be
easily corrected as and when they show up, new
functions can be easily added to the product, and the
functionalities of the product can be easily modified,
etc.
6
22-04-2025
ISO 9126
• It identifies six major external quality characteristics.
• Each of these characteristics is expressed in terms of
a set of sub-characteristics.
• Each sub-characteristic is related to exactly one
quality characteristic.
ISO 9126
Functionality
It relates to the correctness of the developed
functionalities
Efficiency
It relates to the usage of physical resources by
the software during its execution
Reliability
It relates to the capability to maintain the
required level of performance
Maintainability
It relates the effort needed to make changes to
the software
Usability
It relates to the effort needed to be able to use
the software
Portability
It relates to the effort needed to transfer the
software to different environments
7
22-04-2025
ISO 9126
Functionality Reliability Usability Efficiency Maintainability Portability
Suitability Maturity Understandability Analysability Adaptability
Time Behavior
Accuracy Learnability Changeability Installability
Fault Tolerance
Resource
Interoperability Operability Stability Coexistence
Utilization
Recoverability
Functionality
Attractiveness Testability Replaceability
Compliance
Efficiency
Reliability Usability Compliance Maintainability Portability
Security Compliance Compliance Compliance Compliance
Product Metrics and Process Metrics
• The users assess the quality of a software product based on its
external attributes.
• During development, the developers assess the product’s
quality based on various internal attributes.
• The internal attributes may measure either some aspects of
the product (called product) or of the development process
(called process metrics).
8
22-04-2025
Product Metrics versus Process Metrics
Product Metrics Process Metrics
Definition Help measure the characteristics of Help measure how a development
a product being developed process is performing
Example • The LOC and function point • Review effectiveness
metrics are used to measure • Average number of defects found per
size hour of inspection
• The PM (person-month) metric • Average defect correction time
is used to measure the effort • Productivity
required to develop a product • Average number of failures detected
• The time required to develop during testing per LOC
the product is measured in • The number of latent defects per line
months of code in the developed product
ISO 9000
• International standards organisation (ISO) is a
consortium of 63 countries established to formulate
and foster standardisation.
• ISO published its 9000 series of standards in 1987.
• The ISO 9000 series of standards is based on the
premise that if a proper process is followed for
production, then good quality products are bound to
follow automatically.
9
22-04-2025
ISO 9000 Certification
• ISO 9000 certification serves as a reference for
contract between independent parties.
• ISO 9000 standard specifies the guidelines for
maintaining a quality system.
ISO 9000 Certification
• ISO 9000 standard is a set of guidelines for the
production process and is not directly concerned
about the product itself.
• ISO 9000 is a series of three standards—
– ISO 9001,
– ISO 9002, and
– ISO 9003.
10
22-04-2025
ISO 9000 Certification
• The types of software companies to which the
different ISO standards apply are as follows:
• This standard applies to the organisations engaged in design, development,
production, and servicing of goods.
ISO 9001
• This is the standard that is applicable to most software development
organisations.
• This standard applies to those organisations which do not design products but
are only involved in production.
• Examples of this category of industries include steel and car manufacturing
ISO 9002
industries who buy the product and plant designs from external sources and are
involved in only manufacturing those products.
• Therefore, ISO 9002 is not applicable to software development organisations.
• This standard applies to organisations involved only in installation and testing of
ISO 9003
products.
Why Get ISO 9000 Certification?
• Confidence of customers in an organisation increases
when the organisation qualifies for ISO 9001
certification.
• ISO 9000 requires a well-documented software
production process to be in place.
• ISO 9000 makes the development process focused,
efficient, and cost-effective.
11
22-04-2025
Why Get ISO 9000 Certification?
• ISO 9000 certification points out the weak points of
an organisation and recommends remedial action.
• ISO 9000 sets the basic framework for the
development of an optimal process and Total quality
management (TQM).
How to Get ISO 9000 Certification?
• An organisation intending to obtain ISO 9000
certification applies to an ISO 9000 registrar for
registration.
• ISO mandates that a certified organisation can use
the certificate for corporate advertisements but
cannot use the certificate for advertising any of its
products.
12
22-04-2025
How to Get ISO 9000 Certification?
• The ISO 9000 registration process consists of the
following stages:
Document
Application Compliance Continued
Pre-assessment review and Registration
stage audit surveillance
adequacy audit
During this During this
stage, the stage, the
Once an
During this registrar registrar checks The registrar
organisation
stage the reviews the whether the awards the ISO The registrar
decides to go
registrar makes documents suggestions 9000 certificate continues
for ISO 9000
a rough submitted by made by it after successful monitoring the
certification, it
assessment of the organisation during review completion of organisation
applies to a
the and makes have been all previous periodically
registrar for
organisation. suggestions for complied with phases.
registration.
possible the organisation
improvements. or not.
How to Get ISO 9000 Certification?
• In India, ISO 9000 certification is offered by BIS
(Bureau of Indian Standards), STQC (Standardisation,
testing, and quality control), and IRQS (Indian
Register Quality System).
• IRQS has been accredited by the Dutch council of
certifying bodies (RVC).
13
22-04-2025
SEI CAPABILITY MATURITY MODEL
• SEI capability maturity model (SEI CMM) was
proposed by Software Engineering Institute of the
Carnegie Mellon University, USA.
• CMM is a reference model for apprising the software
process maturity into different levels.
• The higher the level, the better the software
development process, hence reaching each level is an
expensive and time-consuming process.
SEI CAPABILITY MATURITY MODEL
• It must be remembered that SEI CMM can
be used in two ways—
– capability evaluation and
– software process assessment.
• Capability evaluation and software process
assessment differ in motivation, objective, and the
final use of the result.
14
22-04-2025
SEI CAPABILITY MATURITY MODEL
• Capability evaluation provides a way to assess the
software process capability of an organisation.
• Capability evaluation is administered by the contract
awarding authority, and therefore the results would
indicate the likely contractor performance if the
contractor is awarded a work.
SEI CAPABILITY MATURITY MODEL
• On the other hand, software process assessment is
used by an organisation with the objective to
improve its own process capability.
• Thus, the latter type of assessment is for purely
internal use by a company
15
22-04-2025
SEI CAPABILITY MATURITY MODEL
• The different levels of SEI CMM have been designed
so that it is easy for an organization to slowly build its
quality system starting from scratch.
• SEI CMM classifies software development industries
into the following five maturity levels.
SEI CAPABILITY MATURITY MODEL
Level 1
Initial
Level 2
Repeatable
Level 3
Defined
Level 4
Managed
Level 5
Optimising
16
22-04-2025
Initial
• The initial level places no specific requirements on an
organisation.
• Therefore, a software development organisation at
this level is characterised by ad hoc activities.
• Very few or no processes are defined and followed.
• Since software production processes are not defined,
different engineers follow their own process and as a
result development efforts become chaotic.
Initial
• Therefore, it is also called chaotic level.
• The success of projects depend on individual efforts
and heroics.
• When a developer leaves the organisation, the
successor would have great difficulty in
understanding the process that was followed and the
work completed.
17
22-04-2025
Initial
• Also, no formal project management practices are
followed.
• As a result, time pressure builds up towards the end
of the delivery time, and short-cuts are tried out to
meet the deadline leading to low quality products.
Repeatable
• At this level, the basic project management practices
such as tracking cost and schedule are established in
the organisation.
• Configuration management tools are used on items
identified for configuration control.
• Size and cost estimation techniques such as function
point analysis, COCOMO, etc., are used.
18
22-04-2025
Repeatable
• The necessary process discipline is in place to repeat
earlier success on projects with similar applications.
• Though there is a rough understanding among the
developers about the process being followed, the
process is not documented.
• Configuration management practices are used for all
project deliverables.
Defined
• At this level, the processes for both management and
development activities are defined and documented.
• There is a common organisation-wide understanding
of activities, roles, and responsibilities.
• The processes though defined, the process and
product qualities are not measured.
• The organisation builds up the capabilities of its
employees through periodic training programs.
19
22-04-2025
Defined
• Also, review techniques are emphasized and
documented to achieve phase containment of errors.
• ISO 9000 aims at achieving this level.
Managed
• At this level, the focus is on software metrics.
• Both process and product metrics are collected.
• Quantitative quality goals are set for the products
and at the time of completion of development it was
checked whether the quantitative quality goals for
the product are met.
20
22-04-2025
Managed
• Various tools like Pareto charts, fishbone diagrams,
etc. are used to measure the product and process
quality.
• The process metrics are used to check if a project
performed satisfactorily.
• In other words, the results of process measurements
are used to evaluate project performance rather than
improve the process.
Optimising
• At this stage, both process and product metrics are
collected.
• Process and product measurement data are analysed
for continuous process improvement.
• Also, the lessons learned from specific projects are
incorporated into the process.
21
22-04-2025
Optimising
• Continuous process improvement is achieved both by
carefully analysing the quantitative feedback from
process measurements and also from application of
innovative ideas and technologies.
• At CMM level 5, an organisation would identify the
best software engineering practices and innovations
(which may be tools, methods, or processes) and
would transfer these organisation-wide.
Optimising
• Level 5 organisations usually have a department
whose sole responsibility is to assimilate latest tools
and technologies and propagate them organisation-
wide.
• Since the process changes continuously, it becomes
necessary to effectively manage a changing process.
• Therefore, level 5 organisations use configuration
management techniques to manage process changes
22
22-04-2025
Key Process Areas (KPAs)
• Except for level 1, each maturity level is characterized by
several Key Process Areas (KPAs).
• The KPAs for a level indicate the areas that an organization at
the immediate lower level should focus to improve its
software process to this level.
• Each of the focus areas identifies a number of key practices or
activities that need to be implemented.
• In other words, we can say that KPAs capture the focus areas
of a level.
Key Process Areas (KPAs)
CMM level Focus Key Process Areas (KPAs)
Initial Competent People No Key Process Areas
Repeatable Project management Software Project Planning, Software
Configuration Management
Defined Definition of processes Process Definition, Training program, Peer
Reviews
Managed Product and process quality Qualitative process metrics, Software quality
management
Optimizing Continuous process Defect prevention, Process change
improvement management, Technology change
management
23
22-04-2025
References
• Fundamentals of Software Engineering, Rajib Mall, Fifth
Edition
• Software Project Management, Bob Hughes, Mike Cotterell,
Rajib Mall, Fifth Edition
24