Systems Requirements Specification (SRS)
Inspection Checklist


General Questions:


Inspection Checklist by Section:  General Questions  Front Matter  Introduction  System Overview  Functional Requirements  Data Requirements  Quality Requirements  Constraints  Appendices


General Questions

Check the system requirements specification for the following:

Specification-Wide Questions

The overall System Requirements Specification (SRS) shall be:

Every page of the SRS shall have headers and footers containing the following information:

Requirement-Specific Questions

Each individual textual requirement shall be:

Front Matter

Please answer the questions when inspecting the front matter of the system requirements specification:

Title Page

Question Yes No
Does the title page exist?    
Does the title page correctly state the application name?    
Does the title page correctly identify the document as a system requirements specification?    
Does the title page correctly document the correct version number?    
Does the title page correctly document the customer organization’s name and address?    
Does the title page correctly document the development organization’s name and address?    

Executive Summary

Question Yes No
Does the executive summary exist?    
Is the executive summary written at the correct level of abstraction?    
Is the executive summary well-written?    
Is the executive summary complete?    
Is the executive summary correct?    
Is the executive summary up-to-date?    

Revision History

Question Yes No
Does the revision history exist?    
Are any revision entries missing?    
Does every revision entry contain the correct revision date?    
Does every revision entry contain the correct version number?    
Does every revision entry contain an adequate description?    
Does every revision entry list the primary revision authors?    

Table of Contents

Question Yes No
Does the table of contents exist?    
Does the table of contents go down to the correct level?    
Are any section or paragraph entries missing?    
Does every entry contain the correct section or paragraph identifier?    
Does every entry contain the correct title?    
Does every entry contain the correct page number?    

Table of Figures

Question Yes No
Does the table of figures exist?    
Are any figure entries missing?    
Does every entry contain the correct figure identifier?    
Does every entry contain the correct figure caption?    
Does every entry contain the correct figure page number?    

Introduction

Please answer the questions when inspecting the introduction of the system requirements specification:

Definition

Question Yes No
Does paragraph 1.1 (Definition) of the introduction section exist?    
For the sake of traceability, is it properly identified?    
Is the definition of the specification correct?    
Does it reuse the standard boilerplate definition?    

Objectives

Question Yes No
Does paragraph 1.2 (Objectives) of the introduction section exist?    
For the sake of traceability, is it properly identified?    
Does it provide a list of the specification’s objectives?    
Is this list of objectives complete?    
Is this list of objectives correct?    
Does it reuse the standard boilerplate objectives?    

Intended Audiences

Question Yes No
Does paragraph 1.3 (Intended Audiences) of the introduction section exist?    
For the sake of traceability, is it properly identified?    
Does it provide a list of the specification’s intended audiences?    
Is this list of intended audiences complete in terms of roles?    
Is this list of intended audiences complete in terms of teams?    
Is this list of intended audiences complete in terms of organizations?    
Is this list of intended audiences correct?    
Does it reuse the standard boilerplate list of intended audiences?    

References

Question Yes No
Does paragraph 1.4 (References) of the introduction section exist?    
For the sake of traceability, is it properly identified?    
Does it provide a list of the specification’s references?    
Is this list of references complete in terms of customer organization doumentation?    
Is this list of references complete in terms of development organization doumentation?    
Is this list of references complete in terms of third-party doumentation?    
Is this list of references correct?    
Does it reuse the standard boilerplate list of development organization references?    

Document Overview

Question Yes No
Does paragraph 1.5 (Document Overview) of the introduction section exist?    
For the sake of traceability, is it properly identified?    
Does it describe each major section of the specification?    
Are these descriptions correct?    
Does it reuse the standard boilerplate section descriptions?    

System Overview

Please answer the following questions when inspecting the system overview section of the system requirements specification:

System Definition

Question Yes No
Does paragraph 2.1 (System Definition) of the system overivew section exist?    
For the sake of traceability, is it properly identified?    
Is the definition correct?    
Is the definition complete?    
Is the definition consistent with the application vision statement (AVS)?    
Are all of the domain terms used in the system definition defined in the glossary?    
Are these domain terms in the system definition used consistently with their glossary definitions?    

Business Goal

Question Yes No
Does paragraph 2.2 (Business Goal) of the system overivew section exist?    
For the sake of traceability, is it properly identified?    
Is the business goal of the system correct?    
Is the business goal complete?    
Is the business goal consistent with the application vision statement (AVS)?    
Is the business goal achievable?    
Is the business goal consistent with the system definition?    

Business Objectives

The “System Overview” section of the system requirements specification shall contain a subsection labeled “ 2.3 Business Objectives” that briefly lists the business objectives of the system, possibly organized by the external clients/users of the system that benefit for having the business objectives implemented.

System Context

The “System Overview” section of the system requirements specification shall contain a subsection labeled “ 2.4 Context” that documents the context of the application in terms of one or more context diagrams and brief descriptions of its externals in the following subsections.

Human Actors

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.1 Human Actors” that briefly lists and describes each human actor (role, team, and organization) with which the system interfaces.

External Data Repositories

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.2 External Data Repositories” that briefly lists and describes the external data repositories with which the system interfaces. For example, external data repositories could include existing files as well as legacy relational databases, extended relational databases, and object databases.

External Hardware

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.3 External Hardware” that briefly lists and describes the external hardware with which the system interfaces. For example, external hardware could include personal computerss, laptops, personal digital assistants (PDAs), smart mobile phones, smart cards, input devices such as bar code readers and point of sale devices, and output devices such as printers and displays.

External Networks

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.4 External Networks” that briefly lists and describes the external networks with which the system interfaces. For example, external networks could include the Internet, customer internets, and customer extranets.

External Software

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.5 External Software” that briefly lists and describes the external software applications and components with which the application interfaces.

External Systems

The “System Context” subsection of the system requirements specification shall contain a subsection labeled “ 2.4.6 External Systems” that briefly lists and describes the external systems with which the system interfaces.

Functional Requirements

The system requirements specification shall contain a section labeled “ 3 Functional Requirements” that specifies the system’s functional requirements in terms of a use case model documenting both essential use cases and associated use case paths. This section:

External Type W

For each type of external identified in the “System Context” subsection above, the “Operational Requirements” section of the system requirements specification shall contain a subsection labeled “ 3.W ExternalTypeName” that documents that external type:

External types that are not relevant should be so identified.

External X

For each external in the corresponding type, the “External Type W” subsection of the system requirements specification shall contain a subsection labeled “ 3.W.X ExternalName” that documents an individual external and all essential use cases primarily driven by or benefiting that external. Each such subsection shall include the following information:

Essential Use Case Y

For each use case primarily associated with the corresponding external, the “3.W.X ExternalName” subsection of the system requirements specification shall contain a subsection labeled “ 3.W.X.Y UseCaseName” that specifies an individual use case in terms of:

Essential Use Case Path Z

For each use case primarily associated with the corresponding actor, the “3.W.X.Y UseCasePathName” subsection of the system requirements specification shall contain a subsection labeled “ 3.W.X.Y.Z UseCasePathName” that specifies an individual essential basis use case path:

Data Requirements

The system requirements specification shall contain a section labeled “ 4 Data Requirements” that specifies the required system data components:

Data Component A

The “Information Requirements” section of the system requirements specification shall contain a subsection labeled “ 4.A DataComponentName” that specifies all informational requirements concerning a specific data component.

Data Type B

The “4.A DataComponentName” subsection of the system requirements specification shall contain a subsection labeled “ 4.A.B DataTypetName” that specifies all informational requirements concerning a specific data type within the data component.

Quality Requirements

The system requirements specification shall contain a section labeled “ 5 Quality Requirements” that specifies the required system quality factors that are not related to the specific operational requirements documented in the use case model.

Developer-Oriented Quality Requirements

The “Quality Requirements” section of the system requirements specification shall contain a subsection labeled “ 5.1 Developer-Oriented Quality Requirements” that specifies all quality factors primarily associated with the development of the system.

Installability Requirements

Question Yes No
Does paragraph 5.1.1 (Installability) of the quality requirements section exist?    
For the sake of traceability, is this paragraph uniquely identified?    
Is this paragraph complete?    
Are each of its requirements mandatory?    
Are each of its requirements correct?    
Are each of its requirements cohesive?    
Are each of its requirements consistent with other requirements and higher-level goals?    
Are each of its requirements unambiguous?    
Are each of its requirements not redundant with other requirements?    
Are each of its requirements feasible (i.e., implementable)?    
Are each of its requirements externally observable?    
Are each of its requirements validatable (e.g., testable)?    
If not, doe the requirement have an associated validation criteria?    
Are each of its requirements uniquely identified to support traceability?    
Are each of its requirements traced to its source?    
Are each of its requirements specified as a concise grammatically correct sentence?    
Are each of its requirements an accurate elaboration of an informal goal?    
Are each of its requirements prioritized?    
Are each of its requirements scheduled for implementation by a specific milestone or release?    

The “Developer-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.1 Installability” that specifies all requirements concerning the installability of the application.

Maintainability

The “Developer-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.2 Maintainability” that specifies all requirements concerning the maintainability of the application.

Correctability

The “Maintainability” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.2.1 Correctability” that specifies all requirements concerning the correctability of the application.

Extensibility

The “Maintainability” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.2.2 Extensibility” that specifies all requirements concerning the extensibility of the application.

Portability

The “Developer-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.3 Portability” that specifies all requirements concerning the portability of the application.

Reusability

The “Development-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.4 Reusability” that specifies all requirements concerning actual reuse on an application as well as future reuse of the application’s components and documents.

Scalability

The “Developer-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.5 Scalability” that specifies all requirements concerning the scalability of the application.

Testability

The “Developer-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.1.6 Testability” that specifies all requirements concerning the testability of the application.

User-Oriented Quality Requirements

The “Quality Requirements” section of the system requirements specification shall contain a subsection labeled “ 5.2 User-Oriented Quality Requirements” that specifies all quality requirements associated with the use of the application.

Accessibility

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.1 Accessability” that specifies all requirements concerning the accessability of the application.

Auditability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.2 Auditability” that specifies all requirements concerning the auditability of the application.

Branding

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.3 Branding” that specifies all requirements concerning the branding of the application.

Configurability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.4 Configurability” that specifies all requirements concerning the configurability of the application.

Variant Capabilities

The “Configurability” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.4.1 Variant Capabilities” that specifies all requirements concerning variant capabilities of the application.

Internationalization

The “Configurability” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.4.2 Internationalization” that specifies all requirements concerning the internationalization of the application.

Personalization

The “Configurability” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.4.3 Personalization” that specifies all requirements concerning the personalization of the application.

Correctness

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.5 Correctness” that specifies all requirements concerning the correctness of the application.

Latent Defect

The “Correctness” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.5.1 Latent Defects” that specifies all requirements concerning the allowable latent defects in the application.

Accuracy

The “Correctness” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.5.2 Accuracy” that specifies all requirements concerning the accuracy of the application.

Precision

The “Correctness” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.5.3 Precision” that specifies all requirements concerning the precision of the application.

Timeliness

The “Correctness” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.5.4 Timeliness” that specifies all requirements concerning the timeliness of the application.

Efficiency

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.6 Efficiency” that specifies all requirements concerning the efficiency of the application.

Interoperability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.7 Interoperability” that specifies all requirements concerning the interoperability of the application.

Operational Availability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.8 Operational Availability” that specifies all requirements concerning the operational availability of the application.

Performance

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.9 Performance” that specifies all requirements concerning the performance of the application.

Capacity

The “Performance” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.9.1 Capacity” that specifies all requirements concerning the capacity of the application.

Latency

The “Performance” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.9.2 Latency” that specifies all requirements concerning the latency of the application.

Response Time

The “Performance” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.9.3 Response Time” that specifies all requirements concerning the response time of the application.

Throughput

The “Performance” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.9.4 Throughput” that specifies all requirements concerning the throughput of the application.

Reliability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.10 Reliability” that specifies all requirements concerning the reliability of the application.

Robustness

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.11 Robustness” that specifies all requirements concerning the robustness of the application.

Safety

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12 Safety” that specifies all requirements concerning the safety of the application.

Security

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.13 Security” that specifies all requirements concerning the security of the application.

Identification

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.13.1 Identification” that specifies all requirements concerning identification by the application.

Authentication

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.13.2 Authentication” that specifies all requirements concerning authentication by the application.

Authorization

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.3 Authorization” that specifies all requirements concerning authorization by the application.

Immunity

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.4 Immunity” that specifies all requirements concerning the immunity of the application.

Integrity

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.5 Integrity” that specifies all requirements concerning the integrity of the application.

Intrusion Detection

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.6 Intrusion Detection” that specifies all requirements concerning intrusion detection by the application.

Nonrepudiation

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.7 Nonrepudiation” that specifies all requirements concerning nonrepudiation by the application.

Privacy

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.8 Privacy” that specifies all requirements concerning the privacy of the application.

Security Auditing

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.9 Security Auditing” that specifies all requirements concerning security auditing by the application.

System Maintenance Security

The “Security” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.12.10 System Maintenance Security” that specifies all requirements concerning the system maintenance security of the application.

Usability

The “User-Oriented Quality Requirements” subsection of the system requirements specification shall contain a subsection labeled “ 5.2.13 Usability” that specifies all requirements concerning the usability of the application.

Constraints

The system requirements specification shall contain a section labeled “ 6 Constraints” that specifies the system-level architecture, design, and implementation constraints on the application. It shall contain the following subsections:

Business Rules

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.1 Business Rules” that specifies all business rules that are relevant to the application.

Data and Content Constraints

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.2 Data and Content Constraints” that specifies all constraints (e.g., data existence, location, and availability) concerning data components and content within the application.

Hardware Constraints

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.3 Hardware Constraints” that specifies all constraints (e.g., required use of specific hardware vendors or commercial hardware components, incorporation of existing hardware or networks, size and weight restrictions, or power, cooling, or cost limitations) to which the application must comply.

Software Constraints

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.4 Software Constraints” that specifies all constraints (e.g., required use of specific vendors or commercial software components, databases, and programming languages) to which the application must comply.

Industry Standards

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.5 Industry Standards” that specifies all industry standards (e.g., OMG, 100% Pure Java, GUI standards, standardized XML DTDs) to which the application must comply.

Legal and Regulatory Constraints

The “Constraints” section of the system requirements specification shall contain a subsection labeled “ 6.6 Legal and Regulatory Constraints” that specifies all regulatory standards (e.g., DoD, government, IEEE, ISO) to which the application must comply.

Appendices

The system requirements specification shall contain a section labeled “ Appendices” that provides the following ancillary information:

Envisioned Future Enhancements

The appendices of the system requirements specification shall contain a subsection labeled “ A. Envisioned Future Enhancements” that documents all envisioned significant future enhancements to the application including both description and probable implementation release.

Open Issues

The appendices of the system requirements specification shall contain a subsection labeled “ B. Open Issues” that lists the major open issues in the system requirements specification to be resolved.

Major Things To Be Done

The appendices of the system requirements specification may contain a subsection labeled “ C. Major Things To Be Done” that lists the major things to be done in the system requirements specification before it is completed. As opposed to open issues, TBDs represent things that we know how to do but have not yet documented in the system requirements specification.

Assumptions

The appendices of the system requirements specification shall contain a subsection labeled “ D. Assumptions” that lists the assumptions that were made when performing requirements elicitation, reuse, and analysis. Where practical, these assumptions should list the requirements that they impact.