Abstract
This paper discusses the importance of requirements documents and the reasons that the requirements documentation methods commonly applied in industrial software development are inadequate. The use of functional methods and tabular expressions for producing precise requirements documentation is explained and illustrated. This includes:
• An explanation of the two-variable model, common in mechanical and electrical engineering showing how it can be used to documenting computer system requirements.
• An explanation of the reason that the two variables method, though theoretically useful for software systems, is not practical for them.
• A description of a four-variable model that is practical for software requirements documentation.
• A way of structuring the requirements document to make the requirements easier to specify and review.
• A discussion of the concept of mode and an explanation of how modes and mode classes can be used in requirements documentation.
Finally we explain how a well-structured requirements document can be used to organize the software so that it will be easy to maintain and there will be clear traceability between code and requirements.