A formal description of a system, or a component or module of a system, intended as a basis for further development. The expression of the specification may be in text in a natural language (e.g. English), in a specification language, which may be a formal mathematical language, and by the use of specification stages of a methodology that includes a diagrammatic technique. Characteristics of a good specification are that it should be unambiguous, complete, verifiable, consistent, modifiable, traceable, and usable after development.