The Design Specification should be a complete and precise statement of what the program must do. Although using spoken language can produce reasonably clear specifications, a truly precise specification must be written in a truly precise language such as Z(Jacky 1996).