Software Requirements Specification

The Software Requirements Specification (SRS) shall document the performance and qualification requirements and external interfaces for a library application. Refer to applicable sections in the Life Cycle Architecture (LCA) document to avoid duplications. Any new or revised requirements are to be described in the SRS. All requirements must be listed in section 3.8 for requirements traceability.

1. SCOPE

1.1 Identification

Provide the title, and abbreviation (if applicable) of the application to which this SRS applies.

1.2 System Overview

State the purpose of the application to which this SRS applies.

1.3 Document Overview

Summarize the purpose and contents of this document.

2. APPLICABLE DOCUMENTS

Reference the higher-level LCO and LCA specifications. Include all documents referenced in this SRS.

3. REQUIREMENTS

3.1 Application External Interface Requirements

Identify the external interfaces of the application. Provide an External Interface Diagram to aid in this description. Identify each external interface by name and provide a brief description of each interface. Reference any existing documentation for each interface.

3.1.n (Interface n Name)

Identify the interface by name and state its purpose. In the following subparagraphs specify the requirements for the interface and for the data to be transmitted across the interface.

3.1.n.1 Interface Requirements

Specify the following as applicable. If the requirements do not involve the implementation details of communication (e.g. such as the transparent use of TCPIP), mark the appropriate section(s) "not applicable".:

a. Whether the interfacing applications are to execute concurrently or sequentially. If concurrently, specify the method of inter-application synchronization to be used.

b. The communication protocol to be used for the interface. Include information about timing, how often the signal occurs, the expected response to each signal, and the maximum time for responding to the signal.

c. The priority level of the interface and each signal.

3.1.n.2 Data Requirements

Describe each data element transmitted across the interface

as follows:

a. Identifier for the data element

b. Source and destination(s) of the data

c. Units of measure

d. Range of values allowed

e. Accuracy, precision, and resolution required.

3.2 Application Capability Requirements

In the following sub-paragraphs, identify each of the capability requirements that the application must satisfy. If the system (of which the application is a part) can exist in various states or modes, identify each state and mode and correlate each application capability to those states and modes (using a table if convenient).

3.2.n (Capability n Name)

Identify the capability by name. State the purpose of the capability and its performance in measurable terms. Identify the allocated or derived requirements that the capability satisfies or partially satisfies. If the capability can be more clearly specified by decomposing it into constituent capabilities, provide the requirements for each constituent capability as one or more sub-paragraphs.

3.2.n.1 Inputs

Identify and state the purpose of each input associated with the capability. Identify the source of the input.

3.2.n.2 Processing

Describe the operations to be performed on the inputs. Include:

a. Sequence and timing of events

b. Error detection and recovery

c. Algorithms and mathematical equations to be employed

3.2.n.3 Outputs

Identify and state the purpose of each output associated with the capability. Identify the destination for the output.

3.3 Application Internal Interfaces

Identify the interfaces between the capabilities. For each interface provide its name, identifier, and a brief description. Provide data flow diagrams (DFDs) depicting data flow and control flow between the capabilities.

3.4 Application Data Element Requirements

For each data element internal to the application, provide the following:

a. An identifier

b. Brief description

c. Units of measure

d. Limit/range of values

e. Accuracy or precision

For data elements of internal interfaces, provide:

f. Name and identifier of interface

g. Source (capability) of the data element by name and identifier

h. Destination (capability) for the data element by name and identifier

3.5 Adaptation Requirements

3.5.1 Installation-Dependent Data

Identify the site-unique data for the application. Identify the capabilities that use these data.

3.5.2 Operational Parameters

Identify parameters that may vary based open operational needs. Examples are performance characteristics, etc.

3.6 Sizing and Timing Requirements

Specify the amount of memory and processing time allocated to the application.

3.7 Design Constraints

Specify any other requirements that constrain the application design, such as the use of a particular processing configuration, etc.

3.8 Requirements Traceability

Correlate the requirements in this SRS to the requirements in the LCO and LCA documents. The requirements list will be used in other project documentation.

4. NOTES

Include any general information that aids in the understanding of the document. All acronyms, abbreviations, and their meaning as used in this document should be listed.

5. APPENDIXES

Use appendixes for information that does not fit in the body of the document.