Beruflich Dokumente
Kultur Dokumente
Submitted to:
Md. Rashed Karim
Department of SWE
Daffodil International University
Submitted by:
MD. Shakibul Islam
ID: 163-35-1792
Section: B
Department of SWE
Project Title
The following project document on Online Examination System Management has been accepted and approved by the
following:
Course Teacher Project Name Signature Date
Abstract
Online Examination System is an on-line test simulator is to take online examination, test in an efficient
manner and no time wasting for manually checking of the test paper. The main objective of this web based
online examination system is to efficiently evaluate the student thoroughly through a fully automated system
that not only saves lot of time but also gives fast and accurate results. Online examination system helps
students to offer a quick and easy way to appear for the test. It also provides the results immediately after the
examination with 100% accuracy and security. Student can enter to perform exam only with their valid
username and password. This examination contains multiple choice questions and appropriate number of
options. There are no limitations on number of options and it can be randomized so same set of question will
not appear to all student so it prevent manipulation. More than one option can be correct but the user can
select only one option. This provides time limit. The user can see their results after completing the exam.
This helps the students to write the exam from far distance and which can provide security and simplicity
and other beneficial features to the user.
Introduction
This document specially containing details about objectives, scope limitation, process model, primary
requirements, team development, possible project risks, project schedule, and finally monitoring and
reporting mechanisms.On-line Exam System is very useful for Educational Institute to prepare an exam, safe
the time that will take to check the paper and prepare mark sheets. It will help the Institute to testing of
students and develop their skills. But the disadvantages for this system, it takes a lot of times when you
prepare the exam at the first time for usage. And we are needs number of computers with the same number
of students.The effective use of "On-line Exam System", any Educational Institute or training centers can be
use it to develop their strategy for putting the exams, and for getting better results in less time.
FR_4 Manage Profile After logging, Candidate Create Profile and Update. Medium
FR_5 Participant Exam User select Course then the Join Exam then will be High
Start the exam .
FR_6 View Marks After finished the exam then View the result of Medium
every Candidate
FR_7 View Candidate can view Important Notice . Medium
Announcement
FR_8 Logout Candidate can do logout High
FR_9 Job Apply Candidate can apply any job from post employer Medium
Use Case: (User):
Case ID C_ID_01
Case Description The admin must sign in using an Email and password click to login button then
Admin can sign in into the system.
Pre-Condition Connect internet and check electricity connection.
Post Condition Go to home page successfully and start working to addquestion , deleteQuestion ,
manageUser etc.
Flow control Full the input field by right email and password.
Case ID C_ID_02
Case Description The admin can insert QuestionNO , Question and add four multiple choice then click
submit button .
Pre-Condition Must be successfully login fast.
Post Condition Insert Multiple Exam Question .
Flow control Fill the all question details in input field correctly.
Case Name: Question List
Case ID C_ID_03
Case Description In this part admin see all Question List.
Pre-Condition Admin must Login first then he/she click AddQuestion button then insert question
and after he/she see the question list.
Post Condition Admin see question list if he/she want to remove or update question .
Flow control Admin see question list and all question is right then he/she exist this page.
Case ID C_ID_04
Case Description In this part admin want to delete question then he/she select question and click the
remove button
Pre-Condition Admin Login first and addquestion then see the question list choice any question .
Post Condition Successfully deleted or remove the Question .
Flow control Click on the delete or remove button.
Case ID C_ID_05
Case Description In this part admin want to update question then he/she select question and click the
update button
Pre-Condition The admin login first and then he /she add question after click update button and
update question then click submit button.
Post Condition Successfully update this question
Flow control Fill the details all input field correctly.
Case ID C_ID_06
Case Description Here the admin any user not need. Admin click removeuser button then remove user
this website.
Pre-Condition admin login first and then click Manage user button and user registration this
website then remove user
Post Condition Successfully Remove User in this website.
Flow control Click on the delete or remove button.
Case Name: Disable User
Case ID C_ID_07
Case Description Here the admin any user not need. Admin click manage user button then see all user
then disable any user.
Pre-Condition Here the admin login and user add this website the Admin click manage user button
then see the all user then select any user then disable this user in this website.
Post Condition Successfully disable user in this website.
Flow control Click on the disable button.
Case Name: Enable User
Case ID C_ID_08
Case Description Here the admin click manage user button see all user then disable any then enable
user .first disable then enable this user.
Pre-Condition Here the admin login and user add this website the Admin click manage user button
then see the all user then select any user if user disable then admin enable this user.
Post Condition Successfully enable user.
Flow control Click on the enable button
Case ID C_ID_09
Case Description The admin click the show result button then See the all user result after finished the
all user exam.
Pre-Condition Admin login first then insert question and user finished exam .
Post Condition Admin show the all user exam result.
Flow control Show the all correctly marks .
Case ID C_ID_10
Case Description The admin send request viva to user if any user pass the exam
Pre-Condition The admin click the show result button then See the all user result .Then admin send
request viva to user if any user pass the exam
Post Condition Successfully send viva request to user .
Flow control Send viva request to user.
Case ID C_ID_11
Case Description After using the services, the admin can log out of the website.
Pre-Condition Admin have to logged in the system.
Post Condition Successfully logged out from the system.
Flow control Clicked on the log out button.
Case ID C_ID_S_01
Case Description User must create a account as name , age ,paasword ,email etc given the correct
information then click on Submit button and create a account.
Pre-Condition First user must Go to the onilne exam system website then create account.
Post Condition Successfully create a account
Flow control Full the input field by right information then click on submit button .
Case Name: Login
Case ID C_ID_S_02
Case Description The user must sign in using an Email and password click to login button then user
can sign in then go to website .
Pre-Condition Connect internet and check electricity connection and User must be create a account
given valid information
Post Condition Successfully login and go to in the home page by online exam system website.
Flow control Click on the login button.
Case ID C_ID_S_03
Case Description User go to online exam system home page then click start exam button then start the
exam
Pre-Condition User must create a account then given email and password then click login button
then go to home page and click the start exam button .
Post Condition Successfully finished the exam .
Flow control Click on the exam start button.
Case ID C_ID_S_04
Case Description User go to online exam system home page then click Update profile button then
he/she update profile.
Pre-Condition User must create a account then given email and password then click login button
then go to home page and click the Update profile button .
Post Condition Successfully update profile.
Flow control Fill the details all input field correctly.
Case ID C_ID_05
Case Description User click the show result button then See the result after finished the exam.
Pre-Condition User must create a account then given email and password then click login button
then go to home page and click the start exam button and finished the exam and click
on the show result button then see the result.
Post Condition User See the exam result.
Flow control See the correctly marks .
Case ID C_ID_06
Case Description User finished the exam or other work the he/she logout the website
Pre-Condition User must have to logged in the Website.
Post Condition Successfully logged out from theWebsite.
Flow control Clicked on the log out button.
User Interface: (User)
Log In:
Home Page:
Start Exam:
Start Exam:
Continue Exam:
Finished Exam:
Show Result:
Update Profile:
User Interface(Admin):
Login Page:
Home Page:
All user Page:
Sequence
Diagram(User):
ER Diagram:
Config.Php
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "root");
define("DB_NAME", "db_exam");
User Login.php
<?php
Session::checkLogin();
?>
<div class="main">
<img src="img/test.png"/>
</div>
<div class="segment">
<table class="tbl">
<tr>
<td>Email</td>
</tr>
<tr>
<td>Password </td>
</tr>
<tr>
<td></td>
</td>
</tr>
</table>
</form>
</div>
User profile.php
<?php
Session::checkSession();
$userid = Session::get("userid");
?>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
?>
<style>
.profile{width: 440px;margin: 0 auto;border: 1px solid #ddd;padding: 30px 50px 50px 138px;}
</style>
<div class="main">
<h1>Your Profile</h1>
<div class="profile">
<?php
if (isset($updateUser)) {
echo $updateUser;
?>
<?php
$getData = $usr->getUserData($userid);
if ($getData) {
$result = $getData->fetch_assoc();
?>
<table class="tbl">
<tr>
<td>Name</td>
</tr>
<tr>
<td>Username</td>
</tr>
<tr>
<td>Email</td>
</tr>
<tr>
<td></td>
</td>
</tr>
</table>
<?php } ?>
</form>
</div>
</div>
User register.php
<div class="main">
<img src="img/regi.png"/>
</div>
<div class="segment">
<table>
<tr>
<td>Name</td>
</tr>
<tr>
<td>Username</td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td>E-mail</td>
</tr>
<tr>
<td></td>
</td>
</tr>
</table>
</form>
<span id="state"></span>
</div>
</div>
Starttest.php
<div class="main">
<img src="img/regi.png"/>
</div>
<div class="segment">
<table>
<tr>
<td>Name</td>
</tr>
<tr>
<td>Username</td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td>E-mail</td>
</tr>
<tr>
<td></td>
</td>
</tr>
</table>
</form>
<span id="state"></span>
</div>
</div>
Test.php
<?php
Session::checkSession();
if (isset($_GET['q'])) {
}else{
header("Location:exam.php");
$total = $exm->getTotalRows();
$question = $exm->getQuesByNumber($number);
?>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$process = $pro->processData($_POST);
?>
<div class="main">
<div class="test">
<table>
<tr>
<td colspan="2">
</td>
</tr>
<?php
$answer = $exm->getAnswer($number);
if ($answer) {
?>
<tr>
<td>
<input type="radio" name="ans" value="<?php echo $result['id']; ?>" /><?php echo $result['ans']; ?>
</td>
</tr>
<?php }} ?>
<tr>
<td>
</td>
</tr>
</table>
</form>
</div>
</div>
User viva.php
<?php
Session::checkSession();
$total = $exm->getTotalRows();
?>
<div class="main">
<div class="viewans">
<table>
<?php
$getQues = $exm->getQueByOrder();
if ($getQues) {
?>
<tr>
<td colspan="2">
</td>
</tr>
<?php
$number = $question['quesNo'];
$answer = $exm->getAnswer($number);
if ($answer) {
?>
<tr>
<td>
<input type="radio"/>
<?php
if ($result['rightAns'] == '1') {
}else{
echo $result['ans'];
?>
</td>
</tr>
<?php }} ?>
<?php }} ?>
</table>
</div>
</div>
Getregister.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/classes/User.php');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$userregi = $usr->userRegistration($name,$username,$password,$email);
}
?>
Getlogin.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/classes/User.php');
//there have no need if condition because we are passing values using ajaz
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$email = $_POST['email'];
$password = $_POST['password'];
$userlogin = $usr->userLogin($email,$password);
?>
Final.php
<?php
Session::checkSession();
?>
<div class="main">
<div class="starttest">
<p>Final Score:
<?php
if (isset($_SESSION['score'])) {
echo $_SESSION['score'];
unset($_SESSION['score']);
?>
</p>
</div>
</div>
Exam.php
<?php
Session::checkSession();
?>
<div class="main">
<img src="img/online_exam.png"/>
</div>
<div class="segment">
<h2>Start Test</h2>
<ul>
</ul>
</div>
</div>
Admin index.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/inc/header.php');
?>
<div class="main">
<div class="adminpanel">
</div>
</div>
Login.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/inc/loginheader.php');
include_once ($filepath.'/../classes/Admin.php');
?>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$adminData = $ad->getAdminData($_POST);
?>
<div class="main">
<div class="adminlogin">
<table>
<tr>
<td>Username<br/>
</tr>
<tr>
<td>Password<br/>
</tr>
<tr>
<td><br/>
</tr>
<tr>
<td colspan="2">
<?php
if (isset($adminData)) {
echo $adminData;
?>
</td>
</tr>
</table>
</from>
</div>
</div>
Addquestion.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/inc/header.php');
include_once ($filepath.'/../classes/Exam.php');
?>
<style>
.adminpanel{width: 480px;color: #999;margin: 20px auto 0;padding: 30px;border: 1px solid #ddd;}
</style>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$addQue = $exm->addQuestions($_POST);
//Get Total
$total = $exm->getTotalRows();
$next = $total+1;
?>
<div class="main">
<?php
if (isset($addQue)) {
echo $addQue;
?>
<div class="adminpanel">
<table>
<tr>
<td>Question No</td>
<td>:</td>
if(isset($next)){
echo $next;
?>" name="quesNo"></td>
</tr>
<tr>
<td>Question</td>
<td>:</td>
</tr>
<tr>
<td>Choice One</td>
<td>:</td>
</tr>
<tr>
<td>Choice Two</td>
<td>:</td>
</tr>
<tr>
<td>Choice Three</td>
<td>:</td>
</tr>
<tr>
<td>Choice Four</td>
<td>:</td>
</tr>
<tr>
<td>Correct No.</td>
<td>:</td>
</tr>
<tr>
<td colspan="3" align="center">
</td>
</tr>
</table>
</form>
</div>
</div>
Admin.css
*{margin:0;padding:0;outline:none}
body{font-family:verdana}.phpcoding{
width:900px;
margin: 0 auto;
height:600px;
.maincontent {
font-size: 18px;
min-height: 430px;
padding: 20px;
color:green;
.success{
color:green;
display: block;
padding-bottom: 5px;}
.error {
color: red;
display: block;
padding-bottom: 5px;
p{margin:0}
input[type="text"], input[type="password"]{
margin-bottom: 10px;
padding: 10px;
width: 350px;
input[type="number"]{
margin-bottom: 10px;
padding: 5px;
width: 100px;
input[type="submit"] {
cursor: pointer;
font-size: 15px;
.tblone td {
font-size: 15px;
table.tblone th {
background-color: #d0d0d0;
table.tblone tr:nth-child(2n+1){background:#fff;height:30px;}
table.tblone tr:nth-child(2n){background:#f1f1f1;height:30px;}
.tblone td a{color:#3399FF;}
.menu{overflow:hidden;}
.menu ul{margin:0;padding:0;list-style:none}
.menu ul li{display:block;float:left;}
.menu ul li a {
color:#E3E4FA;
text-align:center;
padding:37px;
background:#7F462C;
font-family:Segoe Print;
.segment {
border-radius: 4px;
float: left;
min-height: 225px;
padding: 20px;
width: 357px;
.segment img {
height: 200px;
margin-left: 80px;
padding-top: 12px;
.segment h2 {
font-size: 20px;
margin-bottom: 10px;
padding-bottom: 5px;
text-align: center;
.segment a:hover{text-decoration:none}
.segment ul {
margin: 0 0 0 70px;
padding: 0;
.segment ul li{}
.segment ul li a {
border-radius: 3px;
color: #3399ff;
display: block;
margin-bottom: 5px;
text-align: center;
text-decoration: none;
width: 200px;
.test {
margin: 0 auto;
max-width: 600px;
padding: 20px;
}
.test input[type="radio"] {
margin-bottom: 10px;
margin-right: 10px;
cursor:pointer;
.test h3 {
font-size: 16px;
margin-bottom: 10px;
padding-bottom: 10px;
.starttest {
margin: 0 auto;
padding: 20px;
width: 590px;
.starttest h2 {
font-size: 20px;
margin-bottom: 10px;
padding-bottom: 10px;
text-align: center;
.starttest ul li{margin-top:5px;}
.starttest a {
color: #3399ff;
display: block;
margin-top: 10px;
text-align: center;
text-decoration: none;
.main {
background: #fff;
.footeroption{
color:#614051;
text-align:right;
width:10px;
Login.css
*{margin:0;padding:0;outline:none}
body{font-family:verdana}.phpcoding{
width:900px;
margin: 0 auto;
height:500px;
.footeroption{
color:#E3E4FA;
text-align:center;
padding:20px;
background:#7F462C;
font-size: 18px;
min-height: 430px;
padding: 20px;
.success{
color:green;
display: block;
padding-bottom: 5px;}
.error {
color: red;
display: block;
padding-bottom: 5px;
p{margin:0}
input[type="text"], input[type="password"] {
margin-bottom: 10px;
padding: 5px;
width: 238px;
color:#008080;
input[type="submit"] {
cursor: pointer;
font-size: 15px;
color: #008080;
font-family:Arial Black;
table.tblone tr:nth-child(2n+1){background:#fff;height:30px;}
table.tblone tr:nth-child(2n){background:#f1f1f1;height:30px;}
.main h1 {
color: #254117;
text-align:center;
font-size:60px;
border-radius: 20px;
padding:5px;
width: 280px;
background: #E5E4E2;
.adminlogin {
border-radius: 50px;
padding: 70px;
width: 245px;
background:#4f435d ;
height:190px;
font-family:Rockwell;
color:#008080;
font-size:22px;
height:200px;
}