Inspection Checklist by Section: General Questions Front Matter Introduction System Overview Functional Requirements Data Requirements Quality Requirements Constraints Appendices
Check the system requirements specification for the following:
The overall System Requirements Specification (SRS) shall be:
Every page of the SRS shall have headers and footers containing the following information:
Each individual textual requirement shall be:
Please answer the questions when inspecting the front matter of the system requirements specification:
| 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? |
| 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? |
| 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? |
| 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? |
| 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? |
Please answer the questions when inspecting the introduction of the system requirements specification:
| 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? |
| 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? |
| 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? |
| 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? |
| 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? |
Please answer the following questions when inspecting the system overview section of the system requirements specification:
| 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? |
| 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? |
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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:
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:
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:
The system requirements specification shall contain a section labeled “ 4 Data Requirements” that specifies the required system data components:
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.
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.
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.
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.
| 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
The system requirements specification shall contain a section labeled “ Appendices” that provides the following ancillary information:
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.
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.
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.
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.