Take note of the highlighted KEY words
You should be able to hand over your completed design to another person, who knows very little about your project, and from your design they should be able to implement your system exactly as you would want it to be implemented if you were doing it yourself
Purpose - For each stakeholder, take each objective and describe what will to be included
This will be a narrative explaining what you will need to do for each objective
Example- Breaking down the problem
First I will need to create a user interface for the admin and customer. These will need to be different.
For the main Admin Interface I will need to create a user interface to enable the users to access the rest of the program for hierarchical levels of access
I will need a file for the trips. This will deal with storing all the trips customers book and the admin stakeholder will have access to this.
The subsections of this file will need to be as follows:-
Adding new trip details
Validate trip details including having a unique number for each trip, only adding trips in advance of the date
Search for a specific trip details
Ability to change a trip details
Link to the driver details to see which driver is booked onto the trip
Link to the customer details to see which customer's are booked onto the trip
Output a list of all the trip details with the driver and customer included
For the main customer Interface I will need to create a user interface to enable the users to access the rest of the program for hierarchical levels of access
I will need a file for the customers. This will deal with storing all the customers details.
The subsections of this file will need to be as follows:-
Registration of new customer details
Validate customer details including having a unique number for each customer, ensuring there is an @ symbol for their email
Ability to login using a unique email and password
Ability to change customer details
Link to the trip details so customer can see what trips they have booked previously by date order
Purpose - This takes all the inputs you want to store and organises them into tables.
Complete a table for each entity i.e. an Entity being a customer, sale, stock, supplier, game etc. Each Entity is the Input you describe in your objectives.
Must include headings: FieldName, Description, Data type, Validation, Sample Data as well as primary keys.
State the Table Name and describe what is table is storing.
Example Data Dictionary
You do not need validation on every field (unlike the examples above)
You only need a couple of examples of each type of check spread over all your tables i.e. 2 or 3 presence checks are fine (the more validation you include, the more testing you will have to demonstrate).
You should name the validation check and then describe in more detail e.g. Range Check, must be between 1 and 5 points
Once you have decided upon your validation, you need to write a paragraph giving an overview of the validation you intend to carry out, using examples from above.
Types of validation checks you should include:
Presence Check - has data been entered?
Length Check - is the data entered the correct length?
List (or Lookup) Check - is the data entered in a specified list?
Range Check - is the data entered within a specified range?
Type Check - is the data entered of the correct data type?
Format Check - has the data been entered in the correct format?
Link to Help Guide with some examples of validation implemented in Visual Basic:
https://sites.google.com/porthcawlschool.co.uk/gcsecomputerscience/unit-3/how-to/validation
Purpose - Your data dictionary shows what data your will be storing. Above this table needs to go the heading Methods of Access and explain which method of access you will be using. Think about how it will be accessed, why this method and how this method will work exactly.
Methods of Access refers to how the file will be access when searching or saving a record to it. Look back at your File Processing notes from AS
Example
Purpose - This needs to be one line explaining roughly how many records there will be in the file
This could be a figure like 1000 for example if you know you are a small shop and will have a limited amount of customer which won't change dramatically over time. If you are a tournament and there are only a few tournaments a year then again roughly 100. You could also put (will change over time).
Here is a finished example of the Data Dictionary and what you need to write about it:
Purpose - An overview to show knowledge and understanding of the validation techniques and where they could be used in your chosen system.
Talk generally about why validation is needed in a system
Include 5 validation techniques - discuss their specific purpose and then link to your project and where they will be used
Purpose - Your Data Dictionary shows all your DATA INPUTS. You now have to show how they all link together and with what type of relationship.
In your AS Unit 2 exam, you created a Data Dictionary and made an Entity relationship model from it.
You are aiming for one to many relationships.
Purpose - In the objectives you wrote what you planned to store, process and output with your systems. Here you are showing what this will look like i.e. what all the forms you are going to create will include.
Firstly, each user interface (form) needs a sentence to explain what it it being used for (even if you think it's obvious, the examiner may not). Make sure you explain the purpose of each form and who will use it.
You will need to include comprehensive annotations to explain consistent use of colour, font, functionality behind buttons, use of text boxes, etc. You must make it clear which entities/fields are being used on each form. Make sure you have done this for everything including graphs or receipts you might print.
They can not be done in Visual Basic and copied across. They can be drawn or designed in other software.
Go from the beginning of your system and imagine what will be the first thing the user sees. Will this be a log in box? What if they are not a user yet? What if you have different stakeholders such as customers or staff? Will they see the same looking form or will colour etc change? How will the system be identifiable to the company i.e. log, house style?
Where to next, once they have logged in, Main menu? Again think of same comments.
Next take your inputs, what are you storing, how will they input this? How will you know if there is a record about them already? What else might they want/need to do?
Look at your processing and outputs. What forms need to be created here? What buttons are needed?
How do you ensure a consistent, coherent house style and overview?
What will you need to do to take into account a variety of users? Their ability? Colour Blindness? Drop down menus? Comments boxes? Customisation of interface?
A Good User Interface will provide a user with the following:-
Help for novice users
Short cuts for experts
Meaningful images
Consistent behaviour
Clear, helpful error messages
Uncluttered screens with effective use of colour and text that is easy to read.
Example
Must include:-
Features of VB you will use to create it and why
Data in any text boxes
Where will the data be saved to or come from?
Buttons link to procedures (i.e. your psuedocode
Examples of Outputs - Invoices
These are real invoices. You could design similar for your system if you have a sales system.
Look at the data on there. Think about what you will be storing - have you included everything?
Purpose - All processes in your proposed system must be described at this stage, using either pseudocode (more commonly used), or flowcharts. You can use either to show the logic of each of the planned processes to achieve each of the objectives in your system.
For each objective, give your pseudocode a name followed by a sentence to describe what it is doing. In your pseudocode, you should make no reference to text boxes, button, forms, or any other objects you might use on a Visual Basic form. This pseudocode should be written before you start writing your code; it should be very English-like, but structured using loops and If statements, as needed.
Good quality pseudocode: English like, structured statements, no reference to objects on forms in VB. Well explained at start.
Poor quality pseudocode: refers to buttons, poorly structured, no explanation of functionality at start.
Purpose - Your project design should clearly show which processes act upon which data (fields/tables). Use a table to list all fields of data in your database.
For each field, state the entity they belong to, and what process/procedure in your system acts upon them (i.e. which procedures create (store), read (retrieve), update and delete), for each field as follows:
Note: Your Process/Procedure name should be the name you gave it in your pseudocode.
Purpose - To show a diagrammatic overview of how your system fits together. Here are two examples.
It is important to think about how your system fits together at Design stage - your final coded solution will be more robust and complete as a result.