AVCE Information and Communication Technology/Programming/Program specification

A program specification is a break-down of what is required of a new program. Writing a specification is the first stage of any development process. A good specification will leave no room for doubt about exactly what is required from a program. It will be specific and allow a finish product to be compared to it to determine whether the project has been successful.

User Needs
All computer programs are created with an end-user in mind; the person who will eventually use the program being written on a regular basis. In order to write a specification for a new program a conversation with the end-user is required to determine:
 * What system, if any, is currently in-place.
 * What the program outputs will be.
 * What form the output needs to take.
 * What processing is required to generate the necessary output
 * What inputs are required.
 * Where those inputs are going to come from.
 * What user-actions are possible or desirable.

Writing a Specification
When writing a program specification you need to be able to accurately and precisely define: