Вы находитесь на странице: 1из 38

Quality Management

Software Engineering III Lecture 2

Topics Covered
Introduction to quality management Quality assurance and standards

Quality planning
Quality control

Introduction to Quality Management

Software Quality Management


Concerned with ensuring that the

required level of quality is achieved in a software product


Involves defining appropriate quality

standards and procedures and ensuring that these are followed

Software Quality Management


Should aim to develop a quality

culture where quality is seen as everyones responsibility

What is Quality?
How can we define quality?

Quality, simplistically, means that a


product should meet its specification.

(Crosby 1979)

What is Quality?
Can we apply this definition to

software systems?

Ideally YES, but practically there are

problems in applying this definition for


software systems.

Problems with Software


1.

Tension between customer quality requirements and developer quality requirements

Customer quality requirements


Efficiency, reliability, etc.

Developer quality requirements


Maintainability, reusability, etc.

Problems with Software


2.

Some quality requirements are

difficult to specify in an
unambiguous way.
3.

Software specifications are


usually incomplete and often

inconsistent.

The Quality Compromise


We cannot wait for specifications to

improve before paying attention to quality management


Must put procedures into place to improve

quality in spite of imperfect specification


Remember that quality management is not

just concerned with reducing defects.

Who Should Manage Quality?


Quality management should be

separate from project management.


To ensure independence, the

quality management team should not be associated to any development team.

Who Should Manage Quality?


Software development process D1 D2 D3 D4 D5

Quality management process

Standards and procedures

Quality plan

Quality review reports

Quality Management Activities


Key quality management activities are:
Quality Quality Quality

assurance planning control

Quality Assurance and Standards

What is Quality Assurance


The establishment of a framework of

organizational procedures and standards which lead to high quality software. These organizational procedures and standards must be documented in the Quality Manual

Quality Assurance and Standards


Standards are the key to effective

quality management
They may be international, national,

organizational or project standards

Product and Process Standards


Product standards define

characteristics that all components should exhibit


E.g.

a common programming style

Process standards define how the

software process should be enacted

Product and Process Standards


Some product standards
Coding Design

standards for languages review form naming standards

Document Code

commenting format plan form format

Project

Change

request form

Product and Process Standards


Some process standards

Standard processes to carry out development activities such as requirement gathering and analysis, designing, coding, testing etc Standard processes to conduct quality reviews and inspections A standard process to release a new version of a product A standard process to product change management

Importance of Standards
Encapsulation of best practice
Avoids

repetition of past mistakes

Framework for quality assurance process


It

involves checking standard compliance

Provide continuity
New

staff can understand the organisation by

understanding the standards applied

Problems with Standards


Not seen as relevant and up-to-date

by software engineers
Involve too much bureaucratic form

filling
Unsupported by software tools
Tedious

manual work is involved to maintain standards

Standards Development
Involve practitioners in development.
Engineers

should understand the rationale underlying a standard

Review standards and their usage

regularly.
Standards

can quickly become outdated and this reduces their credibility amongst practitioners

Standards Development
Detailed standards should have

associated tool support.


Excessive

clerical work is the most significant complaint against standards

Quality Planning

What is Quality Planning?


The selection of appropriate

procedures and standards from QA framework and adoption of these in a specific software project

Quality Plan
A quality plan Sets out the desired product qualities How quality is assessed Define the most significant quality attributes It should set out which organisational

standards should be applied and, if necessary, define new standards

Contents of a Quality Plan Document


Product introduction Product plans

Process descriptions
Quality goals Risks and risk management

Quality Plan
Quality plans should be short,

succinct documents
If

they are too long, no-one will read

them

Quality Control

What is Quality Control


Definition and enactment of

processes which ensure that the


project quality procedures and the

standards are followed by the


software development team.

Quality Control
There are two approaches to control

quality
Quality

reviews software assessment and

Automated

software measurement

Quality Reviews
The principal method of validating the

quality of a process or of a product Group examined part or all of a process or system and its documentation to find potential problems Code, designs, specifications, test plans, standards, etc. can all be reviewed.

Quality Reviews
Software or documents may be

'signed off' at a review which signifies that progress to the next development stage has been approved by management.

The Review Process

Select review team Arr ange place and time Distribute documents Hold review

Complete review forms

Quality Reviews
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 Review should be recorded and records maintained

Summary
Software quality management is

concerned with ensuring that software meets its required level of quality
Quality assurance standards and

procedures should be documented in an organisational quality manual

Summary
Every project in an organization must

have a quality plan which outlines how the quality will be managed in that specific project
Reviews are the most widely used

approach for assessing software quality

End of Lecture 2

Вам также может понравиться