[CSUSB] >> [CompSci] >> [Dick Botting] >> [SRS] >> outline
[Index] || [Contents] || [Source] || [Copyright] Sat Apr 5 09:57:41 PST 2003

Contents (index)


    Outline for a Software Requirements Specification

    Give each requirement a label that can be used as a shorthand name and a traceable link like this

  1. (requirement_label): requirement.

    Refer to labels in the same document like this: label and/or link them to derived requirements and results like this

  2. (assumption_label) |- (derived_label): conclusion.

    Authors

    History

    Introduction

    Purpose

    Explain why the software is worth developing. For a CSci project explain the CSci involved. For a practical project explain the business value of the software.

    Scope

    Describe what will and will not be included.

    Definitions, Acronyms, Abbreviations

  3. Term::= definition.
  4. acronym::= "expansion".
  5. abbreviation::= "full form".
  6. MATHS::= See http://www.csci.csusb.edu/dick/maths/.

    References

    Make sure that anything that you take from another source is given a reference here.
  7. (ref): citation.

    Overview

    . . . . . . . . . ( end of section Introduction) <<Contents | Index>>

    General Description

    Product Perspective (Marketing Context)

    Product Functions

    User Characteristics

    General Constraints

  8. (constraint_name): constraint.

    Assumptions and Dependencies


  9. |- (assumption label): assumption.

    . . . . . . . . . ( end of section General Description) <<Contents | Index>>

    Functional Requirements

    Overview

    UseCase Diagrams

    Class Diagrams -- architecture

    . . . . . . . . . ( end of section Overview) <<Contents | Index>>

    UseCase 1

    Name

    Actors, pre-conditions, and post-conditions( Goals )

    Scenarios

    Relations to other UseCases

    Sequence or Collaboration Diagrams

    . . . . . . . . . ( end of section UseCase 1) <<Contents | Index>>

    other UseCases as appropriate

    Specification for class 1

    Name and type

    Attributes

    Operations/Functions/Responsibilities

    Relations to other Classes

    Constraints

    . . . . . . . . . ( end of section Specification for class 1) <<Contents | Index>>

    other classes as appropriate

    . . . . . . . . . ( end of section Functional Requirements) <<Contents | Index>>

    External Interface Requirements

    User Interfaces

    Graphical

    Command Lines

    Application Programmer

    Hardware Interfaces

    Communications Interfaces

    Software Interfaces

    . . . . . . . . . ( end of section External Interface Requirements) <<Contents | Index>>

    Performance Requirements

    Speed

    RAM

    Network Bandwidth

    Disk Space

    . . . . . . . . . ( end of section Performance Requirements) <<Contents | Index>>

    Design Constraints

    Standards Compliance

    Hardware Limitations

    Platform Limitations

    ... other as appropriate

    . . . . . . . . . ( end of section Design Constraints) <<Contents | Index>>

    Attributes

    Security

    Binary Compatibility

    Reliability

    Maintainability

    Portability

    Extensibility

    Reusability

    Application Affinity/Compatibility

    Resource Utilization

    Serviceability

    . . . . . . . . . ( end of section Attributes) <<Contents | Index>>

    . . . . . . . . . ( end of section Outline for a Typical Software Requirements Specification) <<Contents | Index>>


Formulae and Definitions in Alphabetical Order