Software development according to IEC 62304: Which requirements do you have to fulfil?
IEC 62304 is an international standard that sets minimum requirements for the most important processes of the software life cycle. It applies both to manufacturers who develop their software as an independent medical device (standalone software) and to those who merely embed software in their medical device (embedded software).
Based on DIN EN ISO 14971, the standard also describes the role of risk management within the software development process. Specifically, IEC 62304 defines requirements for the following processes of the software life cycle:
- Software development
- Software maintenance
- Software risk management
- Software Configuration Management
- Software problem solving
In addition to the specific requirements for the various processes, IEC 62304 requires the use of a quality management system, a risk management system and a software safety classification.
Requirements for software development according to IEC 62304
Depending on the security class of the software, a different number of requirements must be met for the documentation of the software development:
- Software development plan (A, B, C)
- Software requirements analysis (A, B, C)
- Software architecture design (B, C)
- Software design creation (C)
- Implementation and verification of software units (B, C)
- Software integration and integration testing (B, C)
- Software system test (B, C)
- Software release (A, B, C)
In a software system, the security class of the individual components may well be assessed differently. Since a different number of the above-mentioned requirements have to be fulfilled depending on the security class, it makes a lot of sense to integrate functions with a high and functions with a low security class into different components.
Of course, it must be ensured that the risks are actually limited to the corresponding components.