Software Measurement and Quality Assurance
Module code: CO7508
Module co-ordinator: Neil Walkinshaw
A major aim of software engineering is to ensure the quality of the final product of the software development process. Quality is not an extra that can be added at the end of the process.
In this module we will look in depth at issues of software quality assurance from an industrial perspective, exploring the techniques available and how these might be employed. We will focus on the idea of software process improvement, as seen in the SEI process Capability Maturity Model and SPICE (ISO/IEC 15504).
To achieve quality one must consider how each stage contributes to the quality of the final product. Quality assurance should be seen as an intrinsic part of the software life-cycle. One key mechanism of quality control is software testing. Another is inspections and reviews. However, these should be implemented as part of a wider Quality Assurance Plan.
The first step towards quality is to understand what it is and how to measure it. The overall quality of a product is a rather vague idea that cannot be measured directly. It can be seen as an amalgamation of different attributes – correctness, reliability, maintainability, ease of use etc. – which can be measured by developing the right software metrics, so the use of metrics is an important tool in quality assurance. Also, quality cannot be considered without reference to the associated cost. Metrics can also be used to gauge the size and complexity of software and hence are employed in project cost estimation.
This module is studied by distance learning. Your workload will include:
- 30 hours of lectures (slides and recordings of campus based lectures)
- 5 hours of guided practical work (detailed instruction sheets)
- 10 hours of surgery material (detailed instruction sheets)
- Coursework (40%)
- Exam, 3 hours (60%)