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:
|
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:
|
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 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. |
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
- Attend a meeting that is part of the formal management of a software development project.
- Attend a training meeting organised by the department, to teach the use of software to end users.
- Observe how scientific analysis software is used a clinical environment.
- Observe a review process with regards to a piece of software.
- Attend a meeting where a new technology and its implication to healthcare is discussed.
- Attend a risk analysis meeting where a piece of software is discussed with respect to its role as a medical device.
- 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:
- Apply integrative knowledge of software that is used for modelling bioinformatics data.
- Summarise and present results from complex bespoke software for clinical scenarios in written form.
- 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 |