This module provides both understanding of, and practice in, the principles and techniques of software Engineering. It addresses such issues as: understanding and selecting software processes; planning and monitoring software projects; analysing and designing software using current techniques (including UML); and software testing.