Professional Documents
Culture Documents
QUALITY MANAGEMENT
is a systematic set of operating
TOTAL QUALITY
MANAGEMENT
THE LATEST APPROACH
IT IS THE PROCESS OF INDIVIDUAL &
ORG. DEVELOPMENT THE PURPOSE
OF WHICH IS TO INCREASE THE LEVEL
OF SATISFACTION OF ALL THE
STAKEHOLDERS
QM Vs QA
The Prime Focus of
Quality Management
Quality Assurance
Motivated by stakeholders,
especially customers, external to
the organization
HIERARCHIAL STRUCTURE
QUALITY MANAGEMENT
QUALITY ASSURANCE
HIERARCHIAL STRUCTURE
QUALITY ASSUR. (GMP+Original prod. design &
development)
QUALITY CONTROL
Objectives
To introduce the quality management process
and key quality management activities
To explain the role of standards in quality
management
To explain the concept of a software metric,
predictor metrics and control metrics
To explain how measurement may be used in
assessing software quality and the limitations of
software measurement
Topics covered
BASIC CONCEPTS OF
QUALITY
QUALITY
QUALITY CONTROL
QUALITY ASSURANCE
QUALITY MANAGEMNT
TOTAL QUALITY MANAGEMENT
ISO SYSTEM
What is quality
Quality, simplistically, means that a product
should meet its specification.
This is problematical for software systems
There is a tension between customer quality
requirements (efficiency, reliability, etc.) and
developer quality requirements (maintainability,
reusability, etc.);
Some quality requirements are difficult to specify in an
unambiguous way;
Software specifications are usually incomplete and
often inconsistent.
What is Quality?
User-based: In the eyes of the
beholder
Manufacturing-based: Right the first
time
Product-based: Precise measurement
Dimensions of Quality
Performance
Aesthetics
Special features: convenience, high tech
Safety
Reliability
Durability
Perceived Quality
Service after sale
HISTORICAL BACKGROUND
THE OLDEST TERM
QUALITY
QUALITY CONTROL
QUALITY ASSURANCE (1970s)
QUALITY MANAGEMENT
Importance of Quality
Quality planning
Select applicable procedures and standards for a
particular project and modify these as required.
Quality control
Ensure that procedures and standards are followed by
the software development team.
Software development
process
D1
D2
Quality management
process
Standards and
procedures
Quality
plan
D3
D4
D5
Process-based quality
Process-based quality
Defi ne pr
ocess
Develop
product
Improve
process
Assess pr
oduct
quality
No
Quality
OK
Yes
Standar
dise
process
QUALITY ASSURANCE
is all systematic and planned actions
which are necessary to provide
adequate confidence that a product or
service will satisfy the given
requirement for quality.
Quality assurance
Definition
It is the sum total of all lab activities that
are undertaken to ensure generation of
accurate and reliable results.
What is the Objective?
To ensure credibility of the lab and
generate confidence in lab results
Components of Quality
assurance
Internal Quality control: IQC
Nature: Concurrent
performed by: lab staff
Objective: Reliable results on a daily basis
Importance of standards
Encapsulation of best practice- avoids
repetition of past mistakes.
They are a framework for quality
assurance processes - they involve
checking compliance to standards.
They provide continuity - new staff can
understand the organisation by
understanding the standards that are used.
Standards development
ISO 9000
An international set of standards for quality
management.
Applicable to a range of organisations from
manufacturing to service industries.
ISO 9001 applicable to organisations which
design, develop and maintain products.
ISO 9001 is a generic model of the quality
process that must be instantiated for each
organisation using the standard.
ISO SYSTEM
A SET OF QUALITY STANDARDS
GOVERNING THE DOCUMENTATION
REQUIREMENT OF A SYSTEM
ISO 9001-2000
ISO 14000
ISO 17025
SA 8000
TQM
DEFINITELY
CUSTOMER FOCUSED
TECHNICAL SYSTEM
& PROCEDURES
FOCUSED
PHILOSPHY,
CONCEPTS, TOOLS
&TECHNIQUES
FOCUSED
EMPLOYEE
INVOLVEMENT NOT
NECESSARY
EMPLOYEE
INVOLVEMENT
NECESSARY
TQM
CQI &TQM ARE
SYNONYM
CAN BE
DEPATMENTALLY
FOCUSED
ORGANIZATION WIDE
QUALITY
DEPARTMENT
RESPONSIBLE FOR
QUALITY
EVERYONE
RESPONSIBLE FOR
QUALITY
TQM
IMPROVES PROCESS
& CULTURAL CHANGE
ISO 9001
Organisation
quality man
ual
documents
is used to de
velop
Project 1
quality plan
Project 2
quality plan
Supports
Organisation
quality pr
ocess
instantiated as
Project 3
quality plan
Project quality
management
SUPPLIERS
PEOPLE
ATTITUDE
BEHAVIOR
INVOLVEMENT
EMPOWERMENT
CUSTOMERS
ISO 9000
Documentation standards
Document standards
Documentation process
Create
initial draft
Stage 1:
Creation
Proofread
text
Stage 2:
Polishing
Layout
text
Stage 3:
Production
Incorporate
review
comments
Review
draft
Re-draft
document
Approved document
Produce
fi nal dr
aft
Check
fi nal dr
aft
Approved document
Review
layout
Produce
print masters
Print
copies
Document standards
Document identification standards
How documents are uniquely identified.
Document interchange
standards
Quality planning
A quality plan sets out the desired product
qualities and how these are assessed and
defines the most significant quality attributes.
The quality plan should define the quality
assessment process.
It should set out which organisational
standards should be applied and, where
necessary, define new standards to be used.
Quality plans
Quality plan structure
Product introduction;
Product plans;
Process descriptions;
Quality goals;
Risks and risk management.
QUALITY CONTROL
is the operational techniques
and activities that are used to
fulfill the requirements for
quality
Quality control
This involves checking the software
development process to ensure that
procedures and standards are being
followed.
There are two approaches to quality
control
Quality reviews;
Automated software assessment and
software measurement.
Quality reviews
Types of review
Review type
Principal purpose
Design or program
inspections
Progress reviews
Quality reviews
Quality reviews
Review functions
Quality function - they are part of the
general quality management process.
Project management function - they
provide information for project managers.
Training and communication function product knowledge is passed between
development team members.
Quality reviews
The objective is the discovery of system
defects and inconsistencies.
Any documents produced in the process
may be reviewed.
Review teams should be relatively small
and reviews should be fairly short.
Records should always be maintained of
quality reviews.
Review results
Lines of code in a program, the Fog index, number of person-days required to develop a
component.
Software
product
Control
measurements
Predictor
measur
ements
Management
decisions
Metrics assumptions
Analy se
anomalous
components
Select
components to
be assessed
Measure
component
characteristics
Identify
anomalous
measur
ements
Data collection
A metrics programme should be based on a
set of product and process data.
Data should be collected immediately (not
in retrospect) and, if possible, automatically.
Three types of automatic data collection
Static product analysis;
Dynamic product analysis;
Process data collation.
Data accuracy
Product metrics
Product metrics
Description
Fan in/Fan-out
Fan-in is a measure of the number of functions or methods that call some other function
or method (say X). Fan-out is the number of functions that are called by function X. A
high value for fan-in means that X i s tightly coupled to the rest of the design and
changes to X will have extensive knock-on effects. A high value for fan-out suggests
that the overall complexity of X m ay be high because of the complexity of the control
logic needed to coordinate the called components.
Length of code
This is a measure of the size of a program. Generally, the larger the size of the code of a
component, the more complex and error-prone that component is likely to be. Length of
code has been shown to be one of the most reliable metrics for predicting errorproneness in components.
Cyclomatic complexity
This is a m easure of the control complexity of a p rogram. This control complexity may
be related to program understandability. I discuss how to compute cyclomatic
complexity in Chapter 22.
Length of identifiers
This is a measure of the average length of distinct identifiers in a p rogram. The longer
the identifiers, the more likely they are to be m eaningful and hence the more
understandable the program.
Depth of conditional
nesting
Fog index
This is a measure of the average length of words and sentences in documents. The higher
the value for the Fog index, the more difficult the document is to understand.
Object-oriented metrics
Objectoriented
metric
Description
Depthofinheritance
tree
Thisrepresentsthenumberofdiscretelevelsintheinheritancetreewheresub
classesinheritattributesandoperations(methods)fromsuperclasses.The
deepertheinheritancetree,themorecomplexthedesign.Manydifferentobject
classesmayhavetobeunderstoodtounderstandtheobjectclassesattheleaves
ofthetree.
Methodfanin/fan
out
Thisisdirectlyrelatedtofaninandfanoutasdescribedaboveandmeans
essentiallythesamething.However,itmaybeappropriatetomakea
distinctionbetweencallsfromothermethodswithintheobjectandcallsfrom
externalmethods.
Weightedmethods
perclass
Thisisthenumberofmethodsthatareincludedinaclassweightedbythe
complexityofeachmethod.Therefore,asimplemethodmayhaveacomplexity
of1andalargeandcomplexmethodamuchhighervalue.Thelargerthevalue
forthismetric,themorecomplextheobjectclass.Complexobjectsaremore
likelytobemoredifficulttounderstand.Theymaynotbelogicallycohesiveso
cannotbereusedeffectivelyassuperclassesinaninheritancetree.
Numberof
overriding
operations
Thisisthenumberofoperationsinasuperclassthatareoverriddeninasub
class.Ahighvalueforthismetricindicatesthatthesuperclassusedmaynotbe
anappropriateparentforthesubclass.
Measurement analysis
It is not always obvious what data means
Analysing collected data is very difficult.
Measurement surprises
Key points
Software quality management is concerned
with ensuring that software meets its
required standards.
Quality assurance procedures should be
documented in an organisational quality
manual.
Software standards are an encapsulation of
best practice.
Reviews are the most widely used approach
for assessing software quality.
Key points
Software measurement gathers
information about both the software
process and the software product.
Product quality metrics should be used to
identify potentially problematical
components.
There are no standardised and
universally applicable software metrics.