A secondary school holds many different exams around the school year, students who attend the exams need to know where, when and what the exams are, and also the particular seat assigned to them - Create a systems update for this.
TABLE OF CONTENTS
INTRODUCTION 4
Background 4
The Current System 4
REQUIREMENTS OF THE NEW SYSTEM 5
REQUIREMENTS OF THE NEW SYSTEM 6
General objectives 6
Specific Objectives - Quantitative 6
Specific Objectives - Qualitative 6
CONSTRAINTS 7
Hardware 7
Software 7
User's IT skills and knowledge 7
SPECIFICATION 8
SPECIFICATION 9
Requirements Specification 9
INPUT, OUTPUT AND PROCESSING NEEDS 9
Input 9
Processes 10
Outputs 11
DESIGN 12
Tables 12
Forms 15
CANDIDATE INFORMATION 15
Find a candidate 15
Find a Candidates ID number 16
Find Details about a candidate 16
Find a list of exams a candidate has been entered for 16
View a list of all candidates on this system 16
Enter a new candidate 16
EXAM DETAILS 17
Find Exams Being Taken on a particular Date 17
Find Exams Being Taken by a Particular Candidate 17
Enter a new exam 17
View a List of all Exams 17
EXAM HANDOUT SHEETS 17
Print sheet for all Candidates 18
Print Sheet for Specific Candidate 18
Queries 19
Relationships 19
IMPLEMENTATION 19
26/02/03 - 22
24
CREATED: EXAMS TABLE "TBLEXAMS"; 24
Design 24
LAYOUT 24
24
Design 25
Layout 26
FIND CANDIDATE/DETAILS 32
TESTING 35
Introduction
Background
A secondary school holds many different exams around the school year, students who attend the exams need to know where, when and what the exams are, and also the particular seat assigned to them. There are about 200-300 end user's (candidates), and one administrator who inputs all candidate details, exam courses available in the school, and which candidates are taking which courses. The administrator then has to supply each candidate with their candidate number, a list of all exam courses they are taking, the location of the exam and which seat has been assigned to them.
The Current System
The current system is an A3 page of a plan of the seating arrangement, with a candidate number assigned to each separate seat. This plan is placed outside the exam room so that each student can find out their seating number. The candidates are supplied with a sheet that tells them their candidate number, what exams they are taking, the date the exam is being held, the location of the exam, and the seat number that has been assigned for each exam.
There is no current way (or the current system is too disorganised) of finding out any essential information if the sheet is lost, forgotten, or never received. The system relies too much on students to remember which room has been allocated, which is hard during times of stress - such as at the start of an exam. The present system is non-computerised. This has many disadvantages; for one, the system cannot be searched for data, seating position can only be found if the candidate knows their Candidate Number.
Requirements of the new system
General objectives
The new system is not designed to replace to the old system, it is designed to improve it and add new areas which were previously unavailable without computers. The new system must be able to create the exam sheets handed out to candidates, and also will enable queries. Queries will be run to find out such things as
* The candidate seating position by entering student details or candidate number
* The candidate's details by entering the candidate number or candidate seat
* Who is sat in a particular seat by entering the seat number
* Where the exam is being held, and what subject the exam is testing
This information will also be in the form of an email, mailed directly to the students a week prior to the exam, as well as being available on the new system, (set up on a computer near the main hall, or some other accessible area) before the exam starts if the candidate forgets.
Students need to know where the exam is being held, and where they are seated (when the papers are collected, they need to be organised into candidate numbers, so seating students correctly stops unnecessary sorting at the end).
Specific Objectives - Quantitative
* The system must work with speed; speed is essential because if a candidate is late to an exam, and does not know any of the essential details, the problem must be rectified with speed so the candidate can start his/her exam as soon as possible. Details must be available in less than 30 seconds.
* New candidate details do not need to be entered so quickly, as this can be done at any time. Details to be entered within a minute and a half.
* The exam sheets must be created automatically, because typing out each one will take to much time and effort.
* The emails to be sent out must be automatically created to save time and effort.
Specific Objectives - Qualitative
* The system must be relatively user-friendly and simple to operate, so confusion is not an issue.
* User-friendliness is important, because an exam room is a stressful environment, so the less stress added to the situation the better.
* This is also a reason for it to be simple to use, but also, if the system must deliver the information as fast as possible, the user may be trying to access the information quickly, and therefore possible errors must be kept to a minimum.
* The forms and mail merge can be slightly more complex, because only the administrator is to use them.
Constraints
Hardware
I will be designing the system on computer with a 1GHz CPU, with 128Mb ram and 15" Monitor, keyboard and mouse.
When the system is completed; the hardware can be used on a computer with the minimum of a 300 MHz CPU, 128Mb of Ram, a 17" Monitor (so information is visible easily), keyboard and mouse.
Software
The software to be used is MS access, a database program. This program is the most appropriate, because of its following characteristics:
* Queries - the candidates name and/or other credentials can be used to find out essential candidate & exam information.
* Forms - an easy-to-use interface can be created by which the information can be input, accessed and manipulated.
* Reports - a list of all candidates can be made for use in a mail merge to inform students of when the exam is to take place.
* Tables - the candidate information can be entered in and stored easily and in a good layout.
* Relationships - Tables can be linked to give a better layout of candidate information.
The computer must also use a compatible OS for MS Access such as Microsoft Windows 98 or NT.
User's IT skills and knowledge
Because the system is designed to be simple, the ...
This is a preview of the whole essay
* Reports - a list of all candidates can be made for use in a mail merge to inform students of when the exam is to take place.
* Tables - the candidate information can be entered in and stored easily and in a good layout.
* Relationships - Tables can be linked to give a better layout of candidate information.
The computer must also use a compatible OS for MS Access such as Microsoft Windows 98 or NT.
User's IT skills and knowledge
Because the system is designed to be simple, the end-user's IT skills can be at practically any level. All the end user needs to know is how the system runs through; what results can be expected when the forms are used to find out information etc. and how to start up the program in preparation for the exam. Knowing how to use the mail merge system may be an issue, but if possible the system will be automated, so the end-user needs only to have the computer and system up & running at the time the e-mails are to be sent out.
Specification
Requirements Specification
The new system must:
* Create a report which includes all exam details being taken by each individual candidate, for the exam sheet which is to be handed out
* Run queries which allow the candidate to find out;
* The candidates exams by entering student details or candidate number
* The candidate's details by entering the candidate number or candidate seat
* Which candidates are taking a particular exam
* Where the exam is being held, and what subject the exam is testing
* Present the information in a form which is easy to read, and has the school name and logo on it
* Have a list of all candidates, exams and exam rooms
Input, Output and Processing needs
In this area I shall be talking about how the new system will be used in terms of inputs, processing, and a final outcome.
Input
Input
Explanation
Example
The candidate's details must be entered to assign them a candidate number
When a candidate needs to be assigned an ID number, they type in their details into a form, and the system automatically assigns them the next available number.
Candidate enters "Bob Hotchkins", the system creates an autonumber candidate ID as "7184"
The candidate's details must be entered to find out the candidates number
When a candidate needs to find out their Candidate ID Number, they enter their name in a search query, the system then searches the list of names, and the system displays the candidates ID number
Candidate enters the name "Bob Hotchkins" in a search field, the system then searches the list of names, and displays the number "7184"
The candidate's details must be entered to find out the details about exams they are taking
When a candidate needs to find out what exams they are taking, they enter their details in a search query, the system then searches the list of candidates' details, and displays the exams for which that candidate has been entered for.
Candidate enters "Bob Hotchkins" in a search field, the system searches for the Candidate, and displays the information "English, Science, Geography & German" with dates, locations and seat number assigned for each exam.
Input
Explanation
Example
The candidates' details must be entered so that they can be assigned their various exams & the reports can be handed out to the correct people.
The candidate report will contain a list of all the exam which the candidate is taking, the candidate then has to keep this piece of paper & take it to all their exams for reference.
A piece of paper which has the candidates details at the top, and then a list of exams with various details
The exam details must be entered so that an exam paper number can be assigned
All the exams that the school currently holds need to be entered, so that candidates can be linked with the exams they are taking. An autonumber can then be assigned as a primary key for each exam paper.
E.g. the exam name "English GCSE Intermediate" is entered, and the autonumber "14" is assigned
Processes
Process
Explanation
Example
Candidates must be sorted by their Candidate Numbers in descending order, so they are organised for printing out.
A list of all candidates taking exams must be kept for future reference
In a report, the candidate ID is coupled with his/her name, address & telephone number
.
A form, which contains all the candidates' information, must be created. So that if a new candidate needs to be added, all information can be added easily with no confusion under all the different headings.
The form has all the headings such as "name" "address" and "telephone number" then type in all the details, and a candidate number is automatically created.
Exam details must be presented for entering new exams
As above, but for exams
The form has headings such as "exam subject" and "exam board", the information is entered in, and an exam autonumber is created for future reference.
The exams that the candidates have been entered for must be assigned to each candidate
When a candidate is entered into an exam, they need to know when the exam is, and where it is being taken.
E.g. "candidateID" is associated with "exam 1" "exam 2" exam 3" and "exam 4"
Outputs
Output
Explanation
Example
Candidates Exam Timetable must be presented so that if errors have been made it can be fixed easily. E.g. a candidate has been entered for the wrong exam
All details of the candidate, e.g. exams entered into, seat number for that particular exam, and date of that exam, must be presented in a way that is easily read, and if that candidate has been entered for a wrong exam, the correct exam can be selected instead.
Candidate 7061 has been entered for GCSE French, but is infact taking GCSE German. On the exam subject list, "German" is selected in the field that says "French".
Candidate 7061 has been entered for GNVQ ICT, but is infact taking GCSE ICT. In the exam type field, "GNVQ" is selected where it says "GCSE"
Candidate 7812 has been entered for Intermediate GCSE Maths, but is infact taking Higher GCSE Maths. In the exam level field, where it says "intermediate", "higher" is selected instead.
Candidate exam sheets must be created for handing out to candidates
A report must be made in access, which lists which exams each candidate is taking. This must then be printed out and handed to each individual candidate.
E.g. the report has the Candidate Name, & CandidateID at the top of the page, with a tabulated list of the exams, dates, and seat numbers assigned underneath.
Design
Tables
Table Design - Exam Paper Details
Database File
mainproject.mdb
Table Name
tblexampapers
(Primary/Composite) Key Field
ExamNumber
Related to:
Table Name
Foreign Key
Table Name
Foreign Key
tblExams
ExamNumber
tblExams
ExamDate
General table description:
Field Name
R
I
Data Type
Length
Input Mask/Validation Rule
Default Value
Description
Typical Data
ExamNumber
Autonumber
Long Integer
The primary key for looking up in the exams table
ExamPaper
Lookup Text
20
The subject of the paper being held
ExamLevel
Lookup Text
20
The difficulty level of the exam paper
ExamDate
Date/Time
5
2 numbers, then 2 numbers, then 2 numbers
**/**/**
The date at which an exam is being held
26/07/03
ExamRoom
Lookup Text
20
The location of the exam
Key:
R=Required
Y
(Yes)
N
(No)
I=Indexed
Not Indexed
X
No Duplicates
?
Duplicates OK
Table Design - Candidate Details
Database File
mainproject.mdb
Table Name
tblcandidatedetails
(Primary/Composite) Key Field
CandidateNumber
Related to:
Table Name
Foreign Key
Table Name
Foreign Key
tblexams
CandidateNumber
General table description: This table contains all the information stored about the various candidates taking exams within the school
Field Name
R
I
Data Type
Length
Input Mask/Validation Rule
Default Value
Description
Typical Data
CandidateNumber
Y
X
AutoNumber
4
4 digit number beginning with 7
7***
This is the candidateID number used to identify an individual candidate
7061
CandidateFirstName
Y
Text
20
The Candidates first name
Bob
CandidateSurname
Y
X
Text
20
The Candidates surname
Hotchkins
CandidateTelephone
Y
X
Number
3
5 digits in brackets followed by 6 digits
(*****)******
The Candidates Telephone Number
(01761)453541
Key:
R=Required
Y
(Yes)
N
(No)
I=Indexed
Not Indexed
X
No Duplicates
?
Duplicates OK
Table Design - Exams
Database File
mainproject.mdb
Table Name
tblexams
Related to:
Table Name
Foreign Key
Table Name
Foreign Key
General table description:
Field Name
R
I
Data Type
Length
Input Mask/Validation Rule
Default Value
Description
Typical Data
ExamPaper
Y
?
Lookup Text
20
The foreign looking up in the ExamDetails table
2
CandidateID
Y
?
Lookup Text
20
The foreign looking up in the CandidateDetails table
7061
Date
Y
?
Date/Time
20
2 numbers, then 2 numbers, then 2 numbers
**/**/**
The date at which an exam is being held
26/07/03
Key:
R=Required
Y
(Yes)
N
(No)
I=Indexed
Not Indexed
X
No Duplicates
?
Duplicates OK
Forms
The first page you will see will be this:
From this page you can navigate to 2 sub-menus:
Candidate Information
The first sub menu will hold information about all the candidates currently entered into the system, and the ability to enter new candidates. From this sub menu, you can navigate to 2 places:
Find a candidate
This button will bring up a sub menu with the following options:
Find a Candidates ID number
This button will bring up a search query, which will ask you to enter the Candidates surname. The query will then search the database and display all results found. No other information is asked for because this part of the system needs to work quickly; entering a surname and locating the correct candidateID should be available in 15 seconds from starting the query.
Find Details about a candidate
This button will bring up a search query, and will prompt for the input of a CandidateID number. If the candidateID is found, then the query will display all information excluding exam details relevant to that candidate. If no record is found from the candidate number, then the message "error, no information is available on that candidate, please check you have entered the number correctly" shall be displayed.
Find a list of exams a candidate has been entered for
This button will bring up a search query as before, but this time the only information displayed will be that of all the exams that candidate has been entered for.
View a list of all candidates on this system
This button will bring up a report containing all candidates' information excluding that of their exam details.
Enter a new candidate
This button will bring up a form with all the various relevant sub-headings in it for details on the candidate, excluding exam details. The new information about the candidate can then be typed in.
The candidate information ID sub-menu will be divided into more sub-menus than the exam sub-menu, because this is the part of the system which will need to be accessed in a hurry. Therefore dividing it into more options will allow easier navigation to the desired operation.
Exam Details
From exam details, the following menu will be displayed:
Find Exams Being Taken on a particular Date
This button will bring up a query search, and ask for a particular date. The format of this criteria is an issue, as the same date could be entered as Thursday 18th November 2002, or 18/11/2002 or 18-11-02 or many other variations. Therefore the form that contains this search query must specify which format to use, and tell the user when an incorrect format has been used. I will decide on the correct format during my implementation.
Find Exams Being Taken by a Particular Candidate
This will work in the same way as the "Find a list of exams a candidate has been entered for" form in the Candidates information sub-menu. The reason I have entered it twice is because it will be less stressful if someone is looking for this option, but navigates to the wrong sub-menu.
Enter a new exam
Like the "enter a new candidate" field, but has field ent
ries for all the different exam details.
View a List of all Exams
This button will bring up a report containing all the exams' details.
This part of the system need not work with so much speed, as the main exam administrator operates it in preparation for an exam.
Exam Handout Sheets
This button will bring up the following sub-menu:
Print sheet for all Candidates
This button will print a previously created form looking like this:
This form will contain all information relevant to the candidate which is handed out prior to exams; this sheet is then taken to every exam so the candidate knows where they are seated, the location of the exam etc. this form is not editable, it is a template which is automatically filled in by the system for each individual candidate for printing.
Print Sheet for Specific Candidate
This button will print the same sheet, but for only one candidate; this is useful for candidates who lose their exam sheets or forget them on the day of the exam. The button will bring up a sub-form looking like this:
Queries
* A query will need to be run that looks up exam details against candidate details, e.g. you enter the candidates name, and it looks up what exams that particular candidate is taking.
Relationships
Implementation
The Software (MS Access)
Creating a table
Creating a query
Creating a form
Creating a report
To start off, I will need to create the tables from which the forms will run. The forms are the only area which the end user (the candidates) will see. Two main tables; "tblCandidateDetails" which contains all information stored about the candidate, and "tblExamDetails" which contains all information stored about the exams, will be linked by a 3rd table, which assigns the candidates to their exams:
26/02/03 -
Created table: Candidate Details
Created Table: Exam Details
Created: Exams Table "tblExams";
Design
Layout
The relationships to this table are as follows:
This will allow the table "tblExams" to be filled in automatically when selecting the candidate's exams from the CandidateDetails page:
Edited Candidate Details Table;
Removed unnecessary fields "Address1" and "Address2" so there is less information to enter (addresses are not important, because nothing will be sent home. Telephone numbers will be kept though, for use in situations such as the candidate did not turn up at school on the day of the exam). CandidateSurname split into 2 fields; "CandidateSurname" & "CandidateFirstName" which will make searching for names, and using candidate information easier:
Design
Layout
Made Candidate details form
This is the first form to be made, is clearly lays out all information about the candidate; records are accessed using the navigation buttons below.
Created Exam Details Form
This form clearly lays out all information contained about an exam for checking. Entering exams is done on another form, as is entering candidate details.
Created Candidates Exam Details Table
This form will display all information about the candidate, as well as the exams they are taking. For this, I will need to create a query:
The query allows searching on all data, e.g. search for exams based on a particular candidate taking them. This query will act as a base for any other sub forms I will need to create (I will delete any unnecessary fields once inside the form design).
This form runs on the query I made earlier. You select a candidate from the list (the list contains names, rather than candidate ID's)
Handout Sheets
This sheet is created using a report, but first I will need to make a query which searches for all details to be entered. The details are:
They will be entered into the report as follows:
The other handout sheet uses a query similar to the previous report, but does not filter results into just one candidate. Instead it creates reports for ALL the candidates:
Menu Forms
Now I have created my main forms, I can create a menu system through which to access them:
Candidate Information
Find candidate/details
Exam Handout Sheets
Flow Chart
This flow chart shows how the menu system will work on the database:
Testing
In this section I will test my system for faults. Using the table below, I will record any faults I find, and what I will do to correct them. I will only be testing the forms, because if the forms all work properly, then the system is functioning (e.g. data is input into the tables when using the forms)
Test number
Test Data
Purpose
Expected Result
Comment Verified
Page
Form: Main Menu
Does the button "candidate information" open the Candidate information form
Test to see if Candidate Information form is linked properly
Form is opened
Okay
2
Does the button "exam details" open the Exam details form
Test to see if Exam details form is linked properly
Form is opened
Okay
3
Does the button "Exam handout sheets" open the Handout Sheets form
Test to see if Exam handout sheet is working properly
Form is opened
Okay
4
Does the exit button work
Test to see if form will close
Database program will close
Okay
Candidate Information Form
5
Does the "back to last page" button work
Test to see if you can go back to the previous form once opened.
The form should close, showing the page from which the form was opened
Okay
6
Does the "find a candidate" button work
Test to see is the from "find candidate/ candidates exam details" form is linked properly
Form will open
Okay
7
Does the "add new candidate" button work
Test to see if forms are linked properly. Also if the macro works properly to move the form to the end record.
Form will open & move to the end record
Okay
Find a Candidate
8
Does the "find a candidates ID number" button work
Test to see if form is linked properly
Form should open
Okay
9
Does the "find details of a candidate" button work
Test to see if form is linked properly
Form should open
Okay
0
Does the "find a list of candidates exams"
Test to see if form is linked properly
Form should open
Okay
1
Does the "view list of candidates" button work
Test to see if report is linked properly
Report preview should open
Okay
Find ID Number
2
Does the drop down menu "select a candidate" work
Check whether selecting the name of the candidate from the drop down menu will move to the record held on that particular candidate
The drop down menu will have the name of all the candidates, which, when selected, will display their particular ID number
Okay
Candidate Details
3
Does the drop down menu "select candidate ID" work
Check whether selecting the candidates ID from the drop down menu will move to the record of that particular candidate
The drop down menu will have all the candidates ID's, which, when selected, will display that particular candidates details
Okay
4
Do the text boxes display data on the candidate
Check whether the text box fields have been properly related to the query
The text boxes will display the details of the correct candidate once selected from the drop down menu
Okay
Candidates Exam Details
5
Does the drop down menu display the candidates names, and move to the candidates record
Check whether the drop down menu has been related to the query properly
The form, once a record has been selected from the drop down menu, will display the candidates details in the text boxes
Okay
6
Does the exam subform show the exams the selected candidate is taking
Check whether the subform has been related to the query & main form properly
The multiple exam details of the candidate will be displayed in tabular form.
Okay
Enter New Candidate Form
7
Does the "CandidateID" field accept any other data, apart from a 4 digit number beginning with 7
Check whether the field will recognise mistakes entered such as a digit too long, or an incorrect ID format
Only a 4 digit number beginning with 7 can be entered
Not okay - accepts a longer digit: Corrected by altering the size of the field in "field properties"
8
Does the field "CandidateTelephone" accept a format which is not an area code followed by the phone number
Check whether the field will accept an invalid length of phone number.
Only a 5 digit number, followed by a 6 digit number should be accepted
Okay
9
Does the "enter candidate into system" button work
Check whether once data has been input into the form, it is placed into the table
Form should become blank for next candidate to be entered, and data will be recorded in the "candidate details" table
Okay
Exam Details
20
Does the drop down menu display the selected exam's details
Check whether form has been related to the query properly
The form, once a record has been selected from the drop down menu, will display the details of the exam in the text boxes.
Okay
Screenshots for testing
Evaluation
Both my client and I are happy with the outcome of this project. My client has commented on how much easier it is to acquire new handout sheets for candidates (before, my client had to send off for a new copy from each exam board).
Now I have implemented my design fully, added new features, and tested the system for bugs or errors, my client, or any 3rd party user can implement my design using the user guide.
My client has also commented a little on the ease of use of the new system.
Their basic statement is that they are happy with the new system's modern approach, and are pleased with the colour schemes, the method for inputting new candidates into the system & assigning them exams, and the layout of the menus.
Their main negative view is that the system does not allow change of exam details very well, for example if a new exam needs to be entered, they have to use normal navigation buttons at the bottom of the page to get to the end record, and then type it all in manually.
Other improvements are listed below:
* A greater number of exam detail forms, such as the ones that exist for candidate details
* A search form for an exam timetable - find out which exams are being taken on a particular day, and which candidates have been entered for them
I have completed most of the objectives I set out to do:
* The candidate's details must be entered to assign them a candidate number - when a new candidate is entered in the form, an autonumber field assigns them their candidate number
* The candidate's details must be entered to find out the candidates number - I created a form which contains a list of the candidates which, once selected, displays the candidates ID number
* The candidate's details must be entered to find out the details about exams they are taking - I created a form which displays the candidates details, and contains a subform which displays the exams they are taking
* The candidates' details must be entered so that they can be assigned their various exams & the reports can be handed out to the correct people - a Report creates the handout sheets, which can be accessed through the menu
* The exam details must be entered so that an exam paper number can be assigned - An autonumber gives the exam their number once the details are entered into the form
* Candidates' details must be laid out for inputting new candidates - a form lays out all the details in an easy to read manner
Matthew Stone Candidate Number: 7232
Centre Number: 50749
Page 1 of 46