Information:

Module information

Details

Title
Software Engineering 2
Type
Specialist
Module code
S-CSC-S3-2
Credits
15
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

Competencies

# Learning outcome Competency Action
# 1 Learning outcome 1,13 Competency

Interview users and translate user requirements into a functional specification

Action View
# 2 Learning outcome 2,12 Competency

Write a project plan and manage a project accordingly

Action View
# 3 Learning outcome 3,4,5,6,7 Competency

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

  • Databases
  • Modeling
  • Image processing
Action View
# 4 Learning outcome 4,5,7 Competency

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

  • Object orientated programming
  • Exception handling
  • Container classes
Action View
# 5 Learning outcome 4,5 Competency

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

Action View
# 6 Learning outcome 4,5,6 Competency

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

Action View
# 7 Learning outcome 4,5,6 Competency

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

Action View
# 8 Learning outcome 4,5,7 Competency

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

Action View
# 9 Learning outcome 10,13 Competency

Validate and verify the software at the end of the project

Action View
# 10 Learning outcome 2,10,12,13 Competency

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

Action View
# 11 Learning outcome 4,5,7,8 Competency

Deploy and validate an application using an appropriate technology

Action View
# 12 Learning outcome 9,10,12 Competency

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

Action View
# 13 Learning outcome 4,5,9,10,12 Competency

Review and bring legacy code into conformance with best practice

Action View
# 14 Learning outcome 11,13 Competency

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

Action View
# 15 Learning outcome 11,13 Competency

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

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 Communication 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.

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.

Clinical experiences

Important information

Clinical experiential learning is the range of activities trainees may undertake in order to gain the experience and evidence to demonstrate their achievement of module competencies and assessments. The list is not definitive or mandatory, but training officers should ensure, as best training practice, that trainees gain as many of these clinical experiences as possible. They should be included in training plans, and once undertaken they should support the completion of module assessments and competencies within the e-portfolio.

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.

Module assigned to

Specialties

Specialty code Specialty title View
Specialty code SBI1-2-26 Specialty title Clinical Scientific Computing [2026] Action View
Specialty code SBI1-2-27 Specialty title Clinical Scientific Computing [2027] Action View