part 2 Specifications - Software in Medical Devices

advertisement
Software development of XXX – Part 2 Specifications and Conception
Doc #
Version: 01
Page 1 / 10
Thank-you for downloading the
Software development template - part
2 Specifications!
More templates to download on the:
Templates Repository for Software
Development Process (click here)
Or paste the link below in your browser address bar:
http://blog.cm-dm.com/pages/Software-Development-Processtemplates
This work is licensed under the:
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 France
License: http://creativecommons.org/licenses/by-nc-nd/3.0/fr/
Waiver:
You can freely download and fill the templates of blog.cmdm.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.
To be compliant with the license, I suggest you to keep the
following sentence at least once in the templates you store,
or use, or distribute:
This Template is the property of Cyrille Michaud License
terms: see http://blog.cm-dm.com/post/2011/11/04/License
Who am I? See my linkedin profile:
http://fr.linkedin.com/pub/cyrille-michaud/0/75/8b5
You can remove this first page when you’ve read it and
acknowledged it!
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
Version: 01
Page 2 / 10
This is the part 2 of three templates for software development of simple projects
It covers aspects of specification, general/architecture conception and detailed conception.
This template doesn’t cover the risk management
TABLE OF CONTENTS
1 Introduction
3
2 Software Requirements Specifications
5
3 System Architecture Description
7
4 Software Detailed Design
9
1.1
1.2
1.3
1.4
1.5
Document overview
Scope
Abbreviations and Glossary
References
Conventions
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
States
Performance
Safety, security, and privacy protection
User maintenance
Usability and human-factors engineering
System environment
External interfaces
Resources
Internal data
Adaptation
Verification
Personnel and training
Packaging and installation
3.1
3.2
3.3
Architecture overview
Physical architecture overview
Software COTS
4.1
4.2
4.3
Component 1
Component 2
Component 3
5.1
5.2
User Requirements to Software Requirements
Software Requirements to software design
5 Traceability
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
3
3
3
3
3
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
8
9
9
9
10
10
10
Software development of XXX – Part 2 Specifications and Conception
Doc #
1
Version: 01
Page 3 / 10
Introduction
1.1 Document overview
This document contains the specifications and the conception of XXX software development
project.
It covers the following goals:
 XXX.
1.2
Scope
1.2.1 Identification
This document applies to the XXX device(s) developed in the XXX project.
1.2.2 Overview
Project Overview
1.3
Abbreviations and Glossary
1.3.1 Abbreviations
Add here abbreviations
1.3.2 Glossary
Add here words definitions
1.4
1.4.1
#
[R1]
1.4.2
References
Project References
Document Identifier
ID
Document Title
Add your documents references.
One line per document
Standard and regulatory References
#
Document Identifier
[STD1]
Document Title
Add your references
1.5 Conventions
Requirements listed in this document are constructed according to the following structure:
Requirement Id
Requirement title
Requirement description
Requirement version
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
Version: 01
Example:
SRS-XXX-000
Title of XXX-000 requirement
Description of XXX-000 requirement
Version of XXX-000
Typographical convention.
Any other convention.
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Page 4 / 10
Software development of XXX – Part 2 Specifications and Conception
Doc #
2
Version: 01
Page 5 / 10
Software Requirements Specifications
This chapter is an extract of the Software Requirements Specifications template. Have a look at
the SRS template to see some examples of requirements.
2.1 States
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
 And so on …
Add a diagram with states and transitions if necessary
2.2 Performance
This is the core of your SRS. It contains the purpose of your software expressed in technical
requirements
What are its functions
What are the algorithms used
…
2.3 Safety, security, and privacy protection
This section is about software features like confidentiality, integrity control, reliability, and
availability. See CyberSecurity requirements of FDA and HIPAA requirements if necessary
2.4 User maintenance
Maintenance functions (logs, archives, …)
2.5 Usability and human-factors engineering
The requirements here may have traceability with result of 62366 standard implementation
2.5.1 Man machine interface layout
The layout of XXX is ….
Instead of a dozen of text requirements, a mock-up of the software GUI is very appreciated
Add only requirements for which a description of layout/behaviour is necessary and/or
requested by a user.
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 ….
An about window is a good way to identify software version….
2.6 System environment
If software is integrated in a specific system, describe briefly the system and add specific
requirements to which your software shall comply
2.7 External interfaces
This section describes hardware and software interfaces of the software in the system
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
Version: 01
Page 6 / 10
2.7.1 Hardware interfaces
For PEMS/Electro-medical Devices, add requirements about integration of software and
hardware.
2.7.2 Network interfaces
Also add here communication and networks stuff, like IP, wireless, Bluetooth …
2.7.3 Data exchange
If XXX software is in interface with other software, describe here the requirements on data
exchanges.
2.8 Resources
In what environment runs the software
2.8.1 Hardware resources
Hardware requirements
2.8.2 Software resources
OS, libraries, external programs requirements
2.9 Internal data
If specific requirements for internal data, like databases, binary files, xml …
2.10 Adaptation
If specific requirements adaptability of configuration of software
2.11 Verification
Special functions to test the software, if necessary. For example a hidden function to activate a
log file during beta tests
2.12 Personnel and training
Requirements about the capabilities/knowledge of users, the training the shall have before
using software
2.13 Packaging and installation
Requirements about packaging, install shield …
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
3
Version: 01
Page 7 / 10
System Architecture Description
3.1 Architecture overview
Give a general description of the system, from the point of view of the user :
• In what environment it works (home, near patient bed, operating room …)
• Who the users are
• What it is for,
• The main functions,
• The main interfaces, inputs and outputs.
3.1.1 Logical architecture overview
Describe the top level software components and their interactions/relationships.
Use UML package diagrams and/or layer diagrams and/or interface diagrams.
Describe also the operating systems on which the software runs.
3.1.2 Physical architecture overview
Describe the hardware components on which software runs and their interactions/relationships
Use components diagrams, deployment diagrams, network diagrams, interface diagrams
3.1.3 Software Component 1 description
Optional
Describe the content of each top level software component in the architecture
The description shall contain :
• Its identification
• The purpose of the component,
• Its interfaces with other components,
• Its network interfaces,
• The hardware resources it uses, for example : average RAM usage, peak RAM usage and
peak frequency and duration, disk space for permanent data, disk space for cache data,
average CPU usage, peak CPU usage and peak frequency and duration …
3.1.4 Software Component 2 description
Repeat the pattern for each top level component.
3.1.5 Software Component 3 description
Repeat the pattern for each top level component.
3.2 Physical architecture overview
Describe the hardware components on which software runs and their interactions/relationships
Use components diagrams, deployment diagrams, network diagrams, interface diagrams
3.2.1 Hardware Component 1 description
Optional Describe the content of each hardware component in the architecture
The description shall contain :
• Its identification
• The purpose of the component
• The software component it receives
• Its technical characteristics : type of machine, CPU, RAM, disk and so on.
• Its network hardware interfaces
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
Version: 01
Page 8 / 10
3.2.2 Hardware Component 2 description
Repeat the pattern for each top level component.
3.2.3 Hardware Component 3 description
Repeat the pattern for each top level component.
3.3 Software COTS
If you use COTS (Components Off the Shelf, also named SOUP, Software Of Unknown
Provenance), list them here.
For each COTS, describe :
• Its identification and version
• Its purpose
• Where it comes from : manufacturer, vendor, university …
• Wether it is maintained by a third party or not
• If this is an executable,
o what are the hardware / sotfware resources it uses
o Wether it is insulated in the architecture and why
• Its interfaces and data flows
Note : have a look at FDA Guidance « Off-The-Shelf Software Use in Medical Devices » to
determine if you need specific or special documentation for your COTS.
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
4
Version: 01
Page 9 / 10
Software Detailed Design
Describe the components in 3.1.x with more details. Only for those which deserve to be split to
show interesting functions/behaviors/algorithms/patterns.
Note: Describing interfaces is ALWAYS interesting!!!
4.1
Component 1
4.1.1 Component interfaces
Describe the interfaces of the component and input output data
4.1.2 Component design description
Describe the design of the component, Use package diagrams and/or class diagrams to show the
links between sub-components/sub-packages and or classes inside the component.
4.1.3 Workflows and algorithms
Use collaboration diagrams and/or sequence diagrams to show the workflows of
components/packages/classes inside the component.
Describe algorithms, if possible. An algorithm may be described outside this document, in this
case, add the reference to that document.
4.2 Component 2
Repeat the pattern for each component.
4.3 Component 3
Repeat the pattern for each component.
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Software development of XXX – Part 2 Specifications and Conception
Doc #
5
Version: 01
Page 10 / 10
Traceability
5.1 User Requirements to Software Requirements
If you have a statement of work, or a list of user requirements at very high level, Add here a table
with traceability between architecture and component vs software requirements
User Reqt ID
USR-001
Description
On/off button
Software Reqt ID
SRS-010
Title
On/off panel
5.2 Software Requirements to software design
Add traceability between Software requirements and software architecture and components.
Mandatory for Class C software.
Software Reqt ID
USR-001
USR-001
Description
On/off panel
On/off panel
Component
Comp.panel.onoff
Controller.onoff
Comment
For GUI
For Controller
This Template is the property of Cyrille Michaud
License terms: see http://blog.cm-dm.com/post/2011/11/04/License
Download