This section should provide a high-level narration of the program(s) purpose. The requirements should be listed, the scope defined and the intended usage.
PROCESSING LOGIC
The processing should be defined by summarizing the control and data flow within the main program. Techniques of process specification include Program Design Language, Pseudo Code and Flow Charts.
The main program flow must be supplemented with the flow of subroutines/methods/functions that are called from the main program.
Any specific algorithms to be used should be stated or referenced.
DATA (INPUT/OUTPUT)
The logical and physical data structure of files should be defined in detail. Data structure definitions must include the:
- description of each element, e.g. name, type, dimension;
- relationships between the elements, i.e. the structure and source;
- range of possible values of each element;
- initial values of each element.
COMPONENTS (SOURCE CODE NAMES, CLASSES, METHODS)
Describe the software components (names or classes) and purpose that will be used.
Include UML class diagram showing the properties and methods of the class.
Describe the properties of the class and any constraints upon their value.
Indicate where the algorithms defined in processing logic are implemented.
TESTING
Present one or more named scenarios including the input data, expected output and the success criteria desired that will be utilized to test the application. The testing plan should be repeatable so discuss any ‘clean up’ that might be required to do so.
Example Scenario 1 – divide by zero test
Steps to test
Enter zero in the divisor.
Expected reaction
Expected results is a message saying ‘Zero is not a valid input. Please try
again’.