Home

  About Us

  Products

  Process Models

  SE Resources

  Commentary

  Contact us

Breaking News!

A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large

A new edition ... the 6th edition of Software Engineering is available now

A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge

A new training curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.

A redesigned Web site ... we've done a major redesign and added many new features

 
Adaptable Process Model
Document Templates:
Design Specification



IMPORTANT NOTICE: The complete Adaptable Process Model (APM) is provided for informational purposes and for assessment by potential users. The APM is copyrighted material and may not be downloaded, copied, or extracted for use in actual project work. The full hypertext (html) version of the APM may be licensed for use and customization within your organization. Contact R.S. Pressman & Associates, Inc. for complete licensing information.

SOFTWARE DESIGN SPECIFICATION

1.0 Introduction

This 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 objectives

    Overall goals and software objectives are described.

    1.2 Statement of scope

    A description of the software is presented. Major inputs, processing functionality, and outputs are described without regard to implementation detail.

    1.3 Software context

    The 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 constraints

    Any business or product line constraints that will impact he manner in which the software is to be specified, designed, implemented or tested are noted here.

       

2.0 Data design

A description of all data structures including internal, global, and temporary data structures.

    2.1 Internal software data structure

    Data structures that are passed among components the software are described.

    2.2 Global data structure

    Data structured that are available to major portions of the architecture are described.

    2.3 Temporary data structure

    Files created for interim use are described.

    2.4 Database descriptio

    Database(s) created as part of the application is(are) described.

     

3.0 Architectural and component-level design

A description of the program architecture is presented.

    3.1 Program Structure

    A detailed description the program structure chosen for the application is presented.

      3.1.1 Architecture diagram

      A pictorial representation of the architecture is presented.

      3.1.2 Alternatives

      A discussion of other architectural styles considered is presented. Reasons for the selection of the style presented in Section3.1.1 are provided.

    3.2 Description for Component n

    A 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 n

      A 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 Sub-Component n.m processing detail

      A detailed algorithmic description for each sub-component within the component n is presented. Section 3.2.3 is repeated for each of the m sub-components of component n.

        3.2.3.1 Interface description
        A description of sub-component m inputs and outputs is presented.

        3.2.3.2 Algorithmic model (e.g., PDL)
        The pseudocode listing for sub-component m is presented.

        3.2.3.3 Restrictions/limitations
        The external environment and/or infrastructure that must exist for sub-component m to operate correctly is provided.

        ]3.2.3.4 Local data structures
        The data structures used within sub-component m are presented.

        3.2.3.5 Performance issues
        Information on topics that may affect the run-time performance, security, or computational accuracy of this sub-component are presented.

        3.2.3.6 Design constraints
        Attributes of the overall software design (including data structures, OS features, I/O, and interoperable systems) that constrain the design of this sub-component are presented.

    3.3 Software Interface Description

    The software's interface(s) to the outside world are described.

      3.3.1 External machine interfaces

      Interfaces to other machines (computers or devices) are described.

      3.3.2 External system interfaces

      Interfaces to other systems, products, or networks are described.

      3.3.3 Human interface

      An overview of any human interfaces to be designed for the software is presented. See Section 4.0 for additional detail.

4.0 User interface design

A description of the user interface design of the software is presented.

    4.1 Description of the user interface

    A detailed description of user interface including screen images or prototype is presented.

      4.1.1 Screen images

      Representation of the interface form the user's point of view.

      4.1.2 Objects and actions

      All screen objects and actions are identified.

    4.2 Interface design rules

    Conventions and standards used for designing/implementing the user interface are stated.

    4.3 Components available

    GUI components available for implementation are noted.

    4.4 UIDS description

    The user interface development system is described.

     

5.0 Restrictions, limitations, and constraints

Special design issues which impact the design or implementation of the software are noted here.

 

6.0 Testing Issues

Test strategy and preliminary test case specification are presented in this section.

     6.1 Classes of tests

    The 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 response

    The expected results from testing are specified.

    6.3 Performance bounds

    Special performance requirements are specified.

    6.4 Identification of critical components

    Those components that are critical and demand particular attention during testing are identified.

     

7.0 Appendices

Presents information that supplements the design specification.

    7.1 Requirements traceability matrix

    A matrix that traces stated components and data structures to software requirements is developed.

    7.2 Packaging and installation issues

    Special considerations for software packaging and installation are presented.

    7.3 Design metrics to be used

    A description of all design metrics to be used during the design activity is noted here.

    7.4 Supplementary information (as required)

Return to APM Documents


Site search! We've added links to a search engine that will enable you to search our entire site for information you need. Enter the appropriate word or phrase below.

PicoSearch




Home About us Products Product Models SE Resources Commentary Contact us

Web site and all contents © R.S. Pressman & Associates, Inc. 2001 - 2006, All rights reserved.
Free website templates