For our example, a simple data dictionary would contain:
|Name||Data type||Validation||Example data||Notes|
|validateName||Function||N/A||N/A||Function to capture, validate and return name|
|name||String||<= & not Null||'John'||Name variable to be used in NAME function|
|valid||Boolean||N/A||TRUE, FALSE||A flag variable to start and stop validation loop|
|a||Integer||>0 AND <=10||1||variable to store random number|
|b||Integer||>0 AND <=10||1||variable to store random number|
|Data||Array||Array structure to hold the name and score||["John",8]||Array will hold data to be written to the text file|
You should create appropriate navigation diagrams showing how the product will flow, or how interfaces can be accessed throughout the software. You can use an activity diagram to represent how your product will flow.
You will need to design plans for the user interface, be they form-based, text-based or Graphical User Interfaces. It is important to show how these will look, so you should include visual mock-ups of the user interface.
You should use pseudocode to demonstrate how user input will be validated to ensure that the data entered by a user is acceptable.
For example, an algorithm to validate the length of the user name could be represented as:
1 LENGTH = 51 2 WHILE LENGTH >= 51: 3 INPUT NAME 4 LENGTH =LENGTH(NAME) 5 PRINT NAME ACCEPTED
When designing a solution, it is important that you test algorithms before implementation.
Trace tables can be created to test algorithms. A trace table follows the state of the variables during each line of execution in the program.
A trace table for the text validation algorithm would look like:
|Line Number||Value of LENGTH||NAME||OUTPUT|
|4||206||James Dr No From Russia with Love Goldfinger Thunderball You Only Live Twice|
|2||206||James Dr No From Russia with Love Goldfinger Thunderball You Only Live Twice|
|3||206||James Dr No From Russia with Love Goldfinger Thunderball You Only Live Twice||INPUT NAME|