More Related Content
Similar to Lesson 01.ppt (20)
Lesson 01.ppt
- 1. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 1
Chapter 01
Quality Management
- 2. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 2
Objectives
To introduce the quality management process
and key quality management activities
To explain the role of standards in quality
management
To explain the concept of a software metric,
predictor metrics and control metrics
To explain how measurement may be used in
assessing software quality
- 3. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 3
Quality Management
Managing the quality of the
software process and products
That is, systems
• Should meet the needs of their users,
• Should perform efficiently and reliably,
• Should be delivered on time and within
budget
- 4. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 4
Topics covered
Quality assurance and standards
Quality planning
Quality control
Software measurement and metrics
- 5. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 5
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
Should aim to develop a ‘quality culture’ where
quality is seen as everyone’s responsibility
- 6. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 6
What is quality?
Quality, simplistically, means that a product
should meet its specification
This is problematical for software systems
• Some quality requirements are difficult to specify in an
unambiguous way. (maintainability, user friendliness, etc.)
• It is difficult to write complete and unambiguous software
requirements. Software developers and customers may
interpret the requirements in different ways, and it may be
impossible to reach agreement on whether or not software
conforms to its specification.
- 7. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 7
The quality compromise
We cannot wait for specifications to improve before paying attention
to quality management
Must put procedures into place to improve quality despite imperfect
specification
It is not possible for any system to be optimized for all these
attributes. For example, improving security may lead to loss of
performance. The quality plan should therefore define the most
important quality attributes for the software that is being developed. It
may be that efficiency is critical and other factors have to be
sacrificed to achieve it.
If you have emphasized the importance of efficiency in the quality
plan, the engineers working on the development can work together
to achieve this.
- 8. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 8
Quality management activities
Quality assurance
• Establish organisational procedures and standards for quality
Quality control
• Ensure that procedures and standards are followed by the
software development team
• Weed out products that are not of the required level of quality
Both quality assurance and quality control are
part of quality management.
- 9. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 9
Quality management and software development
- 10. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 10
Because project managers have to maintain the project
budget and schedule, they may be tempted to
compromise on product quality to meet that schedule.
An independent QM team ensures that the organizational
goals of quality are not influenced by short-term budget
and schedule considerations.
In smaller companies, however, this is practically
impossible. Quality management and software
development are inevitably intertwined with people
having both development and quality responsibilities
- 11. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 11
Software standards
Product standards - These apply to the software
product being developed.
• the structure of requirements documents,
• coding standards, etc.
Process standards - These define the processes
that should be followed during software
development.
• design, and validation processes,
• process support tools, etc.
- 12. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 12
ISO 9000
International set of standards for quality
management in all industries
Applicable to a range of organisations from
manufacturing to service industries
ISO 9001 applicable to organisations which
design, develop and maintain products including
software
- 13. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 13
A major revision of the ISO 9001 standard in
2000 reoriented the standard around nine core
processes
- 14. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 14
ISO 9000 certification
Some software customers demand that their suppliers be
ISO 9001 certified.
The customers can then be confident that the software
development company has an approved quality
management system in place. Independent accreditation
authorities examine the quality management processes
and process documentation and decide if these
processes cover all the areas specified in ISO 9001.
If so, they certify that a company’s quality processes, as
defined in the quality manual, conform to the ISO 9001
standard.
- 15. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 15
ISO 9000 and quality management
- 16. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 16
Quality plan structure
Product introduction
Product plans
Process descriptions
Quality goals
Risks and risk management
Quality plans should be short, succinct
documents
• If they are too long, no-one will read them
- 17. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 17
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 understand the standards
applied
Importance of standards
- 18. ©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 18
Problems with standards
Not seen as relevant and up-to-date by software
engineers
Involve too much bureaucratic form filling
Unsupported by software tools so tedious manual work is
involved to maintain standards
There is no guarantee that ISO 9001 certified companies
use the best software development practices or that their
processes lead to high-quality software
Takes no account of quality as experienced by users of
the software