Software Engineering Assignment
Software Engineering Assignment
COURSE NAME:
TITLE
SOFTWARE ENGINEERING
Assignment I
CODE
ICS 2302
STUDENTS
EXAMINING LECTURER
MR. THUKU
yTHE ISO 9000 QUALITY STANDARDS
Quality assurance systems are created to help organizations ensure their products and
services satisfy customer expectations by meeting their specifications.
These systems cover a wide variety of activities encompassing a product’s entire life
cycle including planning, controlling, measuring, testing and reporting, and improving
Quality levels throughout the development and manufacturing process. ISO 9000
describes Quality assurance elements in generic terms that can be applied to any
business regardless of the products or services offered.
The ISO 9000 standards have been adopted by many countries including all members of
the European Community, Canada, Mexico, the United States, Australia, New Zealand,
and the Pacific Rim. Countries in Latin and South America have also shown interest in
the standards.
After adopting the standards, a country typically permits only ISO registered companies
to supply goods and services to government agencies and public utilities.
To become registered to one of the Quality assurance system models contained in ISO
9000, a company’s Quality system and operations are scrutinized by third party auditors
for compliance to the standard and for effective operation. Upon successful registration,
a company is issued a certificate from a registration body represented by the auditors.
Semi-annual surveillance audits ensure continued compliance to the standard.
ISO 9000 describes the elements of a Quality assurance system in general terms.
- Procedures,
- Processes, and
- Resources;
that are needed to implement Quality planning, Quality control, Quality
assurance, and Quality improvement. However, ISO 9000 does not describe how an
organization should implement these Quality system elements.
ISO 9000
quality models
instantiated as
documents
Organisation Organisation
quality manual quality process
Supports
Management responsibility Quality system
Control of non-conforming products Design control
Handling, storage, packaging and Purchasing
delivery
Purchaser-supplied products Product identification and traceability
Process control Inspection and testing
Inspection and test equipment Inspection and test status
Contract review Corrective action
Document control Quality records
Internal quality audits Training
Servicing Statistical techniques
The ISO 9001 Standard
ISO 9001 is the Quality assurance standard that applies to software engineering. The
standard contains 20 requirements that must be present for an effective Quality
assurance system. Because the ISO 9001 standard is applicable to all engineering
aspects.
ISO 9000 describes what must be done to be compliant, but it does not describe how it
must be done.
MANAGING SOFTWARE PROJECTS
There are several disciplines under the ISO 9000-9001, a special set of ISO guidelines
(ISO 9000-3) have been developed to help interpret the standard for use in the software
process.
Under the ISO 9000-9001, The Software Quality Assurance (SQA) Plan provides a road
map for instituting software Quality assurance. Developed by the SQA group, the plan
serves as a template for SQA activities that are instituted for each software project.
A standard for SQA plans has been recommended by the IEEE [IEE94]. Initial sections
describe the purpose and scope of the document and indicate those software process
activities that are covered by Quality assurance. All documents noted in the SQA Plan
are listed and all applicable standards are noted. The management section of the plan
describes SQA’s place in the organizational structure, SQA tasks and activities and their
placement throughout the software process, and the organizational roles and
responsibilities relative to product Quality.
The documentation section describes (by reference) each of the work products produced
as part of the software process. These include;
In addition, this section of the SQA defines the minimum set of work products that are
acceptable to achieve high Quality.
The standards, practices, and conventions section lists all applicable standards and
practices that are applied during the software process (e.g., document standards, coding
standards, and review guidelines). In addition, all project, process, and (in some
instances) product metrics that are to be collected as part of software engineering work
are listed.
The reviews and audits section of the plan identifies the reviews and audits to be
conducted by the software engineering team, the SQA group, and the customer. It
provides an overview of the approach for each review and audit.
The remainder of the SQA Plan identifies the tools and methods that support SQA
activities and tasks; references software configuration management procedures for
controlling change; defines a contract management approach; establishes methods for
assembling, safeguarding, and maintaining all records; identifies training required to
meet the needs of the plan; and defines methods for identifying, assessing, monitoring,
and controlling risk.
SUMMARY
Software Quality Assurance is an umbrella activity that is applied at each step in the
software process. SQA encompasses procedures for the effective application of methods
and tools, formal technical reviews, testing strategies and techniques, poka-yoke
devices, procedures for change control, procedures for assuring compliance to
standards, and measurement and reporting mechanisms.
Software reviews are one of the most important SQA activities. Reviews serve as filters
throughout all software engineering activities, removing errors while they are relatively
inexpensive to find and correct. The formal technical review is a stylized meeting that
has been shown to be extremely effective in uncovering errors.
To properly conduct software Quality assurance, data about the software engineering
process should be collected, evaluated, and disseminated. Statistical SQA helps to
improve the Quality of the product and the software process itself. Software reliability
models extend measurements, enabling collected defect data to be extrapolated into
projected failure rates and reliability predictions.
In summary, we recall the words of Dunn and Ullman [DUN82]: "Software Quality
assurance is the mapping of the managerial precepts and design disciplines of Quality
assurance onto the applicable managerial and technological space of software
engineering." The ability to ensure Quality is the measure of a mature engineering
discipline. When the mapping is successfully accomplished, mature software engineering
is the result.
REFERENCES
[ART92] Arthur, L.J., Improving Software Quality: An Insider's Guide to TQM, Wiley,
1992.
[DEM99] DeMarco, T., “Management Can Make Quality (Im)possible,” Cutter IT Summit,
[DUN82] Dunn, R. and R. Ullman, Quality Assurance for Computer Software, McGraw-
Hill, 1982.
[GLA98] Glass, R., “Defining Quality Intuitively,” IEEE Software, May 1998, pp. 103–
104, 107.
[HOY98] Hoyle, D., ISO 9000 Quality Systems Development Handbook: A Systems
Engineering
IEE94] Software Engineering Standards, 1994 ed., IEEE Computer Society, 1994.