Module information

Module details

Title
Software Engineering 2
Type
Specialist
Module code
S-CSC-S3
Credits
15
Phase
3
Requirement
Compulsory

Aim of this module

As part of this module trainees will take part in a software development project from start to finish including liaising with end users to develop a functional specification for the project. Trainees will gain experience implementing key aspects of the code, carrying out verification and validation of the delivered software and training the end users in its use. The trainees will further develop their programming skills by using a variety of different programming languages and more advanced programming techniques.

Work-based content

Training activities

# Learning outcome Training activity Type Action
# 1 Learning outcome 1,13 Training activities

Interview users and translate user requirements into a functional specification

Type ETA Action View
# 2 Learning outcome 2,12 Training activities

Write a project plan and manage a project accordingly

Type DTA Action View
# 3 Learning outcome 3,4,5,6,7 Training activities

Implement key aspects of code in a software development project in at least one of the following areas:

  • Databases
  • Modeling
  • Image processing
Type ETA Action View
# 4 Learning outcome 4,5,7 Training activities

Write a piece of software using advanced programming techniques to implement code including:

  • Object orientated programming
  • Exception handling
  • Container classes
Type DTA Action View
# 5 Learning outcome 4,5 Training activities

Design an appropriate interface to software you have developed, including a means of defect management

Type DTA Action View
# 6 Learning outcome 4,5,6 Training activities

Develop an application that uses a web browser as the user interface

Type DTA Action View
# 7 Learning outcome 4,5,6 Training activities

Develop software in different programming languages using compiled, interpreted and markup languages

Type DTA Action View
# 8 Learning outcome 4,5,7 Training activities

Implement and document a formal testing protocol for a piece of software

Type DTA Action View
# 9 Learning outcome 10,13 Training activities

Validate and verify the software at the end of the project

Type DTA Action View
# 10 Learning outcome 2,10,12,13 Training activities

Complete the formal documentation and handover at the end of the project

Type DTA Action View
# 11 Learning outcome 4,5,7,8 Training activities

Deploy and validate an application using an appropriate technology

Type DTA Action View
# 12 Learning outcome 9,10,12 Training activities

Take a lead role in the review of software as part of an annual review process and/or quality management system

Type DTA Action View
# 13 Learning outcome 4,5,9,10,12 Training activities

Review and bring legacy code into conformance with best practice

Type DTA Action View
# 14 Learning outcome 11,13 Training activities

Investigate and evaluate the state of the art in a software application area and feedback the findings

Type DTA Action View
# 15 Learning outcome 11,13 Training activities

Investigate a new technology or framework in the field of scientific computing and demonstrate a use case

Type DTA Action View

Assessments

Complete 3 Case-Based Discussions

Complete 3 DOPS or OCEs

Direct Observation of Practical Skills Titles

  • Merge software development streams in a version control system.
  • Deploy software you have developed.
  • Profile code and identify suitable areas for optimisation.
  • Test software for correct functioning.

Observed Clinical Event Titles

  • Lead a requirements gathering exercise.
  • Deliver a training session to an end user for a piece of software you have developed.
  • Explain to a healthcare professional how software you have developed works.
  • Discuss the implications of a developing technology in your field on your department and healthcare.

Learning outcomes

# Learning outcome
1

Discuss and develop a specification of requirements for a project with an end user.

2

Plan and manage a software development project.

3

Write code required for a software engineering project.

4

Use good software design and programming practice.

5

Use programming languages.

6

Develop applications using a web browser as the user interface.

7

Develop a protocol for testing a piece of software.

8

Deploy applications, including the use of containerisation.

9

Review and appraise code developed by others.

10

Verify, validate and document software, and provide training to end users.

11

Critically appraise advances in technology and practice applied to clinical computing.

12

Practice in accordance with legislation, ethics and best practice.

13

Demonstrate effective communication skills with the multidisciplinary team.

Clinical experiences

Clinical experiences help you to develop insight into your practice and a greater understanding of your specialty's impact on patient care. Clinical experiences should be included in your training plan and you may be asked to help organise your experiences. Reflections and observations from your experiences may help you to advance your practice and can be used to develop evidence to demonstrate your awareness and appreciation of your specialty.

Activities

  1. Attend a meeting that is part of the formal management of a software development project.
  2. Attend a training meeting organised by the department, to teach the use of software to end users.
  3. Observe how scientific analysis software is used a clinical environment.
  4. Observe a review process with regards to a piece of software.
  5. Attend a meeting where a new technology and its implication to healthcare is discussed.
  6. Attend a risk analysis meeting where a piece of software is discussed with respect to its role as a medical device.
  7. Observe the deployment of a software package (or an upgrade) on a clinical system.

Academic content (MSc in Clinical Science)

Important information

The academic parts of this module will be detailed and communicated to you by your university. Please contact them if you have questions regarding this module and its assessments. The module titles in your MSc may not be exactly identical to the work-based modules shown in the e-portfolio. Your modules will be aligned, however, to ensure that your academic and work-based learning are complimentary.

Learning outcomes

On successful completion of this module the trainee will be able to:

  1. Apply integrative knowledge of software that is used for modelling bioinformatics data.
  2. Summarise and present results from complex bespoke software for clinical scenarios in written form.
  3. Critically evaluate the use of software packages to solve a clinical problem.

Indicative content

  • Software techniques.
  • Neural networks and their applications.
  • Artificial intelligence and expert systems.
  • Image processing software.
  • Genetic algorithms.
  • Modelling biological systems.
  • Analysis of DNA, protein, biological diversity and molecular interaction data.
  • Use of bioinformatics and systems biology databases.
  • Data sources and data synthesis and Monte-Carlo modelling.

Module assigned to

Specialties

Specialty code Specialty title Action
Specialty code SBI1-2-22 Specialty title Clinical Scientific Computing [2022] Action View
Specialty code SBI1-2-23 Specialty title Clinical Scientific Computing [2023] Action View
Specialty code SBI1-2-24 Specialty title Clinical Scientific Computing [2024] Action View