Skip to content

title: [SE in Practice] MVM Mechanical Ventilator author: tinsir888 date: 2025/11/14 katex: true tags: - 笔记 - 算法 - 软件工程 categories: - InformaticaGSSI


Context

COVID 19 Pandemic

People required for medical machine: a mechanical ventilator.

International collaboration

Software Certification

Mandatory to guarantee system reliability

Reengineering process: due to malfunctions/errors in the implementation

Continuous Integration

MVM Introduction

Electro-mechanical ventilator

Support for patients that are in ICU (Intensive Care Unit)

Require source of compressed oxygen and medical air

Features

Reliable. Easy to operate. Fail-safe. Produced quickly. Produced with readily-available parts.

Software Critical Systems

  • Risk management
  • Quality management
  • Software Engineering

International standards: IEC 62304

  • Completeness: Requirements under control, everything tested.
  • Traceability: Documents linked, understandable for external.
  • Consistency
  • Documentation: well planned and archived

Hazard Analysis

Classify the risk into 3 levels.

Depicted by a flow chart.

Development Process

Combine V-model with Agile

Software Requirements

Input

Initially:

  • User manual
  • Implemented code (GUI, controller...)
  • Related paper
  • Documents on mechanical ventilation

Iteratively:

  • System Requirements ST
  • Software Requirements Specification SRS
  • Software Architectural Design SAD
  • Security Assessment and Hazard and Operability Analysis HAZOP

Software Requirements Specification is Useful

It aligns requirements to code

  • Solve some inconsistencies...

It helps to discover that the MVM was vulnerable to faults.

It helps to suggest adding a supervisor and requiring a change of electronic board to small micro-controller

Architecture and Design

The software architecture is designed to comply with the Software Requirements.

Without a well-defined architecture (as for the prototype), it was not clear how software.

The architecture promotes decomposition to enable different teams to work in parallel on different parts of the system

Implementation and Testing

Continuous Integration

Testing

Unit testing

Integration testing

Validation testing