The evolution of specification techniques
Anthony I. Wasserman · 1977
The specifications for a software system may be thought of as a description of what a software system does, as opposed to how it does it. Specifications have typicaly been written in a natural language and provide an external, non-procedural elaboration of the capabilities of a system. A specification may contain user documentation, describing how the system is to be used by its eventual users, and may contain information on how the system is to be integrated with other systems in an execution environment. Alternatively, the specification provides a description of a system which fulfills a set of requirements.