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