SOFTWARE DESIGN SPECIFICATION1.0 IntroductionThis section provides an overview of the entire design document. This document describes all data, architectural, interface and component-level design for the software.1.1 Goals and objectivesOverall goals and software objectives are described.1.2 Statement of scopeA description of the software is presented. Major inputs, processing functionality, and outputs are described without regard to implementation detail.1.3 Software contextThe software is placed in a business or product line context. Strategic issues relevant to context are discussed. The intent is for the reader to understand the 'big picture'.1.4 Major constraintsAny business or product line constraints that will impact he manner in which the software is to be specified, designed, implemented or tested arenoted here. 2.0 Data designA description of all data structures including internal, global, and temporary data structures.2.1 Internal software data structureData structures that are passed among components the software are described.2.2 Global data structureData structured that are available to major portions of the architecture are described.2.3 Temporary data structureFiles created for interim use are described.2.4 Database descriptioDatabase(s) created as part of the application is(are) described. 3.0 Architectural and component-level designA description of the program architecture is presented.3.1 Program StructureA detailed description the program structure chosen for the application is presented.3.1.1 Architecture diagramA pictorial representation of the architecture is presented.3.1.2 AlternativesA discussion of other architectural styles considered is presented. Reasons for the selection of the style presented in Section3.1.1 areprovided.3.2 Description for Component nA detailed description of each software component contained within the architecture is presented. Section 3.2 is repeated for each of n components.3.2.1 Processing narrative (PSPEC) for component nA processing narrative for component n is presented.3.2.2 Component n interface description.A detailed description of the input and output interfaces for the component is presented.3.2.3 Component n processing detailA detailed algorithmic description for each component is presented.Section 3.2.3 is repeated for each of n components.3.2.3.1 Interface description3.2.3.2 Algorithmic model (e.g., PDL)3.2.3.3 Restrictions/limitations]3.2.3.4 Local data structures3.2.3.5 Performance issues3.2.3.6 Design constraints3.3 Software Interface DescriptionThe software's interface(s) to the outside world are described.3.3.1 External machine interfacesInterfaces to other machines (computers or devices) are described.3.3.2 External system interfacesInterfaces to other systems, products, or networks are described.3.3.3 Human interfaceAn overview of any human interfaces to be designed for the software is presented. See Section 4.0 for additional detail.4.0 User interface designA description of the user interface design of the software is presented.4.1 Description of the user interfaceA detailed description of user interface including screen images or prototype is presented.4.1.1 Screen imagesRepresentation of the interface form the user's point of view.4.1.2 Objects and actionsAll screen objects and actions are identified.4.2 Interface design rulesConventions and standards used for designing/implementing the user interface are stated.4.3 Components availableGUI components available for implementation are noted.4.4 UIDS descriptionThe user interface development system is described. 5.0 Restrictions, limitations, and constraintsSpecial design issues which impact the design or implementation of the software are noted here. 6.0 Testing IssuesTest strategy and preliminary test case specification are presented in this section. 6.1 Classes of testsThe types of tests to be conducted are specified, including as much detail as is possible at this stage. Emphasis here is on black-box and white-box testing.6.2 Expected software responseThe expected results from testing are specified.6.3 Performance boundsSpecial performance requirements are specified.6.4 Identification of critical componentsThose components that are critical and demand particular attention during testing are identified.7.0 AppendicesPresents information that supplements the design specification.7.1 Requirements traceability matrixA matrix that traces stated components and data structures to software requirements is developed.7.2 Packaging and installation issuesSpecial considerations for software packaging and installation are presented.7.3 Design metrics to be usedA description of all design metrics to be used during the design activity is noted here.7.4 Supplementary information (as
View Full Document