- Academic Registry
Programme & Unit Catalogues


CM50286: Advanced software engineering

[Page last updated: 27 October 2020]

Follow this link for further information on academic years Academic Year: 2020/1
Further information on owning departmentsOwning Department/School: Department of Computer Science
Further information on credits Credits: 6      [equivalent to 12 CATS credits]
Further information on notional study hours Notional Study Hours: 120
Further information on unit levels Level: Masters UG & PG (FHEQ level 7)
Further information on teaching periods Period:
Semester 1
Further information on unit assessment Assessment Summary: CW 100%
Further information on unit assessment Assessment Detail:
  • Coursework (CW 100%)
Further information on supplementary assessment Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Further information on requisites Requisites: This unit is only available to apprentices on the Level 7 Digital and Technology Solution Specialist Apprenticeship
Before taking this module you must take CM50274
Description: Aims:
To develop an understanding of the problems of distribution and scale
To develop an understanding of examples of large scale software failure in business
To develop an understanding of modern software developer teams
To develop an understanding of modern software processes
To develop an understanding of modern software archetypes and patterns

Learning Outcomes:
On completion of this unit, students will be able to:
* demonstrate an understanding of the problems of distribution and scale when developing complex systems;
* critically evaluate examples of large scale software failure in business and identify potential solutions to these failures;
* demonstrate an understanding of, and critically evaluate, common practices in modern software developer teams;
* demonstrate an understanding of, and critically evaluate, modern software engineering processes;
* demonstrate an understanding of, and critically evaluate, modern software archetypes and patterns.

Skills:
Use of IT (T/F,A), Problem Solving (T/F,A), Communication (T/F,A), Critical thinking (T/F,A).

Content:
Introduction to Problems of Distribution & Scale - Teams, Processes and Systems
Examples of large scale business failure - intrinsic difficulties with software
Modern developer teams - T-shaped skills - some common practice and culture e.g. Pair programming, Mob, Virtual group and Collaborative
Modern software engineering process e.g. Introduction to Architectures, Model driven development i.e. automation of different steps in software process and Dev. Ops.
Advanced software archetypes and patterns i.e. patterns beyond gang of 4 and/or meta patterns e.g. GRASP, SOLID, SOAP/REST/Unwrapped Web Apps, Web apps, Anti Patterns and Service Discovery.
Further information on programme availabilityProgramme availability:

CM50286 is Optional on the following programmes:

Department of Computer Science

Notes:

  • This unit catalogue is applicable for the 2020/21 academic year only. Students continuing their studies into 2021/22 and beyond should not assume that this unit will be available in future years in the format displayed here for 2020/21.
  • Programmes and units are subject to change in accordance with normal University procedures.
  • Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.
  • Find out more about these and other important University terms and conditions here.