2. CS3432 PROJECT : ONLINE EXAMINATION SYSTEM
TABLE OF CONTENTS
SECTION 1 INTRODUCTION ............................................................Page 1
Abstract ...................................................................................................Page 1
Mission statement and Objective .............................................................Page 1
scope and Boundary ................................................................................Page 1
DBLC Phase 1 .........................................................................................Page 1
SECTION 2 REQUIREMENTS ANALYSIS
...................................................Page 1
Preliminary Research ................................Page 1
Results Overview ....................................Page 1
SECTON 3 DATABASE DESIGN SETUP..............Page 1
Application design ..................................Page 1
Context and Activity Models .........................Page 1
User Requirements Deļ¬nition ........................Page 1
DBLC Phase 2 ........................................Page 1
SECTION 4 DATABASE DESIGN MODELING
Database design model ...............................Page 1
Relational Schema Modeling ..........................Page 1
ER Diagram of the System Design .....................Page 1
SECTION 5
Installing system software ..........................Page 1
Solution Implementation .............................Page 1
Problems Encountered and Solutions Attempted ........Page 1
SECTION 6
CONCLUSION ..........................................Page 1
APPENDIX ............................................Page 1
2
3. ABSTRACT
This report focuses on exploring applications of a common commercial query
based language āStructured Query Languageā (āSQLā) and how it interacts
with PHP, a task accomplished through building an interactive dynamic web-
site to handle all typical and required functionality of the system built from the
problem statement to be further explained.
Problem Statement : Using PHP and MySQL, you are required to design
and implement an online examination management system.
As per speciļ¬cation of the problem statement we have designed and
implemented and online examination management system. The task has been
sub-divided into three modules each independent in its own right but together
they cohere to form the entire systemās functionality; the modules are
āSuper-administratorā, āAdmnistratorā, āStudentā. Each,though
independent, takes some input from the pre-stated module respectively.
The system built is dynamic in nature and so the use of only php and SQL
is not enough to cater for all task implementations and hence the need for a
server-side scripting language, Javascript arose which handles all the back-side
functions namely content-display transition,array manipulation and PHP-SQL
intermediary link.
3
4. 1. INTRODUCTION
1.1 Mission Statement and Objectives
Building an online examination system provides an alternative means of grading
students and keeping track of enrolled administrators and students. The system
also comes with a great beneļ¬t which is that of having student results exactly
upon examination completion which eliminates the factor of physical stationary
such as question papers and formal examination settings, venue bookings and
monitoring.
The objective is then to develop a fully functional online examination system
to allow student to take exams on set dates and obtain feedback upon exam-
ination completion. To further make the system complete an overall grading
mechanism is put into place to determine if a student has passed a certain mod-
ule/programme and provide the qualiļ¬cation the student obtained upon taking
all the courses that the student has enrolled in.
1.2 Scope and Boundary
The system is meant to cater for a university/college/middle school examination
setting; reason being the system has two levels of administrative authority which
is that of Database Administrator and System Administrator, which would be
the Head of Department and Lecturer respectively if the context was that of a
college or university.
To implement the system through an entire schooling system would be problem-
atic in that the DBA has been given very little power in the extent to which he
can manipulate some of the system variables such as programmes and courses,
although he has the power of adding and editing those programmes and courses,
he can never cater for all schooling programmes because that would require nu-
merous grading algorithms which are irrelevant to the scope of the predeļ¬ned
system.
As for the physical restraints, some that take a higher priority, mainly that the
system requires computers, a reliable W-LAN/Local LAN sources, and so if all
the boundary elements cannot be met then the system cannot be put in place.
4
5. 1.3 DBLC Phase One
The DBLC implemented is one obtained in the prescribed text book
[Reference 1.] (Ch.9,Pg.378 Figure 9.3)
Figure 1.0
The various parts of the DBLC have been covered through the entire report
and will come up in some sections that are yet to come. Parts that are yet to
be covered include REQUIREMENT ANALYSIS, DATABASE DESIGN AND
IMPLEMENTATION AND CONCLUSION.
5
6. 2. REQUIREMENT ANALYSIS
The system as aforementioned is divided into three parts which deļ¬ne the
information ļ¬ow from one sub-module to the next. The system requirements
have been elaborated on as per individual sub-module.
2.1 Preliminary Research
The research done was based on the existing online examination systems
namely the CCNA (CISCO program) the system is divided into modules and
students are required to write the examinations in modules.
The way CISCO works is that, as whole it is considered a single course which
upon successful completion a certiļ¬cate is given. One can only write a module
after the previous module has been passed, that is, without passing one
module the person cannot proceed to the next module and an overall grading
is done when the user completes all the examination modules.
Although the CISCO implementation of the system is an excellent one, it has
a narrow scope in that only a single course is taken, with the system to be
implemented the System Administrator can add more than a single course and
thus this is more eļ¬cient in that the users can enroll in multiple courses and
hence is exposed to more content as per given programme.
2.2 Results Overview
The system to be implemented will prove to be more eļ¬cient in that it takes
the down sides of the mentioned existing systems and corrects all the
weaknesses in both systems, and it also extends the scope of each while
simultaneously eliminating some of the unnecessary boundaries.
3. DATABASE DESIGN
3.1 Conceptual Model
The system has been designed to follow the structure below and the information
ļ¬ow is also as in the context diagram.
Context Diagram Figure 1.1
6
7. The Super Administrator can perform the following:
1. Add/Edit courses, programmes and administrators
2. Delete information of courses, programmes and administrators
The System Administrator can perform the following:
1. Add/Edit questions and answers
2. Delete information of questions and answers
3. Sets Examinations plans
The Student can perform the following:
1. Register for course examinations
2. Take examination and view results
3.2 Activity Diagrams [Logical Diagrams]
Super-Administrator Diagram Figure 1.2
7
9. The Sequence Diagrams provide a similar representation as the designed
Activity diagrams but only more detailed, to substitute them a step by step
procedure will be followed and each of the stages will be explained in the
implementation phase of the project.
3.3 User Requirements Deļ¬nition
User speciļ¬c requirements : The primary user of the system is deļ¬ned to
be the student because after the system has been developed without students
then the system is non-functional in a sense that without anyone to take
examinations then there would be no need to set questions and for the super
administrator there would be no one to monitor.
So in building the System Architecture,the student takes the highest priority,
with the administrator taking second and the super administrator last in
terms of system users hierarchical order.
Performance Requirements : The system needs only to be responsive in
that the user should not have to endure the long wait periods of between
answering questions and get results exactly upon conclusion of the
examination. The system can be able to support multiple users if it is ran on a
server-farm, that is, hosting the system on multiple servers with a load
balancing mechanism that regulates traļ¬c ļ¬ow per server to avoid
overloading, the exact number of users that the system would be able to
support is yet unknown and may vary. Currently the user count strategy
implemented on the system is the Apache J-Meter [Java Meter], which was
able to simulate the number of users and requests made to the server, which
was ran on a local network for test purposes.
3.4 System Architecture Requirements
Figure 1.5
9
10. System Security Requirements : The diļ¬erent functions have been
assigned diļ¬erent modules, this allows restrictions of parts of the program
interfering with each others functionality which may lead to inconsistencies in
the values in the database tables. As another eļ¬ective security measure the
system has some data validation put on critical data, these allow users to
input only valid data in the respective data forms.
Hardware Interface Requirements : The system requires basic computer
hardware and networking software or even a reliable substitute if the system is
purely online and requires the internet to connect to the hosting servers the
hardware requirements are as follows:
1. Server-Side:
Operating System: Windows 9x/xp ,Windows ME
Processor: Pentium 3.0 GHz or higher
RAM: 256 Mb or more
Hard Drive: 10 GB or more
2. Client-side:
Operating System: Windows 9x or above, MAC or UNIX.
Processor: Pentium III or 2.0 GHz or higher.
RAM: 256 Mb or more
Software System Requirements : the software requirements are also
typical computer software with the exception of the software used to develop
the system:
1. Client-side: HTML, Javascript, Web-Browser [Chrome, Vivaldi, Safari
and Mozilla Firefox]
2. Server-Side: PHP
Safety Requirements : The system has been built to support multiple
access and hence the database is not prone to crashes if the number of
requests made is reasonable and used in only the set scale as speciļ¬ed in the
introduction to the system. The fragility of the system is only in the system
interface in that due to the project constraints the designed interface is both
orientation and dimensional dependent, in that the responsiveness is limited to
screens with the minimum dimensions of 1600px by 768px.
10
12. Data Analysis and Requirements : The database model design that has
been implemented is meant to show how the diļ¬erent modulesā database tables
interact and form a single unit this has been represented using formal ļ¬ow
chart notation:
Figure 1.7
4.2 Relational Schema Modeling
Student Module
1. PROGRAMMES(programId, programmeName)
2. COURSES(courseCode, courseName, courseDescription)
3. PROGRAMMELIST(courseCode, programmeName)
4. STUDENT(studentId, studentFirstname, studentLastname,
programmeName, password, courseDescription)
Administrator Module
1. EXAMSETTINGS(examAdminID, courseCode, examDate,
examDuration,)
2. QUESTION(examAdminID, examDate, questionNumber, question,
questionHint)
3.
ANSWER(courseCode, examAdminID,examDate,questionNumber,
answerA, answerB, answerC, answerD, answerE, score, correctAnswer)
courseDescription)
12
13. Super Administrator Module
1. Administrator(AdminID, ļ¬rstName, lastName, employmentID)
courseDescription)
4.3 ER Diagram of System Design
erDiag.png
Figure 1.8
5. DATABASE IMPLEMENTATION
5.1 Installing The System Software
The software used to implement this system are:
1. Code IDE: Sublime Text 2 [Sublime HQ PTY LTD Version 2.02, Build
2221]
2. Database Management System [DBMS]: MySQL version 5.0.51b and
version 5.1.0
3. Server: Wamp Server Version 2.0 and 2.1.4
4. Browser Selection: Vivaldi 1.0.118.19 (Developer Build), Mozilla Firefox
and Chrome Version 42.0.2311.90m [selected DB]
5.2 Solution Implementation
As mentioned the above software tools were used to provide an eļ¬ective
solution to building an online examination system. The stated modules
provided an easy way to handle job allocation and task sharing, the only
impediment met was having to join the set of individual modules to build a
uniļ¬ed system with interleaving functionality and coherent database ļ¬les.
The process involved having to merge all the three set of database ļ¬les into a
common ļ¬le and compiling the system functionality into a given class ļ¬les
where all the created functions are combined into a single class ļ¬le and all the
function calls are carried out by the set functions.
The database for the system was build using the MySQL console and part of
the editing was done using phpMyadmin browser interface.
5.3 Problems Encountered and Solutions Attempted
The major problem met in the implementation phase is that of merging
modules and making them share information in a correct logical manner that
provides an actual correct conceptual view of the database system and
diļ¬erent table interaction.
Given the above problem the solution implemented involved reducing the size
of the prior logical solution to the problem and thus eliminating possible
causes of data inconsistencies.
13
14. During the testing phase problems with the system software arose in that
some of the modules were implemented with diļ¬ering wampserver versions
thus leading to diļ¬erent MySQL versions which leads to a lot of deprecation
errors since the latter version of MySQL uses the mysqli() extension format for
some commands while the former version still uses the native mysql()
extension without the recently updated extension format.
The test phase also set limits on the number of courses and programmes that
the system administrator can insert. This is due to the burden in providing
proper course management if the number is allowed to be hypothetically
inļ¬nite, thus limiting the courseās count leads to easy management and
implementation.
14
15. 6. CONCLUSION
The project has been successfully completed although with multiple setbacks
that led to some incomplete system functionality and thus limiting the
applicability of the system.
Given more time and better resources the system has the potential of real life
implementation in a formal setting as that of a college/university.
The primary tools that were acquired from the experience include a better
command of SQL and PHP and a new experience with javascript and some
other scripting languages such as JSON and AJAX, that although are not
used in the project were tested as alternatives to the project-scope deļ¬ned
languages.
To further add more elements of reality in the entire system the project could
be further simpliļ¬ed in terms of its interface and user interaction modules to
allow even the partly database illiterate individual to hold posts of system
administrators.
15
16. REFERENCES
1. Coronel, Morris and Rob Database Systems Design and Implementation
and Management 9th Edition, 2010, ISBN-13: 978-0-538-46968-5
2. Lee Babin Apress Beginning Ajax with PHP From Novice to Professional,
2007, ISBN-13 (pbk): 978-1-59059-667-8
3. W. Jason Gilmore Beginning PHP and MySQL, 3rd Edition 2008, ISBN-
13 (pbk): 978-1-59059-862-7
4. Janet Valade Php and Mysql For Dummies 2nd Edition Wiley Publishing
INC.,2004, ISBN: 0-7645-5589-8
5. Terry McNavage, JavaScript for Absolute Beginners, 2010, ISBN-13 (pbk):
978-1-4302-7219-9
16