Software Quality
Software Quality
K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Software Quality
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
Software Quality
8 Accuracy Meeting specifications with precision.
9 Clarity & The extent to which documents are clearly & accurately
Accuracy of written.
documentation
10 Conformity of The extent to which a software is in conformity of
operational operational environment.
environment
11 Completeness The extent to which a software has specified functions.
12 Efficiency The amount of computing resources and code required
by software to perform a function.
13 Testability The effort required to test a software to ensure that it
performs its intended functions.
14 Maintainability The effort required to locate and fix an error during
maintenance phase.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
Software Quality
15 Modularity It is the extent of ease to implement, test, debug and
maintain the software.
16 Readability The extent to which a software is readable in order to
understand.
17 Adaptability The extent to which a software is adaptable to new
platforms & technologies.
18 Modifiability The effort required to modify a software during
maintenance phase.
19 Expandability The extent to which a software is expandable without
undesirable side effects.
20 Portability The effort required to transfer a program from one
platform to another platform.
§ Maintainability
§ Flexibility
§ Testability
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 10
Software Quality
iii. Product Transition
We may have to transfer a product from one platform to an other
platform or from one technology to another technology. The factors
related to such a transfer are combined and given below:
§ Portability
§ Reusability
§ Interoperability
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 11
Software Quality
Most of the quality factors are explained in table 7.4. The remaining
factors are given in table 7.5.
Table 7.5(a):
Relation
between quality
factors and
quality criteria
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14
Software Quality
1 Operability The ease of operation of the software.
2 Training The ease with which new users can use the
system.
3 Communicativeness The ease with which inputs and outputs can be
assimilated.
4 I/O volume It is related to the I/O volume.
5 I/O rate It is the indication of I/O rate.
6 Access control The provisions for control and protection of the
software and data.
7 Access audit The ease with which software and data can be
checked for compliance with standards or other
requirements.
8 Storage efficiency The run time storage requirements of the software.
9 Execution efficiency The run-time efficiency of the software.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 15
Software Quality
10 Traceability The ability to link software components to
requirements.
11 Completeness The degree to which a full implementation of the
required functionality has been achieved.
12 Accuracy The precision of computations and output.
13 Error tolerance The degree to which continuity of operation is ensured
under adverse conditions.
14 Consistency The use of uniform design and implementation
techniques and notations throughout a project.
15 Simplicity The ease with which the software can be understood.
16 Conciseness The compactness of the source code, in terms of lines
of code.
17 Instrumentation The degree to which the software provides for
measurements of its use or identification of errors.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 16
Software Quality
18 Expandability The degree to which storage requirements or
software functions can be expanded.
19 Generability The breadth of the potential application of software
components.
20 Self- The degree to which the documents are self
descriptiveness explanatory.
21 Modularity The provision of highly independent modules.
22 Machine The degree to which software is dependent on its
independence associated hardware.
23 Software system The degree to which software is independent of its
independence environment.
24 Communication The degree to which standard protocols and
commonality interfaces are used.
25 Data commonality The use of standard data representations.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19
Software Quality
Characteristic/ Short Description of the Characteristics and the
Attribute concerns Addressed by Attributes
Functionality Characteristics relating to achievement of the basic
purpose for which the software is being engineered
• Suitability The presence and appropriateness of a set of functions for
specified tasks
• Accuracy The provision of right or agreed results or effects
• Interoperability Software’s ability to interact with specified systems
• Security Ability to prevent unauthorized access, whether accidental
or deliberate, to program and data.
Reliability Characteristics relating to capability of software to
maintain its level of performance under stated conditions
for a stated period of time
• Maturity Attributes of software that bear on the frequency of failure
by faults in the software
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 20
Software Quality
• Fault tolerance Ability to maintain a specified level of performance in cases
of software faults or unexpected inputs
• Recoverability Capability and effort needed to reestablish level of
performance and recover affected data after possible
failure.
Usability Characteristics relating to the effort needed for use, and on
the individual assessment of such use, by a stated implied
set of users.
• Understandability The effort required for a user to recognize the logical
concept and its applicability.
• Learnability The effort required for a user to learn its application,
operation, input and output.
• Operability The ease of operation and control by users.
Efficiency Characteristic related to the relationship between the level
of performance of the software and the amount of
resources used, under stated conditions.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21
Software Quality
• Time behavior The speed of response and processing times and
throughout rates in performing its function.
• Resource The amount of resources used and the duration of such
behavior use in performing its function.
Maintainability Characteristics related to the effort needed to make
modifications, including corrections, improvements or
adaptation of software to changes in environment,
requirements and functions specifications.
• Analyzability The effort needed for diagnosis of deficiencies or causes
of failures, or for identification of parts to be modified.
• Changeability The effort needed for modification, fault removal or for
environmental change.
• Stability The risk of unexpected effect of modifications.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22
Software Quality
Portability Characteristics related to the ability to transfer the
software from one organization or hardware or software
environment to another.
• Adaptability The opportunity for its adaptation to different specified
environments.
• Installability The effort needed to install the software in a specified
environment.
• Conformance The extent to which it adheres to standards or
conventions relating to portability.
• Replaceability The opportunity and effort of using it in the place of other
software in a particular environment.
Table 7.6: Software quality characteristics and attributes – The ISO 9126
view
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23
Software Quality
Maturity Levels:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27
Software Quality
Maturity Levels:
Maturity level 1: Initial
• This is the lowest level and at this level organizations do
not have a stable environment for following software
engineering and management practices.
• This leads to ineffective planning and management of
systems.
• At this level, everything is carried out on an adhoc basis.
• The success of a project depends on competent
manager and a good software project team.
The absence of sound management principles cannot
even be covered by strong engineering principles.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28
Software Quality
Maturity Levels:
Maturity level 1: Initial
The capability of software process is undisciplined at this
level as the processes are continuously changing or being
modified as the software development progresses.
The performance completely depends upon individuals
rather than the organizations abilities.
As the process totally depends upon individual it changes
when the staff changes.
Thus, time and cost of development is unpredictable.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 29
Software Quality
Maturity Levels:
Maturity level 2: Repeatable
At level 2 procedures and policies for managing the
software product are established. Planning and managing of
new software projects are not adhoc rather they are based
on the past similar software projects.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30
Software Quality
Maturity Levels:
Maturity level 2: Repeatable
An effective process is the one which is efficient, defined,
documented, measured and has the ability for improvement.
Unlike level 1, in this level the managers identify problems
and take corrective action to prevent these problems from
converting into crisis.
The project managers keep track of cost and time. The
standards are defined the organizations ensure that these
standards are actually followed by the project team. Hence,
the process maturity level 2 can be described as disciplined
because it is well planned, stable and past successful
practices are repeatable.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31
Software Quality
Maturity Levels:
Maturity level 3: Defined
At maturity level 3, the established processes are
documented. Software processes established at this level
are used by project managers and technical staff to improve
the performance more effectively.
Maturity Levels:
Maturity level 3: Defined
Different projects in the organization modify the standard
processes and practices to construct their own defined
software processes and practices. These defined software
processes are specific to the requirement of individual
characteristics of the given project.
Maturity Levels:
Maturity level 4: Managed
At this level goals for quality of software product are set.
The organizations measurement program measures the
quality of the software process and standards.
Hence, the software process and standards are evaluated
using measures and this help in giving indication of the
trends of quality in process and standards followed in the
organization.
The limits specifying thresholds are established, when these
limits are exceeded then corrective action is to be taken.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 34
Software Quality
Maturity Levels:
Maturity level 5: Optimizing
At level 5, the focus of the organization is on continuous
improvement of the software processes.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 36
Software Quality
The key process areas at level 3 address both project and
organizational issues, as summarized below:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 37
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
Software Quality
The key process areas at level 4 focus on establishing a quantitative
understanding of both the software process and the software work
products being built, as summarized below:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39
Software Quality
The key process areas at level 5 cover the issues that both the
organization and the projects must address to implement continuous
and measurable software process improvement, as summarized
below:
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40
Software Quality
§ Common Features
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 41
Software Quality
§ ISO 9000
The SEI capability maturity model initiative is an attempt to improve
software quality by improving the process by which software is
developed.
ISO-9000 series of standards is a set of document dealing with
quality systems that can be used for quality assurance purposes.
ISO-9000 series is not just software standard. It is a series of five
related standards that are applicable to a wide variety of industrial
activities, including design/ development, production, installation,
and servicing. Within the ISO 9000 Series, standard ISO 9001 for
quality system is the standard that is most applicable to software
development.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 42
Software Quality
§ Mapping ISO 9001 to the CMM
Management responsibility
ü Quality policy be defined, documented, understood,
implemented and maintained.
ü CMM: Software Quality assurance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 43
Software Quality
§ Mapping ISO 9001 to the CMM
Quality system
1. Documented quality system, including procedures and
instructions must be established
2. CMM: Software Quality assurance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 44
Software Quality
§ Mapping ISO 9001 to the CMM
Contract review
1. Contracts must be reviewed to determine whether the
requirements are adequately defined, agreed with the
bid, and can be implemented.
2. CMM: Requirements management
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 45
Software Quality
§ Mapping ISO 9001 to the CMM
Design control
1. Procedures that control and verify the design must be
established.
2. Includes planning design, identifying inputs and
outputs, verifying design and controlling design
changes.
3. CMM: Software product Engineering
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 46
Software Quality
§ Mapping ISO 9001 to the CMM
Document control
1. Distribution and modification of document should be
controlled.
2. CMM: Software configuration management
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 47
Software Quality
§ Mapping ISO 9001 to the CMM
Purchasing
1. Purchased products conform to specified requirements.
2. CMM: Software subcontract management
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 49
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 50
Software Quality
§ Mapping ISO 9001 to the CMM
Process control
1. Production Processes must be defined and planned .
2. CMM: procedures defining Production Processes
distributed throughout
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 51
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 52
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 53
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 54
Software Quality
§ Mapping ISO 9001 to the CMM
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 55
Software Quality
§ Mapping ISO 9001 to the CMM
Corrective action
1. Identity causes of Nonconforming products and take
corrective actions
2. CMM: Software product engineering, software
configuration management
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 56
Software Quality
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 57
Software Quality
16. Quality records
ISO 9001 requires that quality records be
collected, maintained, and dispositioned.
The practices defining the quality records to be
maintained in the CMM are distributed
throughout the key process areas in the various
Activities Performed practices
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 58
Software Quality
17. Internal Quality Audits
ISO 9001 requires that audits be planned and
performed. The results of audits are
communicated to management, and any
deficiencies found are corrected.
The auditing process is described in Software
Quality Assurance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 59
Software Quality
18. Training
ISO 9001 requires that training needs be
identified and that training be provided, since
selected tasks may require qualified personnel.
Records of training are maintained.
Specific training needs in the CMM are
identified in the training and orientation
practices in the Ability to Perform common
feature.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 60
Software Quality
19. Servicing
ISO 9001 requires that servicing activities be
performed as specified.
Although the CMM is intended to be applied in
both the software development and
maintenance environments, the practices in the
CMM do not directly address the unique
aspects that characterize the maintenance
environment.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 61
Software Quality
20. Statistical Techniques
ISO 9001 states that, where appropriate,
adequate statistical techniques are identified
and used to verify the acceptability of process
capability and product characteristics.
The practices describing measurement in the
CMM are distributed throughout the key
process areas.
Product measurement is typically incorporated
into the various Activities Performed practices,
and process measurement is described in the
Measurement and Analysis common feature.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 62
Software Quality
§ Contrasting ISO 9001 and the CMM
There is a strong correlation between ISO 9001 and the CMM,
although some issues in ISO 9001 are not covered in the CMM, and
some issues in the CMM are not addressed in ISO 9001.
The biggest difference, however, between these two documents is
the emphasis of the CMM on continuous process improvement. ISO
9001 addresses the minimum criteria for an acceptable quality
system.
It should also be noted that the CMM focuses strictly on software,
while ISO 9001 has a much broader scope: hardware, software,
processed materials, and services.
The biggest similarity is that for both the CMM and ISO 9001, the
bottom line is “Say what you do; do what you say”.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 63
Software Quality
§ Six Sigma
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 64
Software Quality
§ Six Sigma
DMAIC cycle. The elements of the DMAIC cycle are: which stands for
Define, Measure, Analyse, Improve and Control
Define Phase
This phase involves:
Ø Who are the customers and what are their needs and expectations?
Ø Develop a project team charter (who is doing what, determine
project goals, what are the key deliverables, benefits of going the
project, costs issues, etc.)
Ø Gather data from customers to understand what exactly they want
from us (use of customer surveys, benchmarking data, Quality Function
Deployment, etc.)
Ø What is the process? Use tool such as high level process mapping to
map out core processes
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 65
Software Quality
§ Six Sigma
Measure Phase
This phase involves:
Ø How is the process measured and how is it performing?
Ø Decide what to measure and how do we measure it?
Ø Measure current performance of the process
Ø Do we have a capable measurement system?
Ø What is the variability contributed by the measurement
system to the total variation?
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 66
Software Quality
§ Six Sigma
Analyse Phase
This phase involves:
Ø Identify the root causes of defects or failures ?
Ø Understand the data (using simple statistical tools such
as scatter plot, histograms, etc
Ø Use of simple tools ANOVA, Hypothesis test, Regression
analysis, etc. to analyse the data
Ø Select the ‘vital few’ causes from the trivial many for
improvement phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 67
Software Quality
§ Six Sigma
Improve Phase
This phase involves:
Ø How can the causes of defects or failures be removed?
Ø Identify the key variables which causes the problem
Ø Document solution statements
Ø Test solutions and measure results
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 68
Software Quality
§ Six Sigma
Control Phase
This phase involves:
Ø How can the improvements be maintained or sustained?
Ø Document the new methods
Ø Select and establish standard measures to monitor
performance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 69
Software Quality
§ Six Sigma
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 71
Multiple Choice Questions
1 Software Quality is
(a) Conformance to requirements (b) Fitness for the purpose
(c) Level of satisfaction (d) All of the above
2 Defect rate is
(a) number of defects per million lines of source code
(b) number of defects per function point
(c) number of defects per unit of size of software
(d) All of the above
3 How many product quality factors have been proposed in McCall quality model?
(a) 2 (b) 3
(c) 11 (d) 6
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 72
Multiple Choice Questions
4 Which one is not a product quality factor of McCall quality model?
(a) Product revision (b) Product operation
(c) Product specification (d) Product transition
5 The second level of quality attributes in McCall quality model are termed as
(a) quality criteria (b) quality factors
(c) quality guidelines (d) quality specifications
6 Which one is not a level in Boehm software quality model ?
(a) Primary uses (b) Intermediate constructs
(c) Primitive constructs (d) Final constructs
7 Which one is not a software quality model?
(a) McCall model (b) Boehm model
(c) ISO 9000 (d) ISO 9126
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 73
Multiple Choice Questions
8 CMM level 1 has
(a) 6 KPAs (b) 2 KPAs
(c) 0 KPAs (d) None of the above
9 CMM model is a technique to
(a) Improve the software process (b) Automatically develop the software
(c) Test the software (d) All of the above
10 CMM stands for
(a) Capacity maturity model (b) Capability maturity model
(c) Cost management model (d) Comprehensive maintenance model
11 Which level of CMM is for basic project management?
(a) Initial (b) Repeatable
(c) Defined (d) Managed
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 74
Multiple Choice Questions
12 Which level of CMM is for process management?
(a) Initial (b) Defined
(c) Managed (d) Optimizing
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 75
Multiple Choice Questions
17 ISO 9126 contains definitions of
(a) quality characteristics (b) quality factors
(c) quality attributes (d) All of the above
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 76
Multiple Choice Questions
22 ISO 9000 is a series of standards for quality management systems and has
(a) 2 related standards (b) 5 related standards
(c) 10 related standards (d) 25 related standards
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 77