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.
Provide the title, and abbreviation (if applicable) of the application to which this SRS applies.
State the purpose of the application to which this SRS applies.
Summarize the purpose and contents of this document.
Reference the higher-level LCO and LCA specifications. Include all documents referenced in this SRS.
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.
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.
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.
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.
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).
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.
Identify and state the purpose of each input associated with the capability. Identify the source of the input.
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
Identify and state the purpose of each output associated with the capability. Identify the destination for the output.
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.
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
Identify the site-unique data for the application. Identify the capabilities that use these data.
Identify parameters that may vary based open operational needs. Examples are performance characteristics, etc.
Specify the amount of memory and processing time allocated to the application.
Specify any other requirements that constrain the application design, such as the use of a particular processing configuration, etc.
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.
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.
Use appendixes for information that does not fit in the body of the document.