University of Oxford Logo University of OxfordSoftware Engineering - Home

Process Quality and Improvement

Every software development organisation needs to be focused on the delivery of quality. The software engineering discipline responds by calling for a managed process for the construction and testing of software, and for the improvement of that process. This course explains the necessary concepts within the frameworks provided by three important international standards.

Course dates

20th May 2013Oxford University Department of Computer Science17 places remaining.

Objectives

At the end of the course, students will be able to

  • define and criticise the concepts of process and quality in the context of software development;
  • evaluate development activities against an accepted, standardised lifecycle model;
  • recognise or define frameworks by which the delivery of quality can be made the focus of an organisation or project;
  • determine the nature of compliance with, or location within, standards and models such as the Capability Maturity Model.

Contents

Quality
the notion of quality as applied to software; quality attributes; specifications; standards.
The software process: its general and specific forms
lifecycle processes and their activities; quality through the lifecycle; ISO/IEC 12207.
Quality Management Systems
their content and use in a software development environment; ISO 9000 and TickIT.
Quality achievement
formal, rigorous and informal methods of specification, design and code production.
Quality control (verification and validation)
formal models and refinement; static checking; animation and prototyping; dynamic testing; peer review; independent V and V.
Quality preservation
change management; configuration management.
Metrics
process and product metrics; their definition and use; Goal-Question-Metric; commonly used metrics.
Process improvement
defining processes; assessing processes; improving processes; ISO/IEC 15504 and the CMM.

Requirements

Experience of working in a software development environment is desirable. It would be beneficial (but not necessary) to have some experience of software project management.