The Structure of a Requirements Specification (part 1)
The Requirements Specification is written as a well-formed XML document, with a document type declaration (DTD) that describes the structure of the document. The DTD contains mark-up declarations the XML document needs to comply with. The mark-up declaration tells the application how the content should be analyzed, which type of analysis rules should be applied to which contents. A plain text paragraph is analyzed differently from a requirement text.
A simplified description of a Requirements Specification's structure is given below. A complete description is given by the DTD file. All Specifications need to follow this structure, or the XML document is not considered to be well-formed.
See more on the Requirements Specification structure.
XML Declaration
The XML declaration contains information about the used XML version, the encoding of the document, and a reference to the DTD. All documents need to comply with the UTF-8 character-encoding standard.
Specification Information
The Specification information section contains information about the document.
- A Specification Title
- A Specification Subtitle (optional)
- The name or names of the Authors
- The language the specification is written in (must be English)
- A specification identity or document number
- A classification (optional)
- A copyright statement (optional)
- The creation date
- A revision history (optional)
- The used DTD-version
- A Table of Contents (always empty)
Scope chapter
The Scope chapter describes the scope and limitations of the product (system). Project specific information should not be included in this chapter, only product information. This chapter contains references to business processes and business models, since scope and limitations seldom are technical only. This chapter typically state that all product requirements are documented in this Specification, the document has the same life cycle as the product, and the requirements are the foundation for all formal testing and verification activities. This chapter can also describe conventions used in the Specification, and how requirements are tagged with an identity.
- A chapter heading
- Zero or more paragraphs
- One or more plain text chapters
- One chapter that describes definitions
- One chapter that describes actors
- Zero or more plain text chapters
General chapter
The General chapter contains a high level description from a product perspective. This is where the reader is introduced to the product for the first time. Don't assume the reader knows about the product or its services. Describe on a high level the different services provided by the product. Describe the typical product Users. There may be different categories of Users, with different needs and backgrounds. Describe general constraints of the system. The system may be limited in handling input, or it may not handle foreign characters or language. A physical product may have weight and space constraints. Portability issues can also be described here. Describe all other assumptions and dependencies the product has.
- A chapter heading
- Zero or more paragraphs
- Zero or more plain text chapters
System chapter
The System chapter describes the system requirements for the product. There may be both functional and non-functional requirements at the system level. Typically, there could be requirements on design constraints and external interfaces.
- A chapter heading
- Zero or more paragraphs
- A rationale (optional)
- One or more requirements (optional)
- Zero or more requirements chapters
Services chapter
The Services chapter describes requirements on provided product services. Service requirements can be both functional and non-functional. System behavior is mainly described in this chapter.
- A chapter heading
- Zero or more paragraphs
- A rationale (optional)
- One or more requirements (optional)
- Zero or more requirements chapters
Abbreviations chapter (optional)
The chapter lists all abbreviations used in the Specification. They should be listed in alphabetical order.
- A chapter heading
- One or more abbreviations
Zero or more Appendixes
The Appendix chapter contains bulky information that is collected conveniently in one chapter.
- A chapter heading
- Zero or more paragraphs
- Zero or more plain text chapters
References
The chapter lists all references to other publications.
- A chapter heading
- Zero or more references