Software Detailed Design Template

advertisement
Design of XXX component of XXX software
Doc #
Version: 01
Page 1 / 4
Thank-you for downloading the
Software Detailed Design Template!
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
Design of XXX component of XXX software
Doc #
Version: 01
TABLE OF CONTENTS
Page 2 / 4
1 Introduction
2
2 Software Architecture overview
3 Software design description
3
3
3.1 Component 1
3.1.1 Component interfaces
3.1.2 Component design description
3.1.3 Workflows and algorithms
3.1.4 Software requirements mapping
3.2 Component 2
3.2.1 Component interfaces
3.2.2 Component design description
3.2.3 Workflows and algorithms
3.2.4 Software requirements mapping
3.3 Component 3
3.3.1 Component interfaces
3.3.2 Component design description
3.3.3 Workflows and algorithms
3.3.4 Software requirements mapping
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
1.1 Document overview
1.2 References
1.2.1 Project References
1.2.2 Standard and regulatory References
4 COTS – SOUP identification
5 Critical Requirements
1
2
2
2
2
4
4
Introduction
You may have all the description of the design of your software in a single instance of this
document or have the design of each component/package/element in many instances of this
document. This is your choice, which depends on the size of your software.
1.1 Document overview
This document describes the design of XXX component/package/element of XXX device, part of
XXX software development project.
1.2
1.2.1
#
[R1]
1.2.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 documents references.
This Template is the property of Cyrille Michaud
License terms : see http://blog.cm-dm.com/post/2011/11/04/License
Design of XXX component of XXX software
Doc #
Version: 01
Page 3 / 4
One line per document
Add the standard references to the table above. It may include ISO 14971, ISO 13485, IEC/TR
80002-1, IEC 62304, amongst others.
2
Software Architecture overview
Describe here 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.
You may reference the system architecture document, if you have one in your project, which
already explains the software architecture.
3
Software design description
If you have a single design document, describe each top level package/component of your
software and if necessary sub-components/sub packages.
If you have one design document for each top level package/component, describe the content
(sub components, sub packages) of each top level package/component.
Use Class diagrams, Collaboration / sequence diagrams, Deployment diagrams to illustrate your
description.
3.1
Component 1
3.1.1 Component interfaces
Describe the interfaces of the component and input output data
3.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.
3.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.
3.1.4 Software requirements mapping
Class C software only, list the SRS requirements handled by this component
3.2 Component 2
Repeat the pattern for each component.
3.2.1 Component interfaces
Describe the interfaces of the component and input output data
3.2.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.
This Template is the property of Cyrille Michaud
License terms : see http://blog.cm-dm.com/post/2011/11/04/License
Design of XXX component of XXX software
Doc #
Version: 01
Page 4 / 4
3.2.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.
3.2.4 Software requirements mapping
Class C software only, list the SRS requirements handled by this component
3.3 Component 3
Repeat the pattern for each component.
3.3.1 Component interfaces
Describe the interfaces of the component and input output data
3.3.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.
3.3.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.
3.3.4 Software requirements mapping
Class C software only, list the SRS requirements handled by this component
4
COTS – SOUP identification
Add the list of COTS – SOUP used in software. Example:
COTS libraries used in XXX are the following:
 foo.jar, version id, download URL, License type, requirements traceability
 bar.jar, version id, download URL, License type, requirements traceability
Caution: if SRS requirements are handled by COTS or SOUP, then traceability between COTS or
SOUP and SRS requirements shall be described here.
5
Critical Requirements
If requirement were tagged as critical in the SRS, add here the traceability between these
requirements and the components described in this document. Critical requirement may be
those added after risk analysis.
Requirement ID
REQ-001
Requirement title
Software shall have
an abort button
Component
Main window
Main window
controller
Comment
Widget added in the
window layout
Controller aborts the
operation
This Template is the property of Cyrille Michaud
License terms : see http://blog.cm-dm.com/post/2011/11/04/License
Download