• 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.
• Security and privacy in software engineering
• Software engineering tools: configuration control, project management, integrated
development environments and modelling tools.
Private Study: 107
Contact Hours: 43
Total: 150
Spring
Main assessment methods:
Case Studies, 1000 words (15%)
Group Project, undertaken and assessed on group basis, 40 hours (35%)
Examination, 2 hours (50%)
The University is committed to ensuring that core reading materials are in accessible electronic format in line with the Kent Inclusive Practices.
The most up to date reading list for each module can be found on the university's reading list pages.
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)
On successfully completing the module students will be able to demonstrate:
1. Demonstrate 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. Demonstrate a comprehensive understanding of techniques for modelling software systems and their domains.
3. Demonstrate 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. Demonstrate the conceptual understanding of planning, documentation, estimation, quality, time, cost and risk evaluation in the business context.
5. Demonstrate self-direction in the design of software systems, including design simplicity, appropriateness and styles of system thinking and focused problem solving.
6. Demonstrate critical awareness of the deployment of certain types of software system and show an understanding of the professional duties of software, their societal responsibilities as well as critical understanding of fundamental limitations of different kinds of software systems.
7. Demonstrate the ability to use state-of-the-art tools and techniques when developing software systems.
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.