Software Engineering - COMP8860

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2022 to 2023
Spring Term 7 15 (7.5) Rogerio de Lemos checkmark-circle


• Software processes.
• Modelling techniques, and the use of these techniques throughout the project lifecycle.
• Introduction to modelling principles (decomposition, abstraction, generalization, projection/views) and types of models (information, behavioural, structural, domain and functional).
• Risk and risk management in software.
• Approaches to software testing and inspection.
• Approaches to software configuration management.
• Software engineering tools: configuration control, project management, integrated development environments and modelling tools


Contact hours

Year in Computing:
Private Study: 117
Contact Hours: 33
Total: 150
All other MSc courses:
Private Study: 107
Contact Hours: 43
Total: 150



Method of assessment

Year in Computing:
Case Studies, 1000 words (30%)
Examination, 2 hours (70%)

All other MSc courses:
Case Studies, 1000 words (15%)
Group Project, undertaken and assessed on group basis, 40 hours (35%)
Examination, 2 hours (50%)

Indicative reading

Cohn, M. (2002). User Stories Applied. Addison-Wesley.
Fowler, M (2003). UML Distilled: A Brief Guide to Standard Object Modeling Language. Addison-Wesley.
Sommerville, I. (2015). Software Engineering 10th ed. Addison-Wesley.
Craig, RD. and Jaskie, SP. (2002). Systematic Software Testing. Artech House.
Pezze, M, Young, M. (2007). Software Testing and Analysis: Process, Principles and Techniques. John Wiley & Sons.
McConnell, S. (2004). Code Complete: A Practical Handbook of Software Construction. Microsoft Press.
Hall, EM. (1998). Managing Risk: Methods for Software Systems Development. Addison-Wesley.
Martin, R. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
Brooks, F.P. (1995). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional.
Ensmenger, N. L. (2010). The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise. The MIT Press.
Slayton, R. (2013). Arguments that Count: Physics, Computing, and Missile Defense, 1949-2012. The MIT Press

See the library reading list for this module (Canterbury)

Learning outcomes

The intended subject specific learning outcomes.
On successfully completing the module students will be able to demonstrate:
1 A critical understanding of the principles and practice of the development of software systems (broadly defined) including requirements specification, design, validation, implementation and evolution.
2 A comprehensive understanding of techniques for modelling software systems and their domains.
3 The ability to design and implement test plans, and apply a wide variety of testing techniques effectively and efficiently, and being able to evaluate their efficacy in identifying a wide range of faults.
4 The conceptual understanding of planning, documentation, estimation, quality, time, cost and risk evaluation in the business context.
5 Self-direction in the design of software systems, including design simplicity, appropriateness and styles of system thinking and focused problem solving.
6 Critical awareness of the deployment of certain types of software system and show an understanding of the professional and legal duties software engineers owe to their employers, employees, customers and the wider public.
7 Ability to use state-of-the-art tools and techniques when developing software systems.

The intended generic learning outcomes.
On successfully completing the module students will be able to:
1 The ability to work effectively as a member of a team.
2 Effective use of IT facilities.
3 Time management and organisational skills, including the ability to manage one's own learning and development.
4 An understanding of the importance of keeping quality procedures under review, to ensure that they fulfil quality objectives cost-effectively, and in a manner understood by the project team.
5 Be able to analyse a problem specification and to design and implement a solution
6 Appreciation of the social, ethical and professional issues related to software development.
7 Appreciation of the importance of continued professional development as part of lifelong learning.


  1. Credit level 7. Undergraduate or postgraduate masters level module.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.