100% found this document useful (1 vote)
408 views5 pages

Software Detailed Design Template

This document is a template for describing the design of software components. It includes sections for an introduction, software architecture overview, description of individual components, identification of commercial off-the-shelf (COTS) components, and mapping of critical requirements. The template provides guidance on how to describe interfaces, design, workflows, algorithms, and requirements mapping for each component. It also specifies including diagrams to illustrate the component descriptions.

Uploaded by

HarryTendulkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
408 views5 pages

Software Detailed Design Template

This document is a template for describing the design of software components. It includes sections for an introduction, software architecture overview, description of individual components, identification of commercial off-the-shelf (COTS) components, and mapping of critical requirements. The template provides guidance on how to describe interfaces, design, workflows, algorithms, and requirements mapping for each component. It also specifies including diagrams to illustrate the component descriptions.

Uploaded by

HarryTendulkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5

Design of XXX component of XXX software

Doc #

Version: 01

Page 1 / 5

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-Process-templates
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.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.
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 youve 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

Page 2 / 5

TABLE OF CONTENTS

1 Introduction 1
1.1 Document overview
1.2 References
1.2.1 Project References
1.2.2 Standard and regulatory References

2 Software Architecture overview


3 Software design description 2

1
1
1
1

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

2
2
2
2
2
2
2
2
3
3
3
3
3
3
3

4 COTS SOUP identification 3


5 Critical Requirements 3
1

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 References
1.2.1 Project References
#
[R1]

Document
Identifier
ID

Document Title
Add your documents references.
One line per document

1.2.2 Standard and regulatory References


#

Document

Document Title

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 / 5

Identifier
[STD
1]

Add your documents references.


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.

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.

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.

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 / 5

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.
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

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.

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.
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 #

Requirement ID
REQ-001

Version: 01

Requirement title
Software shall
have an abort
button

Page 5 / 5

Component
Main window

Comment
Widget added in
the window layout

Main window
controller

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

You might also like