FYP Report Shah Zaman BSIT-20-45
FYP Report Shah Zaman BSIT-20-45
Submitted By:
Aroob Sehar
BSCS-19-34
2019-2023
Supervised By:
PAKISTAN
FINAL APPROVAL
This is to certify that we have read this report titled “ONLINE EXAMINATION SYSTEM”
submitted by AROOB SEHAR Roll No. BSCS-19-34. It is our judgement that this report is of
sufficient standard to warrant its acceptance by BAHAUDDIN ZAKARIYA UNIVERSITY,
MULTAN for the degree of BSCS (Bachelor of Computer Science).
Committee:
2. Supervisor ________________
Dr. Minhaj Ahmad Khan
Professor
Department of Computer Science
Bahauddin Zakariya University, Multan
I am grateful to ALLAH Almighty the most beneficial, merciful and gracious who gave the
courage to complete the task assigned to me. I couldn’t have this achievement if ALLAH
kindness didn’t support me. Many people whom I want to pay my thanks at the event, all my
honorable teachers, my parents and all the friends.
After that all praises are the Holy Prophet MUHAMMAD (Peace Be upon Him), the most
perfect and exalted among ever born on earth, who is forever a torch of guidance and knowledge
for humanity as a whole.
I say my special thanks to my teacher and my Project Supervisor Dr. Minhaj Ahmad Khan
Finally, I would like to express my gratitude to my loving family, especially to my mama for
providing me full support during the project and for all sort of moral and social support in life.
Their prayers have enabled me to reach at this stage.
Aroob Sehar
PROJECT BRIEF
1.70 GHz
4.5 JAVASCRIPT 27
4.6 PHP 27
4.7 MYSQL 28
4.8 XAMPP SERVER 28
4.9 TESTING AND EVALUATION: 29
4.9.1 TESTING 29
4.9.2 STATIC TESTING: 32
4.10 IMPLEMENTATION 33
CHAPTER 5
User Guide
5.1 LOGIN SCREEN 35
5.2 REGISTRATION FORM 35
5.3 CONTACT US FORM: 36
5.4 ABOUT US FORM: 36
5.5 PROFILE UPDATE FORM: 37
5.6 INSTRUCTOR DASHBOARD: 38
5.6.1 CREATE GROUP 38
5.6.2 ADD GROUP DISPLAYED 39
5.6.3 CHOOSE QUESTION TYPE: 39
5.6.4 VIEW GROUP: 41
5.6.5 PUBLISH RESULT: 42
INTRODUCTION
1.1 Introduction
An Online Examination System is a computer-based exam system that can be used to conduct
exams online. The system uses fewer resources and reduces the need of question paper, answer
script, exam room scheduling, arranging invigilators, coordinating with examiners, and more.
User authentication and authorization: The system should ensure that only
authorized users can access and take exams.
Exam creation and management: The system should provide tools to create and
manage exam questions, assign exams to users, and set up exam rules and time limits.
Exam-taking: The system should provide a user-friendly interface for taking exams,
including navigation tools, question types, and options for marking and reviewing
questions.
Grading and feedback: The system should automatically grade exams and provide
feedback to users, including scores, correct answers, and explanations.
1.3 Purpose
Responses by the student will be checked automatically and instantly.
Online exam will reduce the hectic job of accessing the answer given by candidates.
Being an integrated Online exam system, it will reduce paper work.
1.4 Definition, Acronyms
The sub-section provides the definition of all terms, acronyms and abbreviation used in this
document.
Administrator Aspect
1) Taking backup of the database
2) Editing, creating and deleting database.
3) Registration
4) Login
5) Create an Exam
6) Posting question in the above exam
7) Set time limit for exam
8) Admin also able to edit delete the exam
9) Mange and update their profile
Student Aspect
1) Registration
2) Login
3) Edit user information
4) Selecting the Exam
5) Appearing for Exam
6) View their result after completion of exam
Analysis
1) Authenticating user based on username and password
2) Recording candidates’ response to every question
1.7 Security:
Admin has highest authority to edit/delete/create database
Admin has the to add/expel student.
Students can only view their exam records.
Admin can view all the test records of every student.
Password should be stored in encrypted.
1.8 Availability
The testing system being an online system should be available anytime.
Quiz creator may allow the specific test to be available only at certain time like scheduled
examinations.
The test may be time limited so the candidates appearing will have the limited time to
answer the test.
1.9 Portability
The web application will be built using php which has support to run on any platform.
For database, MySQL would be used that has extensive support over many architectures
and operating system.
1.10 Performance
The system would be used by multiple at time and may grow as time passes, the system would
need to implement multithreading to achieve to achieve acceptable performance.
Chapter 2
SYSTEM ANALYSIS
2.1 Overview of Existing System
The existing system of our examination system is very hectic. It requires a lot of manual efforts
like first of all making the question papers then distributing it among thousands of students as
observed as it’s really time consuming. After the test is taken the checking of the test is another
headache job to be done. That will involve a lot of teachers to spend their time to check those
tests. And later on, the worst part comes at lot is making and showing results to the specific
students. The displaying of result one by one to each student who so ever present in the exam
will be a hectic time consuming and irritating job.
Therefore, in this situation we need an online examination system that is less time consuming
and more appropriate in bringing the right outcomes.
The existing system was that the paper was taken manually and the student have to wait for
their result like days. It was difficult as for the faculty to check bundles of paper. Therefore, this
Process was time consuming and secondly the surety of the result wasn’t 100% either.
2.4.1Functional Requirements:
Administrator Related Requirements:
2.4.2Non-Functional Requirements:
System should be reliable and robust
System should be user friendly
System should be completely consistent and secure.
1. Time Consuming and Tedious: Since exam are conduct by human resources so it is very
slow and tedious.
2. Huge Investment in Human Resources: As paper conduct manually so a lot of human
resources is required for conducting exam.
3. Less Reliable: Manual Exam system is less reliable as Exam may not performed with
precision each time because of human errors.
SYSTEM DESIGN
3.1 Proposed System
After the detail study of existing manual system of examination suggested an automated System
i.e., it eliminate the different problems faced by the user in manual system. This new
computerized system will be the possible solution to the problem being faced by existing system.
UML also helps to improve communication between developers, stakeholders, and other
members of a software development team.
UML allows us to develop several types of visual diagrams that represent various aspects of the
system such as:
A relation is in second normal form if it is in first normal form and all non-key attributes are
fully functional dependent upon the primary key.
Answer Table:
Maintain Date:
Keeping in view the factors and aspects, I have used following languages and tools for the
development of Online Examination System.
HTML5
CSS
JavaScript
PHP
MySQL
XAMPP Server
There are new graphics elements including vector graphics and tags.
Enrich semantic content by including <header> <footer>, <article>, <section>
and <figure> are added.
Uses SQL database to store data offline.
Capable of handling incorrect syntax.
Easy DOCTYPE declaration i.e., <!doctype html>
Easy character encoding i.e., <meta charset=” UTF-8″>
Overall, HTML5 has significantly enhanced the capabilities and flexibility of web development,
enabling the creation of more interactive and multimedia-rich websites and applications.
4.5 JavaScript
JavaScript is a lightweight, cross-platform, single-threaded, and interpreted compiled
programming language which is also known as the scripting language for webpages used to
make webpages interactive (e.g., having complex animations, clickable buttons, popup menus,
etc.). It is well-known for the development of web pages, and many non-browser environments
also use it. It can be easily used to interact with HTML elements. It can be used for Client-side
developments as well as Server-side developments. JavaScript contains a standard library of
objects, such as Array, Date, and Math, and a core set of language elements such as operators,
control structures, and statements. JavaScript is constantly evolving, and new versions and
features are introduced regularly. It is supported by all modern web browsers and plays a crucial
role in creating interactive, dynamic, and feature-rich web experiences.
4.6 PHP
PHP (Hypertext Preprocessor) is a server-side scripting language widely used for web
development. It is open-source which means it is free to download and use. It is very simple to
learn and use. The files have the extension “.php”. It is an interpreted language and it does not
require a compiler.
PHP code is executed in the server.
It can be integrated with many databases such as Oracle, Microsoft SQL Server,
MySQL, PostgreSQL, Sybase, and Informix.
Websites like www.facebook.com and www.yahoo.com are also built on PHP.
PHP continues to evolve, with new versions and features released regularly. It remains a popular
choice for web development due to its ease of use, flexibility, and extensive community support.
4.7 MySQL
MySQL is an open-source relational database management system (RDBMS). It is the most
popular database system used with PHP. MySQL is developed, distributed, and supported by
Oracle Corporation. The data in a MySQL database is stored in tables which consists of columns
and rows. It is very fast, reliable, and easy to use database system. It uses standard SQL. MySQL
is widely used in web applications, content management systems, e-commerce platforms, and
various other applications that require reliable and scalable database solutions. Its combination of
performance, ease of use, and broad community support has made it a popular choice in the
software industry.
4.9.1 Testing
Testing the software application is an important activity in software development life cycle
(SDLC). It helps in maintaining quality of the system.
Registration Account:
Test Case Id TC1
Test Scenario Register Account (Instructor/Candidate)
Test Data First Name, Last Name, Email, Username,
Password.
1. Enter First Name.
Test Steps 2. Enter Last Name.
3. Enter Email.
4. Enter Username.
5. Enter Password.
6. Tap Register Button
Expected Result Users get successfully registered.
Actual Result Pass, User successfully registers.
Status Pass
Table (4.1): Registration Account
Login (Instructor):
Validation:
At the end of development process of each module validation was done. To make the validation
process successful, the modules were nicely merged to form up the required end-product which
was actually required. As the system should be validated at each stage of the software process
using documents produced during the previous stage therefore, we started validation with
requirements reviews and continued through design and code reviews to product testing. This
testing was done to validate that we have built the right product that is according to requirements
and testing results are successful.
Usability Testing
It was also done at the end of development of each module. As users could complete basic tasks
easily, and quickly and usage of standards made it possible for the users to make minimal
mistakes, so the results were successful. Users were very confident about the tasks completed the
users could recall the process easily.
Module/Unit Testing
Each method is tested during its coding stage and every method has some functionality and it is
tested during its creation. For any sort of bugs left in the code, all the units were individually
tested. We found during this process few bugs and removed those bugs. The testing was done
recursively until no bug was found. The tests were successful. As we said that in unit testing,
various modules have been tested individually. To test if the expected result is actually seen on
the screen, unit testing has been done manually.
Integration Testing
Various units after successful development were integrated together and their working and
behavior was tested. This test was also successful.
System Testing
With various test cases, the system was tested. For each and every mode of the software’s
operation, the tests were carried out which was successful.
4.10 Implementation
The implementation stage of software development is the process of converting a system
specification into an executable system. It almost always involves processes of software design
and programming. In other words, it is a process of converting system requirements into program
codes.
Methods of Implementation:
At some stage the methods by which implementation are to achieve will need to be decided. The
traditional methods are:
Parallel Running: In this method the new system and old system are running side-by-side. This
method, I believe that new software contains bugs, which came to know when real and massive
data is inserted into the database.
Pilot Running: In this method the new system is run for a part of the installation.
Direct Change Over: In this method the new computerized system is introduced, and old system
simultaneously abandoned.
Phased Conversion: In this method individual component of the new computerized system are
implemented one by one.
Chapter 5
USER’S GUIDE
Figure(5.2):Registration Form
Figure(5.4):About us Form
Figure(5.6):Instructor Dashboard
Figure(5.7):Create Group
5.6.2 Add Group Displayed
After creating the group, the group is shown in instructor dashboard.
Figure(5.10): MCQ’s
True/False:
Figure(5.11): True/False
Question/Answer
Figure(5.12): Question/Answer
Conclusion
6.1 Conclusion:
The package was designed in such a way that future modifications can be done easily. The
following conclusions can be deduced from the development of the project.