School of Computer Science

Module 26425 (2018)

Module description - Software Engineering 1

The Module Description is a strict subset of the Syllabus Page.

Module Title Software Engineering 1
School School of Computer Science
Module Code 06-26425
Level 2/I
Member of Staff Morteza Azad
Semester Semester 1 - 10 credits

Lectures and Exercise Classes

Contact Hours: 23


Modern society could not function without large, professional software systems. National infrastructures such as energy grids and flight control are run by computer-based systems. Industrial manufacturing and distribution is almost completely automated, as is the financial system. The term Software Engineering was proposed in 1969 at a NATO conference to discuss software development problems in the era of the so-called software crisis. Large software systems were late, did not deliver the functionality needed by their users, cost more than expected, and were increasingly becoming unreliable, endangering businesses and human lives. It became increasingly clear that skilled programmers were insufficient to guarantee software quality. It was proposed that the adoption of an engineering approach to software development would reduce the costs of software development and lead to more reliable software. This course covers topics of professional software engineering and software engineering management. In particular, the course provides an overview of requirements engineering, requirements elicitation and analysis, requirements definition and specification, requirements validation, requirements management, and a brief overview of specification techniques. It then proceeds to the management of the software development process, including: feasibility studies, choosing the right development process, human factors in project management, basic project management techniques (e.g. planning, estimating, monitoring progress), and advanced project management techniques (e.g. risk management, configuration management, quality management, process improvement).


On successful completion of this module, the student should be able to:

  1. explain the importance of successful requirements definition in commercial software development, identifying the difficulties involved
  2. explain and apply appropriate techniques which help to define clear and unambiguous requirements
  3. explain the basic principles of project management, including the role of the project manager
  4. apply standard techniques in project management
  5. analyse the organizational issues surrounding the development and implementation of systems solutions
  6. identify appropriate interpersonal skills to manage and perform the systems development process more effectively

Sessional: 1.5 hr examination (80%), continuous assessment (20%).

Supplementary (where allowed): By 1.5 hr examination only (100%).