Practical Software Engineering
This module provides a general understanding of Software Engineering; the typical phases of the software lifecycle with particular reference to practical specification, design and testing techniques. It serves to prepare students for the various software development projects undertaken throughout their studies and introduces them to important concepts that can be studied in more detail later in the programme.
Understand the different approaches to managing the software development process. Produce practical specifications from informal briefs. Understand how to test, debug and change programs. Understand how to represent formal program requirements. Understand how to create and deploy an effective plan for testing software systems. How to apply software engineering methodologies in practical scenarios. How to evaluate, select and deploy appropriate tools and techniques. Deploy a software development methodology, and to test and debug software, independent of programming language.
- Introduction and overview
- Software processes
- Agile software development
- Requirements engineering
- System modelling
- Architectural design
- Design and implementation
- Software builds
- Software testing
- Software evolution
- Software and Programming I
- Introduction to Computer Systems
All dates and timetables are listed in the programme handbooks of individual programmes.
A team project, each team consisting of up to four members. Selected from a set of topics on Software Engineering. Presentation to module cohort and written submission.
Coursework (20%). Examination (80%).