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

SPM Chapter12

This document discusses software quality, including: 1. The importance of defining and measuring software qualities for users and developers. 2. How software quality fits into project planning, from identifying objectives and requirements to reviewing quality aspects. 3. Factors that make software quality especially important, like intangibility and complexity leading to accumulated errors.

Uploaded by

Kidus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views

SPM Chapter12

This document discusses software quality, including: 1. The importance of defining and measuring software qualities for users and developers. 2. How software quality fits into project planning, from identifying objectives and requirements to reviewing quality aspects. 3. Factors that make software quality especially important, like intangibility and complexity leading to accumulated errors.

Uploaded by

Kidus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Software Quality

CHAPTER

Software Project Management Slide# 1


Software Quality
CHAPTER
Objectives

Objectives

• Explain the importance of software quality to software users and


developers;
• Define the qualities of good software;
• Design methods of measuring the required qualities of software;
• Monitor the quality of the processes in a software project;
• Use external quality standards to ensure the quality of software
acquired from an outside supplier;
• Develop system using procedures that will increase their quality.

Software Project Management Slide# 2


Software Quality
1. Introduction

Quality is generally agreed to be ‘ a good thing’, that means:

• Define precisely what qualities we require of a system;


• System meets quality requirements and this needs
measurement.

How about checking software quality from out-sources?

Software Project Management Slide# 3


Software Quality
2. The place of software quality in project planning

0
Select Project
1 Identify project
2
Identify project
scope and objective infrastructure
3
Analyze project
characteristics

4 Identify the
Review products and activities

5 Estimate effort
for activity
For each activity
Lower level detail
6 Identify
activity risks

10 Lower level planning


7
Allocate resources

9 Execute plan 8
Review/publicize plan

Software Project Management Slide# 4


Software Quality
2. The place of software quality in project planning

• Step 1: Identify project scope and objectives. Some objectives


could relate to the qualities of the application to be delivered.
• Step 2: identify project infrastructure. Identifies installation
standards and procedures. Some of these will most certainly be
about quality.
• Step 3: analyze project characteristics. The application to be
implemented will be examined to see if it has any special quality
requirements.
• Step 4: identify the products and activities of the project. It is
at this point that the entry, exit and process requirements are
identified for each activity.
• Step 5: review and publicize plan. At this stage the overall
quality aspects of the project plan are reviewed.

Software Project Management Slide# 5


Software Quality
3. The importance of software quality

The special characteristics of software, and in particular its


intangibility and complexity, make special demands.

• Increasing criticality of software


• The intangibility of software
• Accumulating errors during software development

Software Project Management Slide# 6


Software Quality
4. Defining software quality

Three specifications:

• A functional specification
• A quality (or attribute) specification
• A resource specification

Software Project Management Slide# 7


Software Quality
4. Defining software quality

James A. McCall grouped software qualities into three sets of quality


factors:

• Product operation qualities


• Product revision qualities
• Product transition qualities

Software Project Management Slide# 8


Software Quality
4. Defining software quality

Product operation quality factors

• Correctness
• Reliability
• Efficiency
• Integrity
• Usability

Refer to software quality criteria (Table 12.1)

Software Project Management Slide# 9


Software Quality
4. Defining software quality

Product revision quality factors

• Maintainability
• Testability
• Flexibility

Refer to software quality criteria (Table 12.1)

Software Project Management Slide# 10


Software Quality
4. Defining software quality

Product transition quality factors

• Portability
• Reusability
• Interoperability

Refer to software quality criteria (Table 12.1)

Software Project Management Slide# 11


Software Quality
4. Defining software quality

McCall – quality factors, the developers would be concerned with


quality criteria:

• Scale
• Test
• Worst
• Plan
• Best
• Now

Software Project Management Slide# 12


Software Quality
5. ISO 9126

<< intentionally blanks>>

Software Project Management Slide# 13


Software Quality
6. Practical software quality measures

Reliability

• Availability
• Mean time between failures
• Failure on demand
• Support activity

Software Project Management Slide# 14


Software Quality
6. Practical software quality measures

Maintainability

• Flexibility plus
• New quality diagnosability
(average time to diagnose a fault)

Software Project Management Slide# 15


Software Quality
6. Practical software quality measures

Extendibility

• Quality of flexibility
• Productivity needed to incorporate a new feature
into an existing system expressed as a percentage
of the normal productivity when developing the
software from scratch

EXAMPLE: the original IOE maintenance billing system comprised


5000 SLOC and took 400 work-days to implement. An amendment to
the core system caused by the introduction of group accounts has led
to 100 SLOC being added which took 20 work-days to implement:

Software Project Management Slide# 16


Software Quality
7. Product versus process quality management

ERROR

Errors that creep in at the early stages are more expensive to


correct at later stages for the following reasons:

• The later the error is found the more rework at more stages of
development will be needed. An error in the specification found
in testing will mean rework at all the stages between
specification and testing.
• The general tendency is for each successive stage of
development to be more detailed and less able to absorb
change.

Software Project Management Slide# 17


Software Quality
7. Product versus process quality management

ERROR

Errors should therefore be eradicated by careful examination of


the deliverables of each stage before they are passed on to the next.
To do this, the following process requirements should be specified for
each activity:

• Entry requirements
• Implementation requirements
• Exit requirements

Software Project Management Slide# 18


Software Quality
8. External standards

• BS EB ISO 9001:2000
• An overview of BS EB ISO 9001:2000 QMS
requirements
• Capability process models
• Assessing software products

Software Project Management Slide# 19


Software Quality
9. Techniques to help enhance software quality

• Increasing visibility
• Procedural structure
• Checking intermediate stages

Software Project Management Slide# 20


Software Quality
9. Techniques to help enhance software quality

Inspections
Inspection means that when a piece of work is completed, copies of
the work are distributed to co-workers who then examine the work
nothing defects.
• It is a very effective way of removing superficial errors;
• It motivates developers to produce better structured and self-
explanatory software because they know that other people will
be criticizing it;
• It helps spread good programming practices as the participants
discuss the advantages and disadvantages of specific pieces of
code;
• It can enhance team spirit.

Software Project Management Slide# 21


Software Quality
9. Techniques to help enhance software quality

The general principles behind the Fagan method

• Inspections are carried out on all major deliverables.


• All types of defects are noted – not just logic or function errors.
• Inspections can be carried out by colleagues at all levels except
the very top.
• Inspections are carried out using a pre-defined set of steps.
• Inspection meetings do not last for more than two hours.
• The inspection is led by a moderator who has had specific
training in the technique.

Software Project Management Slide# 22


Software Quality
9. Techniques to help enhance software quality

The general principles behind the Fagan method (cont…)

• The other participants have defined roles


• Checklists are used to assist the fault-finding process.
• Material is inspected at an optimal rate of about 100 lines an
hour.
• Statistics are maintained so that the effectiveness of the
inspection process can be monitored.

Software Project Management Slide# 23


Software Quality
9. Techniques to help enhance software quality

Structural programming and clean-room software development

Type of development, developed by Harlan Mills of IBM, there are


three separate teams:

• A specification team
• A development team
• A certification team

Software Project Management Slide# 24


Software Quality
9. Techniques to help enhance software quality

Formal methods

Clean-room development mentioned the use of mathematically


verification techniques. They are used to define pre-conditions and
post-conditions for each procedure. Pre-conditions define the
allowable states, before processing, of the various items of data
upon which a procedure is to work. The post-conditions define
the state of those data items after the procedure has been
executed.

Software Project Management Slide# 25


Software Quality
9. Techniques to help enhance software quality

Software quality circles

A quality circle is a group of four to ten volunteers working in


the same area who meet for an hour a week to identify, analyze and
solve their work-related problems. One of their number is the group
leader and there could be an outsider, a facilitator, who can advise
on procedural matters. In order to make the quality circle work
effectively training needs to be given.

Software Project Management Slide# 26


Software Quality
9. Techniques to help enhance software quality

Problem solving by quality circles


a) Identify a list of problems;
b) Select one problem to solve;
c) Clarify the problem;
d) Identify and evaluate the causes;
e) Identify and evaluate the solutions;
f) Decide on a solution;
g) Develop an implementation plan;
h) Present the plan to management;
i) Implement a plan;
j) Monitor the plan;
k) Consider wider applicability of solution;
l) Restart from (b).
Software Project Management Slide# 27
Software Quality
10. Quality plans

• Purpose – scope of plan;


• List of references to other documents;
• Management, including organization, tasks and responsibility;
• Documentation to be produced;
• Standards, practices and conventions;
• Reviews and audits;
• Testing;
• Problem reporting and corrective action;
• Tools, techniques and methodologies;
• Code, media and supplier control;
• Records collection, maintenance and retention;
• Training;
• Risk management.
Software Project Management Slide# 28

You might also like