Program specification
Appearance
![]() | It has been suggested that this article be merged into Functional specification. (Discuss) Proposed since March 2007. |
A program specification is the definition of what a computer program is expected to do. It can be informal, in which case it can be considered as a blueprint or user manual from a developer point of view, or formal, in which case it has a definite meaning defined in mathematical or programmatic terms. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed, although safety-critical software systems are often carefully specified prior to application development. Specifications are most important for external interfaces that must remain stable.
See also
- [[Formal methods]
- Formal verification
- Formal specification
- Program transformation
- Denotational semantics
- Operational semantics
- Axiomatic semantics
- Design by contract
- Abstract Machine Notation (AMN)
- Vienna Development Method (VDM)
- Z notation
- Software engineering
- Specification language
- Programming language specification
- Program refinement