Module Descriptors
SOFTWARE ENGINEERING PRINCIPLES AND PRACTICES
COCS71208
Key Facts
Digital, Technology, Innovation and Business
Level 7
20 credits
Contact
Leader: Philip James
Hours of Study
Scheduled Learning and Teaching Activities: 27
Independent Study Hours: 173
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, PG Semester 1 to PG Semester 2
Sites
  • Stoke Campus
Assessment
  • WRITTEN REPORT - 2500 WORDS weighted at 60%
  • EXAMINATION - 2 HOURS weighted at 40%
Module Details
Indicative Content
This module will cover topics of:

AWS Core Services

Agile Software Development

Agile Methods

SDLC Automation

Continuous Integration

Continuous Delivery

Microservices

Monitoring and Logging

Communication and Collaboration

Configuration Management and Infrastructure as Code

Policies and Standards Automation

Incident and Event Response

Availability, Fault Tolerance and Disaster Recovery

This module will support the development and assessment of the following Knowledge, Skills, and Behaviours from the DTSS Apprenticeship Standard:

Software Engineer

Knowledge

SEK1 The rationale for software platform and solution development, including the organisational context;

SEK2 The various inputs, statements of requirements, security considerations and constraints that guide solution architecture and the development of logical and physical systems' designs;

SEK3 The methodologies designed to help create approaches for organizing the software engineering process, the activities that need to be undertaken at different stages in the life-cycle and techniques for managing risks in delivering software solutions;

SEK4 The approaches used to modularise the internal structure of an application and describe the structure and behaviour of applications used in a business, with a focus on how they interact with each other and with business users;

SEK5 How to design, develop and deploy software solutions that are secure and effective in delivering the requirements of stakeholders and the factors that affect the design of a successful code;

Skills

SES1 Architect, build and support leading edge concurrent software platforms that are performant to industry standards and deliver responsive solutions with good test coverage;

SES2 Drive the technology decision-making and development process for projects of varying scales, considering current technologies including DevOps and Cloud Computing, and evaluate different technology design and implementation options making reasoned proposals and recommendations;

SES3 Develop and deliver, distributed or semi-complex software solutions that are scalable and which deliver innovative user experiences and journeys that encompass cross-functional teams, platforms and technologies;

SES4 Update current software products, improving the efficiency and functionality, and build new features to product specifications;

SES5 Accomplish planned software development tasks that deliver the expected features, within specified time constraints, security and quality requirements;
Assessment Details
Written Report – A written report in the format of a white paper on the benefit of DevOps over other development cultures. Students will be required to develop a white paper following industry practice containing relevant practical examples of DevOps and Agile implementation contrasted to other methods and build/release cultures (Learning Outcomes 2 and 3).

Examination – The examination component will test student knowledge on practical scenarios based on approaches to implementing DevOPS, with a deep focus on vendor capabilities (Learning Outcomes 1 and 4).

Assessing the following KSBs from the DTSS apprenticeship standard

Software Engineer

Knowledge

SEK1 The rationale for software platform and solution development, including the organisational context;

SEK3 The methodologies designed to help create approaches for organizing the software engineering process, the activities that need to be undertaken at different stages in the life-cycle and techniques for managing risks in delivering software solutions;

SEK4 The approaches used to modularise the internal structure of an application and describe the structure and behaviour of applications used in a business, with a focus on how they interact with each other and with business users;

Skills

SES1 Architect, build and support leading edge concurrent software platforms that are performant to industry standards and deliver responsive solutions with good test coverage;

SES2 Drive the technology decision-making and development process for projects of varying scales, considering current technologies including DevOps and Cloud Computing, and evaluate different technology design and implementation options making reasoned proposals and recommendations;

SES3 Develop and deliver, distributed or semi-complex software solutions that are scalable and which deliver innovative user experiences and journeys that encompass cross-functional teams, platforms and technologies;
Learning Outcomes
Demonstrate a systematic understanding of the Agile and DevOps approach to building and deploying software systems

Understand and critically evaluate Agile and DevOps as a software development and deployment process

Design and implement scalable, self-healing systems using a DevOp platform

Understand and critically evaluate different vendor approaches to DevOps and Agile principles.

Learning Strategies
All teaching sessions will blend theory and practical learning. You will be introduced to curriculum concepts and ideas and will then be able to apply theory to practical examples.

You will be provided with a range of resources for independent study such as case studies, academic papers and industry stories. There will be a mixture of practical and theoretical formative (mock or practice) exercises which will help build your knowledge and confidence in preparation for summative (formal) assessment.

The module will be delivered through a Blended learning Approach, with a Module Launch, Guided Learning, Independent Learning and Individual Reviews:

Module Launch – 9 hours

There will be a module launch with 9 hours face to face contact which will provide details of the modules purpose, content and approach.

Guided Learning – 16 hours

There are a number of approached that may be used:

Weekly delivery - whilst there will be materials online there will be a series of webinars which will be content driven, these will either be 1 hour weekly or 2 hours on alternate weeks

Block delivery – a series of extended face to face sessions eg 4 x 4 hours

Independent Learning – 173 hours

You will be required to complete activities in support of developing your learning and your assessment solutions, as an apprentice some of these hours are drawn from the experience and the development of knowledge and skills in the workplace.

Individual Reviews – 2 hours

You will have 2 hours of tutorials sessions with your module tutor during the course of the module. In the main these will be individual but may be small group sessions during which your module tutor will be able to answer any queries that you have regarding module work.
Resources
Amazon Web Services (AWS) Academy Environment

AWS Learner Labs

Blackboard

VMWare Environment

Various Monitoring tools, which can be downloaded and trialled

A number freely available or university provisioned tools that will be presented.
Texts
All texts and electronic resources will be updated and refreshed on an annual basis and available for students via the online Study Links resource platform. All reference materials will be collated and curated and aligned to Equality, Diversity & Inclusion indicators.

Kapoor, A., (2023). AWS DevOps Simplified: Build solid AWS foundations for delivering enterprise grade software solutions at scale. Packt Publishing

Perrott, S. and McLaughlin, B., (2020). AWS Certified SysOps Administrator Study Guide, Sybex

Girvan, L. and Girvan, S., (2022). Agile From First Principles. BCS, The Chartered Institute for IT

Kim, G., Humble, J., Debois, P., Willis, J. and Forsgren, N., (2022). The Devops Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations

A range of electronic resources produced by AWS
Web Descriptors
Focussing on designing, developing, releasing and maintaining software applications using the DevOPS culture, you will get hands-on practical experience of working with leading environments (such as AWS DevOps tools) with a goal of preparing you for industry certification should you wish to take your skills to that level.