Skip to main content Skip to navigation

WM240-24 The Cyber Context of Software Engineering

Department
WMG
Level
Undergraduate Level 2
Module leader
Harjinder Lallie
Credit value
24
Module duration
30 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry

Introductory description

Software engineering is the discipline concerned with the application of theory, knowledge, and practice to effectively and efficiently build reliable 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 when developing software systems.

Module aims

Apply cyber security good practice to various phases of the software engineering lifecycle

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.

Outline content
The content of this module will be taught from a cyber security perspective.

  • 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

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
  • Critically reflect on the development of a software project
  • Demonstrate the understanding and application of relevant software development frameworks to a given software development scenario

Indicative reading list

Merkow, Mark S. and Raghavan, Lakshmikanth, “Secure and Resilient Software Development”, Auerbach Publications (2010)

Sommerville, Ian, "Software Engineering", 10 Ed, Pearson (2015)

Whittaker, James A., “Exploratory Software Testing”, Addison-Wesley (2009)

Subject specific skills

Apply cyber security good practice to various phases of the software engineering lifecycle.
Participate in a team, engaged in a project at some phase of the software engineering lifecycle.

Transferable skills

Teamwork, problem solving

Study time

Type Required
Supervised practical classes 18 sessions of 2 hours 30 minutes (19%)
Private study 75 hours (31%)
Assessment 120 hours (50%)
Total 240 hours

Private study description

Independent activity between workshops, following up on activities initiated in previous workshops or preparing for upcoming workshops.

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 A4
Weighting Study time Eligible for self-certification
Individual Report 50% 60 hours Yes (extension)

A written report based around a scenario which tests the student's ability to apply cyber security good practice to various phases of the software engineering lifecycle

Software development portfolio 50% 60 hours No

A portfolio of work completed as part of a software development project with a particular emphasis on personal contribution and engagement.

Assessment group R
Weighting Study time Eligible for self-certification
Coursework (Resit) 100% No
Feedback on assessment

Written feedback for each assignment
Verbal feedback during tutorial sessions
Summative feedback on assignments

Pre-requisites

Can program competently in at least one language and thus able to learn to program in another language.

Courses

This module is Core for:

  • Year 2 of UWMA-H651 Undergraduate Cyber Security