- Compare and contrast different software engineering processes, and how they address the relationships between the different phases in the software lifecycle
Apply the concepts and principles of software engineering to develop software in a team, using supporting tools and metrics as appropriate
Software engineering is the application of theory, knowledge, and practice to effectively and efficiently build reliable software systems that satisfy the requirements of customers and users.
Applicable to small, medium, and large-scale systems, it encompasses all phases of the lifecycle of a software system, including requirements elicitation, analysis and specification; design; construction; verification and validation; deployment; and operation and maintenance.
Whether small or large, following a traditional plan-driven development process, ar an agile approach, software engineering is concerned with the best way to build good software systems.
In this module you'll look at software engineering in the context of cyber security, applying frameworks such as the 'Trustworthy Software Framework' when developing software systems.
Module content will cover:
- software processes
- software project management
- tools and environments to support and manage:
- requirements engineering
- software design
- software construction
- software verification and validation
- software evolution in the context of large, pre-existing code bases
- software reliability
- secure software development
Delivery and assessment
10 half-day sessions will be regularly spaced across Year 2. Within each half day session, there will be a mix of lecture, tutorial and practical activity.
Assessment is 100% coursework for this module.
A level: AAB (STEM subjects preferred)
IB: 36 points (STEM subjects preferred), with a minimum of 4 in English
Degree of Bachelor of Science (BSc)
3 years full time (30 weeks per academic year)
Find out more about fees and funding
How to apply Undergraduate admissions