Skip to main content Skip to navigation

WM286-15 Secure Software development

Department
WMG
Level
Undergraduate Level 2
Module leader
Bharath Sadasivaiah
Credit value
15
Module duration
30 weeks
Assessment
100% coursework
Study location
University of Warwick main campus, Coventry

Introductory description

Software engineering is concerned with the application of theory, knowledge, and practice to effectively and efficiently build reliable and secure software systems that satisfy the requirements of customers and users. This discipline is 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, an agile approach, or some other method, software engineering is concerned with the best way to build good software systems. This module will look at software engineering in the context of cyber security, applying frameworks such as Trustworthy Software Framework, Secure Software Development Life Cycle, etc. when developing software systems.

There is a specific focus on the security of software.

Module aims

This module aims to equip students with the knowledge and practical experience of secure software design and development principles.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

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
Software weaknesses
Case studies in software security and weaknesses
Secure software development

Learning outcomes

By the end of the module, students should be able to:

  • Apply cyber security good practice to various phases of the software engineering lifecycle
  • Demonstrate the understanding and application of relevant software development frameworks to a given software development scenario
  • Analyze and juxtapose different methodologies for enhancing software and/or system security
  • Demonstrate an applied understanding of strategies, methodologies, and practices aimed at ensuring the security of software

Indicative reading list

Sommerville, Ian, "Software Engineering", 10 Ed, Pearson (2021)
Farley, David, "Modern Software Engineering: Doing What Works to Build Better Software Faster ", Addison Wesley, 2021
Winters et al, "Software Engineering at Google: Lessons Learned from Programming Over Time", O'Reilly, 2020

Subject specific skills

Advanced applied understanding of Secure software design, Secure software development
Software security testing and validation

Transferable skills

Problem Solving
Analytical Reasoning
Teamwork
Communication

Study time

Type Required
Lectures 18 sessions of 1 hour (12%)
Supervised practical classes 18 sessions of 1 hour (12%)
Private study 54 hours (36%)
Assessment 60 hours (40%)
Total 150 hours

Private study description

Additional lab work and research

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Assessment group A
Weighting Study time Eligible for self-certification
Assessment component
Software design report 50% 30 hours Yes (extension)

Report on the design of a software product meeting a set of pre-defined requirements.

Reassessment component is the same
Assessment component
Software development and evaluation report 50% 30 hours Yes (extension)

Develop software in response to client requirements. Software will be tested for & proven to be secure.

Reassessment component is the same
Feedback on assessment

In a feedback form

Courses

This module is Core for:

  • UWMA-H651 Undergraduate Cyber Security
    • Year 2 of H651 Cyber Security
    • Year 2 of H651 Cyber Security
    • Year 2 of H651 Cyber Security