Top Banner
Ts’epo Thoabala, Tatolo Phahla and Lehlohonolo Makoti 15 April 2015 1
17
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Online examination system Documentation

Ts’epo Thoabala, Tatolo Phahla and Lehlohonolo Makoti

15 April 2015

1

Page 2: Online examination system Documentation

CS3432 PROJECT : ONLINE EXAMINATION SYSTEM

TABLE OF CONTENTS

SECTION 1 INTRODUCTION ............................................................Page 1Abstract ...................................................................................................Page 1Mission statement and Objective .............................................................Page 1scope and Boundary ................................................................................Page 1DBLC Phase 1 .........................................................................................Page 1

SECTION 2 REQUIREMENTS ANALYSIS...................................................Page 1Preliminary Research ................................Page 1Results Overview ....................................Page 1

SECTON 3 DATABASE DESIGN SETUP..............Page 1Application design ..................................Page 1Context and Activity Models .........................Page 1User Requirements Definition ........................Page 1DBLC Phase 2 ........................................Page 1

SECTION 4 DATABASE DESIGN MODELINGDatabase design model ...............................Page 1Relational Schema Modeling ..........................Page 1ER Diagram of the System Design .....................Page 1

SECTION 5Installing system software ..........................Page 1Solution Implementation .............................Page 1Problems Encountered and Solutions Attempted ........Page 1

SECTION 6CONCLUSION ..........................................Page 1APPENDIX ............................................Page 1

2

Page 3: Online examination system Documentation

ABSTRACT

This report focuses on exploring applications of a common commercial querybased language ’Structured Query Language’ (”SQL”) and how it interactswith PHP, a task accomplished through building an interactive dynamic web-site to handle all typical and required functionality of the system built from theproblem statement to be further explained.

Problem Statement : Using PHP and MySQL, you are required to designand implement an online examination management system.

As per specification of the problem statement we have designed andimplemented and online examination management system. The task has beensub-divided into three modules each independent in its own right but togetherthey cohere to form the entire system’s functionality; the modules are’Super-administrator’, ’Admnistrator’, ’Student’. Each,thoughindependent, takes some input from the pre-stated module respectively.

The system built is dynamic in nature and so the use of only php and SQLis not enough to cater for all task implementations and hence the need for aserver-side scripting language, Javascript arose which handles all the back-sidefunctions namely content-display transition,array manipulation and PHP-SQLintermediary link.

3

Page 4: Online examination system Documentation

1. INTRODUCTION

1.1 Mission Statement and ObjectivesBuilding an online examination system provides an alternative means of gradingstudents and keeping track of enrolled administrators and students. The systemalso comes with a great benefit which is that of having student results exactlyupon examination completion which eliminates the factor of physical stationarysuch as question papers and formal examination settings, venue bookings andmonitoring.The objective is then to develop a fully functional online examination systemto allow student to take exams on set dates and obtain feedback upon exam-ination completion. To further make the system complete an overall gradingmechanism is put into place to determine if a student has passed a certain mod-ule/programme and provide the qualification the student obtained upon takingall the courses that the student has enrolled in.

1.2 Scope and BoundaryThe system is meant to cater for a university/college/middle school examinationsetting; reason being the system has two levels of administrative authority whichis that of Database Administrator and System Administrator, which would bethe Head of Department and Lecturer respectively if the context was that of acollege 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 hecan 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 predefinedsystem.As for the physical restraints, some that take a higher priority, mainly that thesystem requires computers, a reliable W-LAN/Local LAN sources, and so if allthe boundary elements cannot be met then the system cannot be put in place.

4

Page 5: Online examination system Documentation

1.3 DBLC Phase OneThe 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 reportand will come up in some sections that are yet to come. Parts that are yet tobe covered include REQUIREMENT ANALYSIS, DATABASE DESIGN ANDIMPLEMENTATION AND CONCLUSION.

5

Page 6: Online examination system Documentation

2. REQUIREMENT ANALYSIS

The system as aforementioned is divided into three parts which define theinformation flow from one sub-module to the next. The system requirementshave been elaborated on as per individual sub-module.

2.1 Preliminary ResearchThe research done was based on the existing online examination systemsnamely the CCNA (CISCO program) the system is divided into modules andstudents are required to write the examinations in modules.The way CISCO works is that, as whole it is considered a single course whichupon successful completion a certificate is given. One can only write a moduleafter the previous module has been passed, that is, without passing onemodule the person cannot proceed to the next module and an overall gradingis done when the user completes all the examination modules.

Although the CISCO implementation of the system is an excellent one, it hasa narrow scope in that only a single course is taken, with the system to beimplemented the System Administrator can add more than a single course andthus this is more efficient in that the users can enroll in multiple courses andhence is exposed to more content as per given programme.

2.2 Results OverviewThe system to be implemented will prove to be more efficient in that it takesthe down sides of the mentioned existing systems and corrects all theweaknesses in both systems, and it also extends the scope of each whilesimultaneously eliminating some of the unnecessary boundaries.

3. DATABASE DESIGN

3.1 Conceptual ModelThe system has been designed to follow the structure below and the informationflow is also as in the context diagram.

Context Diagram Figure 1.1

6

Page 7: Online examination system Documentation

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

Page 8: Online examination system Documentation

Administrator Diagram Figure 1.3

Student Diagram Figure 1.4

8

Page 9: Online examination system Documentation

The Sequence Diagrams provide a similar representation as the designedActivity diagrams but only more detailed, to substitute them a step by stepprocedure will be followed and each of the stages will be explained in theimplementation phase of the project.

3.3 User Requirements Definition

User specific requirements : The primary user of the system is defined tobe the student because after the system has been developed without studentsthen the system is non-functional in a sense that without anyone to takeexaminations then there would be no need to set questions and for the superadministrator 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 interms of system users hierarchical order.

Performance Requirements : The system needs only to be responsive inthat the user should not have to endure the long wait periods of betweenanswering questions and get results exactly upon conclusion of theexamination. The system can be able to support multiple users if it is ran on aserver-farm, that is, hosting the system on multiple servers with a loadbalancing mechanism that regulates traffic flow per server to avoidoverloading, the exact number of users that the system would be able tosupport is yet unknown and may vary. Currently the user count strategyimplemented on the system is the Apache J-Meter [Java Meter], which wasable to simulate the number of users and requests made to the server, whichwas ran on a local network for test purposes.

3.4 System Architecture Requirements

Figure 1.5

9

Page 10: Online examination system Documentation

System Security Requirements : The different functions have beenassigned different modules, this allows restrictions of parts of the programinterfering with each others functionality which may lead to inconsistencies inthe values in the database tables. As another effective security measure thesystem has some data validation put on critical data, these allow users toinput only valid data in the respective data forms.

Hardware Interface Requirements : The system requires basic computerhardware and networking software or even a reliable substitute if the system ispurely online and requires the internet to connect to the hosting servers thehardware requirements are as follows:

1. Server-Side:Operating System: Windows 9x/xp ,Windows MEProcessor: Pentium 3.0 GHz or higherRAM: 256 Mb or moreHard 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 alsotypical computer software with the exception of the software used to developthe system:

1. Client-side: HTML, Javascript, Web-Browser [Chrome, Vivaldi, Safariand Mozilla Firefox]

2. Server-Side: PHP

Safety Requirements : The system has been built to support multipleaccess and hence the database is not prone to crashes if the number ofrequests made is reasonable and used in only the set scale as specified in theintroduction to the system. The fragility of the system is only in the systeminterface in that due to the project constraints the designed interface is bothorientation and dimensional dependent, in that the responsiveness is limited toscreens with the minimum dimensions of 1600px by 768px.

10

Page 11: Online examination system Documentation

4. DATABASE DESIGN

4.1 Database Design Model Definition

Figure 1.6

11

Page 12: Online examination system Documentation

Data Analysis and Requirements : The database model design that hasbeen implemented is meant to show how the different modules’ database tablesinteract and form a single unit this has been represented using formal flowchart 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

Page 13: Online examination system Documentation

Super Administrator Module

1. Administrator(AdminID, firstName, lastName, employmentID)courseDescription)

4.3 ER Diagram of System Design

erDiag.png

Figure 1.8

5. DATABASE IMPLEMENTATION

5.1 Installing The System SoftwareThe software used to implement this system are:

1. Code IDE: Sublime Text 2 [Sublime HQ PTY LTD Version 2.02, Build2221]

2. Database Management System [DBMS]: MySQL version 5.0.51b andversion 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 Firefoxand Chrome Version 42.0.2311.90m [selected DB]

5.2 Solution ImplementationAs mentioned the above software tools were used to provide an effectivesolution to building an online examination system. The stated modulesprovided an easy way to handle job allocation and task sharing, the onlyimpediment met was having to join the set of individual modules to build aunified system with interleaving functionality and coherent database files.The process involved having to merge all the three set of database files into acommon file and compiling the system functionality into a given class fileswhere all the created functions are combined into a single class file and all thefunction calls are carried out by the set functions.

The database for the system was build using the MySQL console and part ofthe editing was done using phpMyadmin browser interface.

5.3 Problems Encountered and Solutions AttemptedThe major problem met in the implementation phase is that of mergingmodules and making them share information in a correct logical manner thatprovides an actual correct conceptual view of the database system anddifferent table interaction.Given the above problem the solution implemented involved reducing the sizeof the prior logical solution to the problem and thus eliminating possiblecauses of data inconsistencies.

13

Page 14: Online examination system Documentation

During the testing phase problems with the system software arose in thatsome of the modules were implemented with differing wampserver versionsthus leading to different MySQL versions which leads to a lot of deprecationerrors since the latter version of MySQL uses the mysqli() extension format forsome 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 thatthe system administrator can insert. This is due to the burden in providingproper course management if the number is allowed to be hypotheticallyinfinite, thus limiting the course’s count leads to easy management andimplementation.

14

Page 15: Online examination system Documentation

6. CONCLUSION

The project has been successfully completed although with multiple setbacksthat led to some incomplete system functionality and thus limiting theapplicability of the system.Given more time and better resources the system has the potential of real lifeimplementation in a formal setting as that of a college/university.The primary tools that were acquired from the experience include a bettercommand of SQL and PHP and a new experience with javascript and someother scripting languages such as JSON and AJAX, that although are notused in the project were tested as alternatives to the project-scope definedlanguages.To further add more elements of reality in the entire system the project couldbe further simplified in terms of its interface and user interaction modules toallow even the partly database illiterate individual to hold posts of systemadministrators.

15

Page 16: Online examination system Documentation

REFERENCES

1. Coronel, Morris and Rob Database Systems Design and Implementationand 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 PublishingINC.,2004, ISBN: 0-7645-5589-8

5. Terry McNavage, JavaScript for Absolute Beginners, 2010, ISBN-13 (pbk):978-1-4302-7219-9

16

Page 17: Online examination system Documentation

APPENDIXTable Definitions Appendix 1

erDiag.png

Appendix 2

17