DOC

[ Project ]

By Gladys Washington,2014-04-13 19:57
8 views 0
This is the section where you should include your High-Level design Component Diagram. TO DO: In 1-2 paragraphs describe the purpose, contents and layout of

    Software Design

    Specification

    for

    <Project>

    Document Version <X.X>

    Prepared by

    Group Name: <place your group name here> <name> <student #> <e-mail> <name> <student #> <e-mail> <name> <student #> <e-mail> <name> <student #> <e-mail> <name> <student #> <e-mail>

    Instructor: <place your instructor’s name here>

    Course: <place your course name here>

    Lab Section: <place your lab section here>

    Teaching Assistant: <place your TA’s name here>

    Date: <place the date of submission here>

    Software Design Specification for [ Project ] Page i REVISIONS ......................................................................................................................................................... ii 1 INTRODUCTION ............................................................................................................................................. 1 1.1 PURPOSE ....................................................................................................................................................... 1 1.2 SYSTEM OVERVIEW ....................................................................................................................................... 1 1.3 DEFINITIONS, ACRONYMS AND ABBREVIATIONS ............................................................................................. 1 1.4 SUPPORTING MATERIALS ............................................................................................................................... 1 1.5 DOCUMENT OVERVIEW ................................................................................................................................. 1 2 ARCHITECTURE............................................................................................................................................. 2 2.1 OVERVIEW .................................................................................................................................................... 2 2.2 COMPONENT 1..N........................................................................................................................................... 2 3 HIGH-LEVEL DESIGN.................................................................................................................................... 3 4 LOW-LEVEL DESIGN ..................................................................................................................................... 4 4.1 MODULES OVERVIEW .................................................................................................................................... 4 4.2 MODULE SPECIFICATIONS .............................................................................................................................. 4

    4.2.1 Module X1 ............................................................................................................................................. 4

    4.2.2 Module X2 ............................................................................................................................................. 5 APPENDIX A GROUP LOG ............................................................................................................................ 6

Software Design Specification for [ Project ] Page ii

    Version Primary Author(s) Description of Version Date Completed

    Full Name 00/00/00 Draft Type Information about the revision. This table

    and does not need to be filled in whenever a

    Number document is touched, only when the version

    is being upgraded.

<This template serves as a basis for a Software Design Specification. As in the SRS document,

    all italics refer to the “comment” style. Comments in blue are general and apply to any SDS, these that are in black are applicable specifically for this course. This template is based on the

    work by Karl. E Wiegers, Steve McConnel of CXOne group and the IEEE standards.>

Please make sure to delete all the comments before submitting this document.

Software Design Specification for [ Project ] Page 1

    1.1 Purpose

    TO DO: Briefly describe the purpose of this document. (No more than one paragraph)

    1.2 System Overview

    <Brief high-level description of system structure, functionality, interactions with external sys-tems, system issues, etc.

    TO DO:

    1. Provide a system diagram (you can use the one from the SRS document), which will best illustrate the concept behind it.

    2. In no more than two paragraphs explain the diagram and provide a general overview of the system. >

    1.3 Definitions, Acronyms and Abbreviations

    < List any project definitions and acronyms introduced to the project by this design.

    TO DO: Describe and define any abbreviations, definitions and/or acronyms that you used when preparing this document in an alphabetical order.>

    1.4 Supporting Materials

    <Note any references or related materials here.

    TODO: Use IEEE citation guide to capture all the different sources you used to produce this document.> 1.5 Document Overview

    < TODO: In no more than two paragraphs, provide a short overview of this document, briefly explaining what are the contents of each section. >

Software Design Specification for [ Project ] Page 2

    <The architecture provides the top level design view of a system and provides a basis for more

    detailed design work. This is the section where you should include your High-Level design Component Diagram.

    TO DO: In 1-2 paragraphs describe the purpose, contents and layout of this section. List any

    general key ideas that affected the architecture of the system.>

    2.1 Overview

    <This section provides a high level overview of the structural and functional decomposition of

    the system. Focus on how and why the system was decomposed in a particular way rather than

    on details of the particular components. Include information on the major responsibilities and

    roles that the system (or portions of it) must play.

    TO DO: This section is a much more detailed version of section 1.1.

    1. Provide a high level component diagram with all of the required interfaces.

    2. Provide a more detailed explanation to the reasons that led you to break the system down in

    that particular way.

    3. Make sure to talk about the non-functional qualities achieved by this Architecture. These non-

    functional qualities should be: Maintainability and Understainability.>

    2.2 Component 1..n

    <Describe an element (subsystem, component, etc...) from architecture in further detail. When

    appropriate, include information on how the element is further broken down and the interactions

    and relationships between these subcomponents.

    TO DO: Don`t actually use “1” or “n”, give a name to every component (2.2 Component X, 2.3

    Component Y, & etc…). Provide a detailed description of every component of the system. In

    your description include the name of the component, its interfaces and the type of relationship it

    has with other system components. Do not forget to use meaningful naming for the component

    interfaces that reflect the type of services they provide. >

Software Design Specification for [ Project ] Page 3

    <This section describes in further detail elements discussed in the Architecture. Normally this

    section would be split into separate documents for different areas of the design.

    High-level designs are most effective if they attempt to model groups of system elements from a

    number of different views.

    TO DO:

    1. Explain the purpose of this section and provide an overview of the following sections.

    2. You will be using Statechart diagrams to represent the high-level control view of the sys-

    tem. Provide an overall system Statechart here that illustrates how the interfaces in the

    Component Diagram will be used (as labels of the transitions) to provide the whole ser-

    vices of the system. Explain in words the different states and transitions from one state

    to another.>

Software Design Specification for [ Project ] Page 4

    <This section provides low-level design descriptions that directly support construction of mod-

    ules. Normally this section would be split into separate documents for different areas of the de-

    sign.

    TO DO: Provide a brief introduction, explaining the purpose of this section, strategies, metho-

    dologies and techniques used to obtain the suggested modular structure. > 4.1 Modules Overview

    <This section provides the reader with a brief overview of the modules that comprise the entire

    system.

    TO DO: Use the following template to describe every module in your system.>

    Name: The name of the module

    File Name: The file name for the module Naming Convention: The specific naming convention (prefix, or postfix) used to

    identify functions related to this module. Short Description: A short description of the module include the main tasks

    performed by the module, etc. Container Component: The name of Component in which the module is located. Also

    explain the rationale for this design decision. 4.2 Module Specifications

    <This section refers to two major types of module specifications. The first concentrates on mod-

    ule interface and the second on its design. In the following sections you will provide a detailed

    description of the module interface and its design. You will illustrate its design using Statecharts.

    TO DO: Start with providing a short introduction of what the reader should expect to find in this

    section. >

    4.2.1 Module X1

    < There are many different techniques used to specify both the interface and the design. For interface the techniques can be TDN, GDN, etc. For the design a pseudo-code might prove to

    be useful. In this template we use a hybrid of several different techniques to specify the inter-

    face, and Statechart to specify the design. Remember, module interface is like a tip of an ice-

    berg, it should only show what the others must see.>

    TO DO: Use the following template to specify the module interface for Module X1.

    List the modules this module has a USES relation with. Used External Modules:

    List the data types, provided by other modules, that this module Used External Data Type:

    uses, that will prove to be important in understanding its interface

    or design.

Software Design Specification for [ Project ] Page 5

    List the module’s internal state variables. Internal State Variables:

    List (if any) the internal constants Internal Constants:

    Exported Function(s) Description The name of the functions Provide a description of the function, specifying its inputs, outputs

    and tasks it performs.

    Internal Function(s) Description The name of the functions Provide a description of the function, specifying its inputs, outputs

    and tasks it performs.

    <TO DO cont-d: Provide a Statechart that will illustrate the detailed internal design of the mod-ule, i.e., what events cause the transitions of the stated above internal state variables.>

4.2.2 Module X2

<The same as above>

Software Design Specification for [ Project ] Page 6

    Please include here all the minutes from your group meetings, your group activities, and any other relevant information that will assist the Teaching Assistant to determine the effort put forth to produce this document

Report this document

For any questions or suggestions please email
cust-service@docsford.com