0% found this document useful (0 votes)
779 views6 pages

Software Design Specification Template

The document provides a template for a software design specification with sections for data design, architectural design, interface design, component design, user interface design, restrictions, limitations, and testing issues. It includes subsections for data structures, system structure, component descriptions, interfaces, algorithms, classes, interactions, user interface screens and objects, design rules, and test strategies. The goal is to describe how the system will be constructed based on the requirements specification.

Uploaded by

EAST SIDE TV 254
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
779 views6 pages

Software Design Specification Template

The document provides a template for a software design specification with sections for data design, architectural design, interface design, component design, user interface design, restrictions, limitations, and testing issues. It includes subsections for data structures, system structure, component descriptions, interfaces, algorithms, classes, interactions, user interface screens and objects, design rules, and test strategies. The goal is to describe how the system will be constructed based on the requirements specification.

Uploaded by

EAST SIDE TV 254
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • Introduction
  • Data Design
  • Architectural and Component-Level Design
  • User Interface Design
  • Testing Issues
  • Restrictions, Limitations, and Constraints

SOFTWARE DESIGN SPECIFICATION TEMPLATE

You should begin to develop the software design specification after


completion of the software requirements specification. The software
requirements feed the design task.

At this point, your team should decide on a programming language for the
project. If you are new to the language, take time to become familiar with it,
before you proceed.

The software design specification focuses on how the system will be


constructed. It includes four models: data design (section 2.0), architectural
design (section 3.0), interface design (section 4.0) and component-level
design (section 3.0).

Before you begin, please study chapters 9, 10, 11 and 12 in the text.

Your document should follow the template below. It is a modified version of


the Pressman's Adaptable Process Model template for a software design
document.

(Section 1.0 is repeated from the Software Requirements Specification. This


section provides background information about the SW.)

1.0 Introduction

This section provides an overview of the entire requirement document. This


document describes all data, functional and behavioral requirements for
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 regards to
implementation detail. Rank the major processing functionality from the
developer's point of view. Use a simple ranking system such as:
essential, desirable and future requirements. This should represent
what you think your team can accomplish in the time frame of a
semester. The essential requirements, you are sure you can complete.
The desirable requirements you hope to complete, but are not sure
about. The future requirements, you have strong doubts about. Strive to
balance the desires of your client with the reality of the time it takes to
develop a SW product.

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 the 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 of 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 description

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


(Provide enough detail to create the database.)
3.0 Architectural and component-level design

A description of the program architecture is presented.

3.1 System Structure

A detailed description the system structure chosen for the application is


presented.

3.1.1 Architecture diagram

A pictorial representation, using a UML component diagram,


of the architecture is presented.

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


should describe the responsibilities of the component.

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 detail

A detailed algorithmic description for each component is


presented.

[Link] Design Class hierarchy for


component n

[Link] Restrictions/limitations for


component n

[Link] Performance issues for component n


[Link] Design constraints for component n

[Link] Processing detail for each operation


of component n

[Link].1 Processing narrative (PSPEC)


for each operation

[Link].2 Algorithmic model (e.g., PDL)


for each operation

3.3 Dynamic Behavior for Component n

A description of the interaction of the classes is presented.

3.3.1 Interaction Diagrams

A sequence diagram, for each use case the component


realizes, is presented.

3.4 Database Modelling:

A data model identifies things of importance to an organization, properties of


that organization and how the organization is related to one another. The model
provides accurate pictures of the information needs of the organization. The
techniques used in data relational modeling are:

• Data Normalization
• Entity Relationship Model
• Database Schema
• Data Dictionary

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. (You could list the eight golden rules mentioned in
lecture.)

4.3 Components available

GUI components available for implementation are noted.

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.

References

Common questions

Powered by AI

The software requirements specification (SRS) provides the necessary input for the software design specification (SDS). It details all data, functional, and behavioral requirements of the software, which guide the development of the design, focusing on how the system will be constructed .

Constraints impact software design and implementation by setting limitations and boundaries on features, performance, or processes that must be adhered to during development. These constraints can affect design decisions, resource allocation, and project timelines, ultimately influencing the feasibility and success of the software .

Techniques used in data relational modeling include data normalization, entity relationship models, database schemas, and data dictionaries. These techniques are important because they ensure a systematic organization of data, which supports accurate and efficient retrieval, integration, and manipulation of data within the software system .

The software design specification addresses testing issues by outlining a test strategy, specifying preliminary test cases, and identifying critical components that require focused testing. It emphasizes classes of tests such as black-box and white-box, expected software responses, performance bounds, and critical components essential for thorough testing preparation .

The ranking system for software requirements is structured into essential, desirable, and future requirements. Essential requirements are those the team is confident to complete, desirable ones are hoped to be completed but uncertain, and future requirements are those with strong doubts about completion. This ranking influences project planning by helping teams prioritize tasks and balance client desires with realistic development timelines .

Understanding the 'software context' and strategic issues is crucial because it positions the software within its business or product line environment, allowing for an appreciation of the 'big picture.' This understanding guides the design to align with broader organizational goals and constraints, making it a fundamental step in ensuring the software fulfills its intended purpose and strategic objectives .

A UML component diagram serves to pictorially represent the architecture of the software system. It illustrates the system structure by highlighting the components and their relationships, enabling developers to visualize the architecture and make informed decisions about component interactions and system integration .

The user interface design section emphasizes screen images, objects and actions, interface design rules, and available GUI components. It provides detailed descriptions of the interface from the user's perspective, identifies conventions and standards used, and notes components available for GUI implementation, facilitating user-friendly design .

The processing narrative (PSPEC) facilitates component design by detailing the responsibilities of each component. It provides a comprehensive description of the input, output, and interactions within the component, guiding developers in implementing each component's role in the system's architecture effectively .

Data design in a software design specification includes internal software data structures, global data structures, temporary data structures, and a database description. These components cover the arrangement of data that is passed among components, available to major parts of the architecture, created for temporary use, and needed to build the database .

SOFTWARE DESIGN SPECIFICATION TEMPLATE 
You should begin to develop the software design specification after 
completion of th
semester. The essential requirements, you are sure you can complete. 
The desirable requirements you hope to complete, but ar
3.0 Architectural and component-level design 
A description of the program architecture is presented. 
3.1 System Structure
3.2.3.4 Design constraints for component n 
3.2.3.5 Processing detail for each operation 
of component n 
3.2.3.5.1 Processin
A detailed description of user interface including screen images or 
prototype is presented. 
4.1.1 Screen images 
Representa
Special performance requirements are specified. 
6.4 Identification of critical components 
Those components that are critica

You might also like