Software Specification Document

Quality Assurance Checklist


General QA Criteria

Content / Format

The document should conform to a standardized format such as IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications.
 

Correctness

The document must be technically correct. The content of each section must fulfill the purpose for which it is intended. All diagrams must follow the appropriate notation.

Writing

The document must be well written.  The writing must meet the standards of the Cal Poly Writing Proficiency Exam level 4 or greater. If you have questions about writing style, refer to a standard style guide such as:  MLA Handbook for Writers of Research Papers.
 


Functional Requirements

This section is the core of the document.  It specifies exactly what functionality the system will provide.

Clarity
It is essential that the requirements be clear to all readers so as to prevent ambiguity and misinterpretation.

 

Completeness
A correct, complete set of requirements is one that correctly and completely states the desires and needs of the sponsor. If the requirements are incorrect, the software may meet the requirements as stated, but will not do what the sponsor wants it to do. If the requirements are incomplete, the software may do only part of what the sponsor hoped it would do.

Consistency
Consistency is obtained if the requirements do not contradict each other. Inconsistency results when one requirement contradicts another.

Traceability and Modifiability
Ultimately every aspect of the finished system should be able to be traced back to the requirements.  Therefore this document should be organized to facilitate tracing the requirements into subsequent work products.

Verifiability
The requirements must be verifiable in two ways: do the requirements satisfy the sponsor's needs, and does the system satisfy the requirements? In the first case, the requirements must be compared to the sponsor's desires and needs. Do the requirements correctly and completely specify the sponsor's desires and needs? In the second case, once the system has been developed, it must be compared to the requirements. Does the system meet the requirements as they are stated?


Nonfunctional Requirements (Quality Attributes)

This section describes any attributes required of the system that don't provide a function or capability, but some other desired attribute or characteristic. Another way of saying it, is that this section specifies how much quality is required.

These requirements are subject to the same criteria as the previous section.  Special attention must be given to stating the requirements in a manner that is objective and quantifiable; there must be some measurable way to assess whether the requirement has been met.

Consult this online reference as well as your textbook.


Appendices

The appendices contain technical material that is more relevant to the developer than the customer.  Included here are any work products created during the analysis process.

Data Dictionary

Report Formats

Are all the report formats specified?

Analysis Model

Do all charts and diagrams follow the corresponding notation?

Engineering Analysis (Tradeoffs)