Engineering Scalable and Reliable Software Project (975G5)

15 credits, Level 7 (Masters)

Spring teaching

This module studies modern approaches to large-scale software production. After a review of the key concepts in the whole life-cycle of a software product (requirement analysis, software architecture and design, implementation, quality assurance and maintenance activities), the course investigates modern software engineering technology and processes, including:

  • agile project management techniques,
  • version control,
  • build automation,
  • use of design patterns and refactoring of code to improve designs as part of an improvement process,
  • testing including unit testing, system testing and continuous integration,
  • design for reliability and scalability, including the use of cloud computing,
  • design of systems to support mobile devices, in particular the adaptation to a range of devices,
  • evolution of software products, including measurement of customer response and technical improvements, A/B testing and managing upgrades.

Teaching and assessment

We’re currently reviewing teaching and assessment of our modules in light of the COVID-19 situation. We’ll publish the latest information as soon as possible.

Contact hours and workload

This module is approximately 150 hours of work. This breaks down into about 10 hours of contact time and about 140 hours of independent study. The University may make minor variations to the contact hours for operational reasons, including timetabling requirements.

This module is running in the academic year 2020/21. We also plan to offer it in future academic years. It may become unavailable due to staff availability, student demand or updates to our curriculum. We’ll make sure to let our applicants know of such changes to modules at the earliest opportunity.

Courses

This module is offered on the following courses: