software-requirements-specifications-template-2024
software-requirements-specifications-template-2024
Waiver:
You can freely download and fill the templates of blog.cm-dm.com, to
produce technical documentation. The documents produced by filling the
templates are outside the scope of the license. However, the modification
of templates to produce new templates is in the scope of the license and is
not allowed by this license.
TABLE OF CONTENTS
1 INTRODUCTION 3
1.1 Document overview 3
1.2 Abbreviations and Glossary 3
1.2.1 Abbreviations 3
1.2.2 Glossary 3
1.3 References 3
1.3.1 Project References 3
1.3.2 Standard and regulatory References 3
1.4 Conventions 3
2 REQUIREMENTS 5
2.1 States 5
2.2 Functionalities and Performance 5
2.3 Security, and privacy protection 6
2.3.1 Security monitoring 7
2.3.2 Personal Data 7
2.4 User maintenance 8
2.5 Usability and human-factors engineering 8
2.5.1 Man machine interface layout 8
2.5.2 Help 10
2.6 Regulatory requirements 10
2.7 System environment 10
2.8 External interfaces 11
2.8.1 Hardware interfaces 12
2.8.2 Network interfaces 12
2.8.3 Data exchange 13
2.9 Resources 13
2.9.1 Hardware resources 13
2.9.2 Software resources 14
2.10 Internal data 14
2.11 Configuration or Adaptation 14
2.12 Verification 14
2.13 Personnel and training 14
2.14 Packaging and installation 15
2.15 Software updates 15
2.16 Decommissioning – uninstallation 16
2.17 Secure operations guidelines 16
3 REQUIREMENTS TRACEABILITY 18
4 CYBERSECURITY CONTROLS TRACEABILITY 19
5 CRITICAL REQUIREMENTS 20
1 INTRODUCTION
1.2.1 Abbreviations
Add here abbreviations
1.2.2 Glossary
Add here words definitions
1.3 References
1.4 Conventions
Requirements listed in this document are constructed according to the following structure:
Requirement ID SRS-XXX-000
Example:
Requirement ID SRS-GUI-010
2 REQUIREMENTS
Note : have a look at http://en.wikipedia.org/wiki/Requirement, article in wikipedia. It’s well
written and the links at the bottom are useful.
2.1 States
Optional. This section is more relevant for embedded software. For standalone software (SaMD)
it can be deleted if you think it’s not useful.
FOO software works in three states:
Starting: the software loads its components;
In use: all the functionalities of the software are available to the users;
Stopping: the software is being stopped.
Maintenance: the software is in maintenance mode
Updating: the software is being updated
And so on …
Add a diagram with states and transitions if necessary
For paid documentation, see IEC/TR 60601-4-5: This document also contains general security
requirements, to be refined to the context of your product.
Version V1.0
You can also specify GUI with the following items (thanks LLM to give me this list):
Visual Design:
o Color scheme and aesthetics
o Typography and font choices
o Use of whitespace and layout
o Visual hierarchy and emphasis
Interactivity:
o Hover effects and animations
o Click/tap feedback
o Drag-and-drop functionality
o Gestures (for touch interfaces)
Accessibility:
o Color contrast for readability
o Screen reader compatibility
o Keyboard navigation support
o Resizable text and scalable interface
Consistency:
o Uniform design patterns across the interface
o Standardized icons and symbols
o Consistent placement of common elements
Feedback and Status:
o Loading indicators
o Progress bars
o Tooltips and help text
o Error messages and notifications
Customization:
o Theming options
o User preferences and settings
o Adaptability to different screen sizes and orientations
Localization:
o Support for multiple languages
o Culturally appropriate icons and symbols
o Date, time, and number format adaptations
Performance:
o Responsiveness and load times
o Smooth animations and transitions
o Efficient use of system resources
Integration:
o Compatibility with operating system conventions
o Integration with other applications or services
o Support for system-wide features (e.g., dark mode)
You can also describe GUI characteristics in a separate document outside SRS (put simply the list
in a new document). That document may be referenced here and in the usability file.
2.5.2 Help
The user guide is always very important for medical devices. It may be online, in this case add
requirements here about the online help ….
See also e-IFU regulation: https://eur-lex.europa.eu/eli/reg_impl/2021/2226/oj
If your software doesn’t contain an GUI (e.g.: only REST APIs), it may still output some pdf
document with a specific request.
Title CE Mark
XXX shall display the CE Mark in the “About…” window.
Description
The CE Mark is displayed with the 4-digits number of the notified body
Version V1.0
Version V1.0
Version V1.0
Version V1.0
Version V1.0
2.9 Resources
Version V1.0
For mobile apps, it can be difficult to be specific, if you want to install your app on any device
Requirement ID SRS-HWR-110 SAMPLE
Version V1.0
2 Go RAM
...
Version V1.0
Version V1.0
2.12 Verification
Special functions to test the software, if necessary. For example, a hidden function to activate a
log file during beta tests. But not a backdoor or a security hole!!! This shall be stripped form
release
This section isn’t used often but is left there as a reminder.
Title E-learning
Description XXX is delivered with e-learning module.
Version V1.0
Title Packaging
Description XXX shall be delivered on zzz media.
Version V1.0
Title Install-shield
Description XXX shall be installed with the use of an install shield.
Version V1.0
For mobile apps, we remain only at technical level. The way the app is deployed on the store is
not part of this document.
Requirement ID SRS-XXX-PAK-010 SAMPLE
Title APK
XXX shall be installed with the use of an APK accepted by RobotOS based
Description
systems.
Version V1.0
If the version is mandatory, XXX software shall install the new version and
restart. If the version is optional, XXX software shall propose to the user to
install it.
Version V1.0
Title Uninstall
XXX is delivered with an uninstaller.
The uninstaller allows the user to export personal data prior to
Description
uninstallation.
Version V1.0
Version V1.0
Version V1.0
3 REQUIREMENTS TRACEABILITY
Add a table with traceability of software requirements of this document with user or system or
product requirements.
Example
SRS Req. Req Title Functional Req. Req. Title
SRS-REQ-001 Reading ECG values FUN-REQ-00A ECG post treatment
SRS-REQ-002 Writing results FUN-REQ-00A ECG post treatment
You may use this section to document traceability between your SRS and the control types.
Some controls may not be documented in the SRS (e.g. in de dev plan). You can also move or
duplicate this traceability to the security risk assessment report if you have security control
types covered by artifacts that are not SRS.
Types of Cybersecurity controls listed in the FDA guidance on Cybersecurity in Medical Devices
are:
A) Authentication controls,
B) Authorization controls,
C) Cryptography controls,
D) Code, data, and execution integrity controls,
E) Confidentiality controls,
F) Event detection and logging controls,
G) Resiliency and recovery controls,
H) Firmware and software update controls.
Example:
SRS ID SRS Title Security Controls
SRS-AUTH-001 User authentication by login Authentication control
and pasword
SRS-DAT-001 Database encryption Confidentiality controls
5 CRITICAL REQUIREMENTS
OPTIONAL SECTION
If necessary, add a list of critical requirements, or a list of reference to requirements in previous
sections.
This list may be the result of risk analysis (ISO 14971).
Examples
Requirement ID Requirement Title Origin
REQ-001 Alarm when value out of range Risk Analysis
REQ-002 Do not open file if no patient name Risk Analysis
REQ-003 Display blinking when negative values Human factor engineering