0% found this document useful (0 votes)
79 views

Software Quality

Software Quality study

Uploaded by

Harshita Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views

Software Quality

Software Quality study

Uploaded by

Harshita Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Software Engineering (3rd ed.), By K.

K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Software Quality
Software Quality

Different people understand different meanings of quality like:

v  conformance to requirements

v  fitness for the purpose

v  level of satisfaction

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

Fig 7.8: Software quality attributes


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4
Software Quality
1 Reliability The extent to which a software performs its intended
functions without failure.
2 Correctness The extent to which a software meets its
specifications.
3 Consistency & The extent to which a software is consistent and give
precision results with precision.
4 Robustness The extent to which a software tolerates the
unexpected problems.
5 Simplicity The extent to which a software is simple in its
operations.
6 Traceability The extent to which an error is traceable in order to
fix it.
7 Usability The extent of effort required to learn, operate and
understand the functions of the software

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.

Table 7.4: Software quality attributes


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
Software Quality
§  McCall Software Quality Model

Fig 7.9: Software quality factors


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
Software Quality
i.  Product Operation
Factors which are related to the operation of a product are
combined. The factors are:
§  Correctness
§  Efficiency
§  Integrity
§  Reliability
§  Usability
These five factors are related to operational performance,
convenience, ease of usage and its correctness. These factors play
a very significant role in building customer’s satisfaction.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9
Software Quality
ii.  Product Revision
The factors which are required for testing & maintenance are
combined and are given below:

§  Maintainability
§  Flexibility
§  Testability

These factors pertain to the testing & maintainability of software.


They give us idea about ease of maintenance, flexibility and testing
effort. Hence, they are combined under the umbrella of product
revision.

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.

Sr.No. Quality Factors Purpose

1 Integrity The extent to which access to software or data by


the unauthorized persons can be controlled.
2 Flexibility The effort required to modify an operational program.

3 Reusability The extent to which a program can be reused in


other applications.
4 Interoperability The effort required to couple one system with
another.

Table 7.5: Remaining quality factors (other are in table 7.4)


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 12
Quality criteria

Fig 7.10: McCall’s quality model


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 13
Software Quality

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.

Table 7.5 (b): Software quality criteria


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17
Software Quality
§  Boehm Software Quality Model

Fig.7.11: The Boehm software quality model


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 18
Software Quality
ISO 9126
§  Functionality
§  Reliability
§  Usability
§  Efficiency
§  Maintainability
§  Portability

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.

•  Testability The effort needed for validating the modified software.

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

Fig.7.12: ISO 9126 quality model


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 24
Software Quality
§  Capability Maturity Model
It is a strategy for improving the software process, irrespective of the
actual life cycle model used.

Fig.7.23: Maturity levels of CMM


Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25
Software Quality

Maturity Levels:

ü  Initial (Maturity Level 1)

ü  Repeatable (Maturity Level 2)

ü  Defined (Maturity Level 3)

ü  Managed (Maturity Level 4)

ü  Optimizing (Maturity Level 5)

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26
Software Quality

Maturity Level Characterization

Initial Adhoc Process

Repeatable Basic Project Management

Defined Process Definition

Managed Process Measurement

Optimizing Process Control

Fig.7.24: The five levels of CMM

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.

The aim is to develop effective software process and


practices that enable the organization to repeat the
successful past practices.

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.

These are known as standard software processes.

The organizations also conduct a training programme so


that staff and managers are well aware of the sources and
understand their assigned tasks.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 32
Software Quality

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.

A well defined process includes inputs, standards, practices


and procedures to carry out the work, verification
procedures, outputs and criteria of completion. The maturity
level of a process at level 3 can be described as standard
and completed.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 33
Software Quality

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.

The software projects identify the causes of the software


defects and evaluate software processed to prevent defects
from reoccurring.

The process maturity at level 5 can be defined as


‘continuously improving’. Improvement occurs due to
advances in existing processes and innovations using new
technologies.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 35
Software Quality
§  Key Process Areas
The key process areas at level 2 focus on the software project’s
concerns related to establishing basic project management controls,
as summarized below:

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

Purchaser supplied product


1.  Verified and maintained.
2.  CMM: Integrated Software management

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

Product identification and traceability


1.  Product must be traceable during all stages.
2.  CMM: Software configuration management

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

Inspection and testing


1.  Incoming materials must be inspected or certified
before use.
2.  CMM: Software product engineering

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

Inspection, measuring and test equipment


1.  Equipments tested
2.  CMM: Software product engineering

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

Inspection and test status


1.  Status of inspections and tests be maintained for items
as they progress
2.  CMM: Software product engineering, software
configuration management

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

Control of nonconforming product


1.  Nonconforming products must be controlled
2.  CMM: Software product engineering, software
configuration management

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

15.  Handling, storage, packaging and delivery


ISO 9001 requires that procedures for handling,
storage, packaging, and delivery be established
and maintained.
Configuration Management describes the
creation and release of software products.
Delivering and installing the product, however,
is not described in the CMM.

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

The Six Sigma methodology uses a specific problem-solving


approach and Six Sigma tools to improve processes and
products. This methodology is data-driven, with a goal of
reducing unacceptable products or events.

The real-world application of Six Sigma in most companies is


to make a product that satisfies the customer and minimizes
supplier losses to the point that it is not cost-effective to pursue
tighter quality.

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

The employees must be capable of choosing the most


appropriate tools and techniques for their situations.
There are three major sets of tools/techniques that are
required within the Six Sigma problem solving
framework. These are outlined below:
Ø  Team tools – responsibility grid, threat versus opportunity
matrix, action workouts, etc
Ø  Process improvement tools/techniques – brainstorming,
Pareto analysis, process mapping, cause and effect
analysis, Design of Experiments.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 70
Software Quality
§  Six Sigma

Ø  Statistical Tools – Hypothesis tests (t-test, F-test, Chi


squared, test), ANOVA, scatter plots, capability analysis,
control charts, regression analysis, etc.
Ø  In addition to the tools and techniques, we also need to
have a clear understanding of the common metrics used
within Six Sigma business strategy.
§  Examples of these metrics include: costs of poor
quality, number of customer complaints, defect rate,
throughput yield to mention a few.

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

13 CMM was developed at


(a) Harvard University (b) Cambridge University
(c) Carnegie Mellon University (d) Maryland University
14 McCall has developed a
(a) Quality model (b) Process improvement model
(c) Requirement model (d) Design model

15 The model to measure the software process improvement is called


(a) ISO 9000 (b) ISO 9126
(c) CMM (d) Spiral model
16 The number of clauses used in ISO 9001 are
(a) 15 (b) 25
(c) 20 (d) 10

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

18 In ISO 9126, each characteristics is related to


(a) one attributes (b) two attributes
(c) three attributes (d) four attributes
19 In McCall quality model; product revision quality factor consist of
(a) Maintainability (b) Flexibility
(c) Testability (d) all of the above

20 Each maturity model is CMM has


(a) One KPA (b) Equal KPAs
(c) Several KPAs (d) no KPA
21 KPA in CMM stands for
(a) Key Process Area (b) Key Product Area
(c) Key Principal Area (d) Key Performance Area

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

You might also like