CS335

SOFTWARE ENGINEERING & SOFTWARE PROCESS

Credits
5
Year
2
Semester
2
Department
COMPUTER SCIENCE

Overview

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.

Learning Outcomes

  • Explain the concept of a software life cycle and provide an example, illustrating its phases including the deliverables that are produced
  • Select and justify the software development models and process elements most appropriate for the development and maintenance of a diverse range of software products
  • Compare the traditional waterfall model to the incremental model, the unified model, and other appropriate models
  • Distinguish between the different types and levels of testing (unit, integration, systems, and acceptance) for medium-size software products and related materials
  • Analyse and design software using current techniques, for e.g. UML
  • Evaluate the outcomes and the process of a software development project