Software Quality Assurance
(SQA) - SWE 333
Software Quality Standards
Dr. Khalid Alnafjan.
L. Wea’am Alrashed.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Outline
• What are standards?
• Benefits of standards to software quality.
• Organizations involved in SQA standard
development.
• Certification of standards.
• Example of standards.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
What Are Standards
• A standard might simply be defined as 'a set of
rules for ensuring quality'.
• A standard is an agreed way of doing something.
It could be about making a product, managing a process,
delivering a service or supplying materials – standards can
cover a huge range of activities undertaken by organizations
and used by their customers.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
What Are Standards
Ref: https://www.youtube.com/watch?v=W78fYMEvq7g
Galin, SQA from theory to implementation © Pearson Education Limited 2004
What Are Standards
• Tasks performed from a standard are known to
use proven way of achieving quality
• Standards set out what are widely accepted as
good principles, practices, or guidelines in a given
area
Galin, SQA from theory to implementation © Pearson Education Limited 2004
What Are Standards
• Usually standards are published documents setting
out specifications and procedures designed to
ensure products, services and systems are safe,
reliable and consistently perform the way they
were intended to.
• They establish a common language which defines
quality and safety criteria.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Benefits of standards to software
quality
• The ability to apply methodologies and procedures
of the highest professional level.
• Better mutual understanding and coordination among
development teams and also between development
and maintenance teams.
• Greater cooperation between the software developer
and external participants in the project based on the
adoption of standards as part of the contract.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Benefits of standards to software
quality
• Decreased number of defects and errors in software
• Less rework as a result of less software defects
• Reduced development and maintenance cost
• Increased software reliability
• Increased customer satisfaction
• Happier software practitioners
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Organizations involved in SQA
Standards Development
Most prominent developers of SQA standards:
• IEEE (Institute of Electrical and Electronic Engineers)
Computer Society
• ISO (International Standards Organization)
• DOD (US Department of Defense)
• ANSI (American National Standards Institute)
• IEC (International Electrotechnical Commission)
• EIA (Electronic Industries Association)
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Software quality assurance standards
Several standards that are related to software quality assurance
are available. Examples are:
• IEEE: Institute of Electrical and Electronics Engineers Computer
Society
– Software Engineering Standards Committee (e.g. IEEE Std 1228-1994
Standard for Software Safety Plans)
– Quality measurement: IEEE Std 1061-1992 Standard for Software Quality
Metrics Methodology
• ISO: International Organization for Standardization
– ISO 9000-3 Quality Management and Quality Assurance Standards - Part
3: Guidelines for the application of 9001 to the development, supply,
installation and maintenance of computer software
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Software quality assurance standards
• DOD: Department of defense – USA
– CMMi: Capability maturity level
• IEC: International Electrotechnical Commission
• (e.g. IEC 61508 Functional Safety - Safety-Related Systems)
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Software quality assurance standards by tasks
• General project management: IEEE Std 1058.1-1987
– Standard for Software Project Management Plans
• Producing plans: IEEE Std 1059-1993 Guide for
– Software Verification and Validation Plans
• Requirements: IEEE Std 1233-1996
– Guide for developing System Requirements Specifications
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Software quality assurance standards by tasks
• Maintenance: IEEE Std 1219-1992
– Standard for Software Maintenance
• Productivity: IEEE Std 1045-1992
– Standard for Software Productivity Metrics
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Certification of Standards
• Why organizations needs certification for standards they
apply?
– To enable a software development organization to assure
acceptable quality of its software products or maintenance
services.
– In other words, Certification is a meaning that standards
are applied correctly and completely
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Certification of Standards
– Certification also helps to obtain more business because
many customers require that organizations obtain certain
standards.
– Certification is granted by a Third party. Third party
certification provides independent confirmation that
organizations meet the requirements of a certain standard
and hence a certificate is given to that organization.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
ISO 9000
• ISO 9000 is one of the popular standards. It is a written set of
standards which describe and define the basic elements of the
quality system needed to ensure that an organization’s products/or
services meet or exceed customer needs and expectations.
• ISO 9000 deals with the fundamentals of quality management
systems.
• ISO 9000 is based on documentation and is based on the following:
- Document what you do;
- Do what you document;
- Prove it and improve it
Galin, SQA from theory to implementation © Pearson Education Limited 2004
ISO 9000
• Any organization wishing to adopt ISO standards
should start be using ISO 9000 and then select the
appropriate standard according to the type of their
business.
• The ISO 9000 standard is continually being revised
by standing technical committees and advisory
groups, who receive feedback from those
professionals who are implementing the standard.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Other ISO Standards
• ISO 9001 is the broadest standard and provides a model for
design, development, production, installation and servicing
• ISO 9002 is limited to production, installation and servicing
• ISO 9003 is further limited to inspection and testing
• ISO 9000-3 is further limited for software quality
• A company should first use ISO 9000 to design and to
implement a quality system. Once the quality has been
installed, the company may use the quality assurance models
of ISO 9001, ISO 9002, or ISO 9003 to demonstrate the
adequacy of the quality system.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
ISO 9000-3
• ISO 9000-3, represent implementation of the general
methodology of quality management ISO 9000 standards
to the special case of software development and
maintenance.
• ISO 9000-3 is a standard for quality software systems.
• It is very short (approximately 30 pages) and very high
level (abstraction).
• It explains what to do and not how to do !!
• It can not be implemented until ISO 9000 is successfully
implemented
Galin, SQA from theory to implementation © Pearson Education Limited 2004
ISO 9000-3: Requirements
• The ISO 9000-3 includes about 20 requirements that
relate to various aspects of software quality
management classified into the following five groups:
– Quality management system
– Management responsibilities
– Resource management
– Product realization
– Measurement, analysis and improvement
Galin, SQA from theory to implementation © Pearson Education Limited 2004
ISO 9000-3:
Principal areas of quality focus
1. management responsibility 1. control of inspection, measuring,
2. quality system requirements and test equipment
3. contract review requirements 2. inspection and test status
4. product design requirements 3. control of nonconforming
5. document and data control products
6. purchasing requirements 4. corrective and preventive actions
7. customer supplied products 5. handling, storage, and delivery
8. product identification and 6. control of quality records
traceability 7. internal quality audit requirements
9. process control requirements 8. training requirements
10.inspection and testing 9. servicing requirements
10. statistical techniques
Galin, SQA from theory to implementation © Pearson Education Limited 2004
IEEE 730: 2002 Standard for software
quality Plan
• This is another example of a standard that is used
widely in software quality assurance
• The standard specifies the format and content of
software quality assurance plans
• It describes in details how a software quality
assurance plan can be implemented
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Other IEEE standards
• Quality measurement: IEEE Std 1061-1992 Standard
for Software Quality Metrics Methodology
• IEEE Std 1059-1993 Guide for Software Verification
and Validation Plans
• IEEE Std 1233-1996 Guide for Developing System
Requirements Specifications
• And Much more
Galin, SQA from theory to implementation © Pearson Education Limited 2004
Summary
• A standard might simply be defined as 'a set of rules
for ensuring quality'.
• Standards improve software quality by adopting
highest professional procedures
• There are several benefits for using standards
• Several organizations produce different standards
• Certification is important to ensure that standard has
been applied correctly and adequately
Galin, SQA from theory to implementation © Pearson Education Limited 2004