Software Engineering Module-5softwarequality
Software Engineering Module-5softwarequality
Software Quality
Robert Hughes and
Mike Cotterell
1
Department of Computer Science , National Textile University Faisalabad-37610, Pakistan
Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: [email protected]
Software Quality
Objective
2
- Software Engineering
Software Quality
12.2 Introduction
3
- Software Engineering
Software Quality
Quality will be of concern at all stages of project planning and execution. But will
be of particular interest at the following points in the step wise framework
3/20/2012
4
- Software Engineering
Software Quality
0. Select
Project
1. Identify 2. Identify
Project scope Project
and objective Infrastructure
3. Analyze
project
characteristics
4. Identify the
projects and
activities
10.Lower 5. Estimate
Level Planning efforts for
activity
9. Execute 6. Identify
Plan activity risk
8. Review / 7. Allocate
Publicize Plan resources
3/20/2012
5
- Software Engineering
Software Quality
1. Identify Project Scope and objective: Some objective could relate to the
qualities of the application to be delivered.
4. Identify the products and activities of the project: It is at this point the entry,
exist and process requirement are identified for each activity
5. Review and publicize Plan: At his stage the overall quality aspects of the
project plan are reviewed
3/20/2012
6
- Software Engineering
Software Quality
7
- Software Engineering
Software Quality
8
- Software Engineering
Software Quality
Attempt to identify specific product qualities that are appropriate to software, for
instance, grouped software qualities into three sets. Product operation qualities,
Products revision qualities and product transition qualities.
Correctness: The extent to which a program satisfy its specification and fulfil user
objective
Reliability: The extent to which a program can be expected to perform its
intended function with required precision
Efficiency: The amounts of computer resource required by software
Integrity: The extent to which access to software or data by unauthorized persons
can be controlled
Usability: The effort required to learn, operate, prepare input and interprets
output
3/20/2012
9
- Software Engineering
Software Quality
10
MGT-3071- Software Project Management
Software Quality
3/20/2012
11
MGT-3071- Software Project Management
Software Quality Models
3/20/2012
12
- Software Engineering
Software Quality Models
3/20/2012
13
- Software Engineering
Software Quality Models
3/20/2012
14
- Software Engineering
Software Quality Models
3/20/2012
15
- Software Engineering
Software Quality Models
3/20/2012
16
- Software Engineering
Software Quality
3/20/2012
17
- Software Engineering
Software Quality
During quality is not enough. If we are to judge whether a system meets out
requirements we need to be able to measure its qualities. For each criterion, one
or more measure have to be invented the degree to which the quality is present.
In general the user of software would be concerned with measuring what McCall
called quality factors while the developers would be concerned with quality
criteria. The following should be laid down for each quality.
18
- Software Engineering
Software Quality
12.5 ISO-9126:
ISO 9126 standard was published in 1991 to tackle the question of the definition
of software quality this 13 pages document was designed as foundation upon
which further, more detailed standard could be built.
ISO 9126 identifies six software quality characteristics
19
- Software Engineering
Software Quality
Functionality: which covers the functions that a software product provides to
satisfy user needs.
Functionality sub characteristics: suitability, Accuracy, Interoperability,
Compliance and Security.
Compliance refers to the degree to which the software adheres to application-
related standards or legal requirements. Typically these could be auditing
requirement. Interoperability refers to the ability of software to interact with
others.
Reliability: Which relates to the capability of the software to maintain its level of
performance
Reliability sub characteristics: Maturity, Fault Tolerance and recoverability.
Maturity refers to frequency of failures due to fault in software more
identification of fault more chances to remove them. Recoverability describe the
control of access to a system
3/20/2012
20
- Software Engineering
Software Quality
21
- Software Engineering
Software Quality
22
- Software Engineering
Software Quality
23
- Software Engineering
Software Quality
Rating Level Definition: The metrics used must be mapped onto scales that
indicate the degree to which the requirement have been satisfied for example in
one application time behaviour in the sense of response time might be important
for a key transaction actual response time might be mapped onto quality scale.
3/20/2012
24
- Software Engineering
Software Quality
Assessment criteria definitions: The way that the quality scores are combined or
summarized or give an overall view of the product has to be defined. There
software product as now to be evaluated by measuring its qualities, converting
them to quality score or rating and summarising them the rating to obtain an
overall judgment.
3/20/2012
25
- Software Engineering
Software Quality
Means time between failures, the total service time divided by the number of
failures
Failure on demand: the probability that a system will not be available at the time
required on the probability that a transaction will fail.
Support activity: the number of fault reports that are dealt with
3/20/2012
26
- Software Engineering
Software Quality
Maintainability: This is closely related to flexibility the ease with which the
software can be modified. The main deference is that before an amendment can
be made, the fault has to be diagnosed. Maintainability can therefore be seen as
flexibility plus a new quality, diagnose ability which might be defined as the
average amount of time needed to diagnose a fault.
27
- Software Engineering
Software Quality
The original IOE maintenance billing system comprised 5000 SLOC and took 400
works-days to implement. An amendment t the core system caused by the
introduction of group accounts has lead to 100 SLOC being added which took 20
works days to implements thus
3/20/2012
28
- Software Engineering
Software Quality
29
- Software Engineering
Software Quality
Errors that creep in at the early stages are more expensive to correct at late staves
for the following reasons
The later the error is found the more rework at more stages of development.
The general tendency is for each successive stage of development to be more
detailed and less able to absorb change.
30
- Software Engineering
Software Quality
31
- Software Engineering
Software Quality
32
- Software Engineering
Software Quality
3/20/2012
33
- Software Engineering
Software Quality
3/20/2012
34
- Software Engineering
Software Quality
3/20/2012
35
- Software Engineering
Software Quality
The process by which the final product is created must be planned and monitored
Inspection and testing must take place during the development phase at its
completion and before delivery. Tests and inspection must also be carried out on
the component obtained from third parties
The equipment used in the production process itself must be properly controlled
with respect to quality
The testing status of all components and system must be clearly recorded at all
times
Care must be take to ensure that items that are known to be defective or not in
carelessly used.
When a defect is detected, measures must be undertaken to remove the
defective part and to ensure that the defect does not occur again
3/20/2012
36
- Software Engineering
Software Quality
37
- Software Engineering
Software Quality
TickIT
The ISO9000 standard refer to quality management system is general but in the
united kingdom, The department of Trade and Industry (DTI) have formulated the
TICKIT standard which give an interpretation of these standards and includes the
followings requirements.
A detailed development plan is required before development is embarked upon.
Chang control procedures should be used at all stages of development
Design reviews must take place.
The suitability of the design methodology must the reviewed
Progress must be reviewed on a systematic basis.
3/20/2012
38
- Software Engineering
Software Quality
39
- Software Engineering
Software Quality
Rather than just checking that a system is in place to detect faults, a customers
might wish to check that a supplier is using a software development methods and
tools that are like to produce good quality software. In The United states, an
influential capability maturity model (CMM) has be developed at the software
engineering institute (SEI), a part of the Carnegie- Mellon University. These levels
are defined as.
Level 1: Initial: The procedures followed tend to be haphazard. Some project will
be successful, but this tends to be because of the skills of particular individuals
including project managers. This is no level 0 and so any organization would be at
this level by default.
Level 2: Repeatable: Organization at this level will have basic project management
procedures in place, however, the way an individual task is carried out will largely
on the person doing it
3/20/2012
40
- Software Engineering
Software Quality
Level 3 Defined: the organization have the way in which each task in the software
development life cycle is to be done.
Level 4 Managed: The product and the processes involved in software
development are subject to measurement and control
Level 5 Optimizing: Improvement in procedure are designed and implemented
using the data gather from the measurement process
3/20/2012
41
- Software Engineering
Software Quality
The concern in this section has so far been with the assessment of organization
and the process that they used to produce software, but many purchases of
software, including project managers contemplating the purchase of software
tools are more directly worried about the quality of the software product itself.
42
- Software Engineering
Software Quality
Procedural Structure: At first programmer were more or less left to get on with
writing the programs, although there might be some general guidelines, Over the
years there has been the growth of methodologies where every process in the
software development cycle has carefully laid down steps
3/20/2012
43
- Software Engineering
Software Quality
It seem inherent in human nature to push forward quickly with the development
of any engineered object until a working model, however imperfect has been
produced that can then be debugged. One of the element of the move towards
quality practices has been put emphasis on checking the correctness of work at its
earlier conceptual stages.
The push towards visibility can be increase by using walkthroughs, inspection and
reviews. The movement towards more procedural structure inevitably leads to
discussion of structured programming techniques and to its later manifestation in
the ideas of Clean-room software development
3/20/2012
44
- Software Engineering
Software Quality
Inspection
When a piece of work is completed the copies of the work are distributed to co-
worker to identifies the defects. The involved colleagues must the experience in
the similar area such a programmer always inspect the work of programmes. Our
own experience of using this techniques has been that.
45
- Software Engineering
Software Quality
46
- Software Engineering
Software Quality
The way to deal with complex system, it was contended was to break them down
into components that were of a size for the human mind to comprehend. For a
large system there would be a hierarchy of components and sub-components. For
this decomposition to work properly each components would have to be self
contained with only one entry and exit point. The Idea of structure programming
have been further developed into the ideas of clean room software development
by the peoples such as Harlan Mills f IBM with this type of development there are
three separate teams.
A specification team, which obtains the user requirements and also a usage profile
estimating the volume of use for each feature in the system
3/20/2012
47
- Software Engineering
Software Quality
A Development team, which develop the code but does no machine testing of the
program code produced
A certification team which carries out testing
48
- Software Engineering
Software Quality
Formal Methods
Must interest has been shown in Japanese software quality practices. The aim of
the Japanese approach is to examine and modify the activities in the development
process in order to reduce the number of error that they have in their end
products. Testing and Fagan Inspection can assist the removal or error but the
same types of error generally occur again and again in successive products created
by a specific type of process. By uncovering the source of errors, this repetition
can be eliminated.
3/20/2012
49
- Software Engineering
Software Quality
To do this needs the involvement of all the staff in identifying the causes of errors.
The staff are involved in the identification of source through the formation of
quality circles known as Software Quality circle (SWQC).
Identify a list of problems
Select one problems to solve
Clarify the problem
Identify and evaluate the causes
Identify and evaluate the solutions
Decide one solution
Develop and implementation plan
Present the plan to management
Implement the plan
Monitor the plan
Consider wider applicability of solution
Restart from B
3/20/2012
50
- Software Engineering
Software Quality
For quality circles to work there be full support for them at all levels of
management. First-line management can feel threatened by them as they might
appear to undermine their authority. After all problem solving is one of their main
tasks. The proponents of quality circle see them as a way of giving management
more time for planning and development. An manager will have to devote time to
fire-fighting dealing with ad hoc crises and then can detract from longer term
activities that will be able to improve the effectiveness of the organization.
3/20/2012
51
- Software Engineering
Software Quality
Approaches to process improvement such as the quality circles that have just
discuss, May be support by quantitative measurement techniques. One of these is
the GQM (Goal/Question/Metric) approach. This require that the goals to
achieved is firstly identified. A goal might be to evaluate whether a new
programming language allowed developers to be more productive. In order to
achieve this goal certain specific question now need to be identified as needing
answer. For example in order to evaluate the productivity of a new programming
language the following questions might need answering.
52
- Software Engineering
Software Quality
53
- Software Engineering
- Software Engineering
Thank you
3/20/2012
54
Department of Computer Science , National Textile University Faisalabad-37610, Pakistan
Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: [email protected]