From a computer science standpoint, the first real task is the requirements document. The requirements define in detail what the software is supposed to do and are therefore the first step in the solution. Requirements are also referred to as ``specifications'' or ``specs.'' The formal requirements are an explicit set of written documents:
Pre- and post-conditions are logical statements that accompany the routines. The concept was originally developed by C. A. R. Hoare in the late 60s and early 70s and now called ``formal methods'' in the literature. The original concept was written
and is read this way
is a logical statement of what must be true before the execution of the statement
. If the execution of
terminates then the logical statement
must be true.
It is not possible to give a checklist of exactly what a given specification should have in it; knowing this comes mostly from experience. For class, though, some grading points to be aware of are given in Figure 1.
Table 1: Requirement Concepts to Consider.