Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Swe2019-Design Patterns Fly Weight Pattern in Online Examination System Review - Iii Document Slot-A1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

SWE2019-DESIGN PATTERNS

FLY WEIGHT PATTERN IN ONLINE EXAMINATION SYSTEM

REVIEW – III DOCUMENT

SLOT-A1

M.Tech. (5 Years Integrated)

in

Software Engineering

by

M.SURYA - 15MIS0259
M.VIGNESH - 15MIS0291
C.PUGAZHARASAN - 15MIS0345
R.PRADEEP KUMAR – 15MIS0359

SCHOOL OF INFORMATION TECHNOLOGY AND


ENGINEERING
ABSTARCT :

Online examination system is a web-based examination system where examinations


are given online. either through the internet or intranet using computer system. The main goal of
this online examination system is to effectively evaluate the student thoroughly through a totally
automated system that not only reduce the required time but also obtain fast and accurate results.
Online examination project could be a web portal which is developed or implemented in java
domain or platform. This project is helpful for students to practice different mock examinations
from this site. In current generation lots of the examinations like GRE is conducted through online
system. This project will help students to get practiced to online examination method b% taking
mock tests from this web portal. Online examination portal is implemented in & modules student
examination module and examination admin module. "domain module will add multiple courses
under different branches so students can know about test details. student examination module
students ought to register with application and choose interested courses and participate in the
online test.

PROBLEM :
A Online examination portal that lets student login and attend exams conducted by admin
of the system.Students are grouped under different cateogries based on courses. Questions can be
added under each course.Exam can be conducted for different courses.

DESIGN PATTERN :
FLYWEIGHT – STRUCTURAL PATTERN
Intent :
Use shared objects to support large number of fine grained objects efficiently
Pattern Applicablity to Scenario :
Resources such as Questions database is shared among students objects there by
optimising the memory usage.

Modules:

 Student Registration
 Create Exam
 Add Questions
 Conduct Exam
 Student Login
 Attend Exam
 View Exam Score
Tools:
 Laravel – A Php Framework
 Bootstrap – UI
 MySql - Database
OBJECTIVE:
Learning of student can be assessed by objective type and subjective type questions.
Educationists and behavioral scientists declare subjective writing skills essential for senior
management positions. Investigation revealed that IT professionals who qualified through objective
type online examination and lack subjective writing skills could not earn rise in career to top
management positions easily. The study considered ability of a student to express knowledge
subjectively as the independent variable and higher management position requirements as the
dependent variable. It hypothesized better the student of higher level education in his/her subjective
expression, more considerable s/he will be for positions at senior management in business
organizations.The study selected 100 private companies engaged in the field of Information
Technology (IT) in Rawalpindi and Islamabad, Pakistan who seek OCP or MCSD or MCSE
certified professionals. The study employed simple interviewing approach for collecting data from
the HR departments of the selected companies about how many OCPs, MCSDs and MCSEs have
been promoted to higher management positions and how their subjective expression skills were
considered for promoting them to senior positions. It found that promotions were too few among
the IT professional lacking subjective writing skills. The study reocmmended to ensure subjective
expression writing skills during assessment.

INTRODUCTION:
Examinations are an essential piece of deciding students' accomplishments. They are
utilized to decipher the amount of information picked up by students. They give a quantitative
review and are frequently given toward the end of a unit or lesson to establish that learning targets
have been met. They are likewise used to assess what students know and what they can do. The
advent and ubiquity of the Web today has popularized online examinations (examinations that are
conducted over the Web) [8]. Online examinations are advantageous and fast especially when
grading a large class of students. It also reduces the use of paper thereby helping to protect the
environment. Most online examination systems in existence today can handle objective
examinations but not necessarily essay-type questions. Although objective examinations are easy
to grade, they are not the best determinant of a student’s understanding of a subject [2]. On
the other hand, existing systems that provide the option for grading theory questions do not
always provide instant automated grading of the theory questions. This forms the motivation
for this study.
EXISTING SYSTEM:

We have study ABC College and find existing system is manual entry and keeping of the details
of the student who are registered already. And it is very difficult for each student to come to the
exam center. It is very difficult to the students from far distance to reach the exam center. This
system is required to prepare registration\application form, question paper for the students and
required to print a lot of number manually. To calculate how many students registered, and
verification of details of these students in a month by hand is very difficult. This requires quite a lot
of time and wastage of money as it requires quite lot of manpower to do that. Another factor that
takes into account that is the possibility of errors. The limitation of existing system is that it is not
all personalized. It cannot be used for personal and quick reference. Even the other staff members
can make quick entries if the responsible person is not present.

 Time Consuming for creating question paper


 Time to check right and wrong answers
 Calculation of Marks
 Human error
 Limitation of no of student can give examination at a time
 Require teacher to monitor exam center
 Student needs to come exam center for giving test

PROPOSED SYSTEM:

The modern computerized system is developed with the aim to overcome the drawbacks of
existing manual system. We have study manual examination system of ABC college and identify
possible automation. The proposed system has got many advantages. People from different parts of
the world can register very easily. The new system is more personalized. It is maze in such a
manner that all the new users can understand all the options in it very easily. It is made in a quick
and easy referential manner. Access to all important matters are not always locked and can be
opened easily at the time of urgency. The advantages of proposed system are that security is
maintained in the new system. Securities for all important data are maintained confidentially. As it
is easily understandable and user friendly, quick entries can be made in this system

 Provides complete online web based solution, including student registration, giving tests,
storing of results.
 Complete web based administration, administrator can manage examination and question
bank from web interface.
 No geographical boundary
 Student can give examination from anywhere of the world by 24X7
 100% accuracy in result calculation
 Randomization of question set
IMPLEMENTATION:
Student Controller
<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;

use Auth;
use App\Batch;
use App\Conductexam;
use App\Exam;
use App\Mcq;
use App\Mcqimg;
use App\Fillup;
use App\Fillupimg;
use App\Mtf;
use App\Mtfimg;
use App\Result;
use Session;

class HomeController extends Controller


{
/**
* Create a new controller instance.
*
* @return void
*/

public function __construct()


{
$this->middleware('auth');
}

/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$batchfk = Auth::user()->batchfk;
$stid = Auth::user()->id;
$bt=Conductexam::where('batchfk',$batchfk)->get();
$exam = Exam::where('id',$bt[0]->examidfk)->first();
$result = Result::where('examidfk',$bt[0]->examidfk)->where('studentidfk',$stid)->first();
return view('home')->with('batches',$bt)->with('exam',$exam)->with('result',$result);
}
public function startexam($examid){

$duration = Exam::where('id',$examid)->first();
$obj = Mcq::where('examidfk',$examid)->get();
$objcount = $obj->count();
$objimg = Mcqimg::where('examidfk',$examid)->get();
$objimgcount = $objimg->count();
$fillup = Fillup::where('examidfk',$examid)->get();
$fillupcount = $fillup->count();
$fillupimg = Fillupimg::where('examidfk',$examid)->get();
$fillupimgcount = $fillupimg->count();
$mtf = Mtf::where('examidfk',$examid)->get();
$mtfcount = $mtf->count();
$mtfimg = Mtfimg::where('examidfk',$examid)->get();
$mtfimgcount = $mtfimg->count();
session()->put('key', 'value');
$stid = Auth::user()->id;
$result = Result::where('examidfk',$examid)->where('studentidfk',$stid)->first();
if(!empty($result)){
Session::flash('fail', 'You have completed the exam already and Your Score is '.$result-
>marks);

return
view('exam',compact('examid','obj','objcount','objimg','objimgcount','fillup','fillupcount','fillupimg','f
illupimgcount','mtf','mtfcount','mtfimg','mtfimgcount','duration')) ;
}
return
view('exam',compact('examid','obj','objcount','objimg','objimgcount','fillup','fillupcount','fillupimg','f
illupimgcount','mtf','mtfcount','mtfimg','mtfimgcount','duration')) ;
}
public function result(){
return view('result');
}
public function submitexam(Request $request){
$examid = $request->examid;
// $batchfk = Auth::user()->batchfk;
$stid = Auth::user()->id;
$result = Result::where('examidfk',$examid)->where('studentidfk',$stid)->first();
if(!empty($result)){
Session::flash('failed', 'You have completed the exam already and Your Score is '.$result-
>marks);
return redirect()->route('user.result');
}
else{
$exam = Exam::where('id',$examid)->first();
$totalmark = $exam->mark*$exam->noofqns;
$obj = Mcq::where('examidfk',$examid)->get();
$objcount = $obj->count();
$objimg = Mcqimg::where('examidfk',$examid)->get();
$objimgcount = $objimg->count();
$fillup = Fillup::where('examidfk',$examid)->get();
$fillupcount = $fillup->count();
$fillupimg = Fillupimg::where('examidfk',$examid)->get();
$fillupimgcount = $fillupimg->count();
$mtf = Mtf::where('examidfk',$examid)->get();
$mtfcount = $mtf->count();
$mtfimg = Mtfimg::where('examidfk',$examid)->get();
$mtfimgcount = $mtfimg->count();
$count=0;

if($request->has('opt')){
for ($i=1,$j=0; $i <= $objcount ; $i++,$j++) {
$opt= "opt".$i;

if(!strcmp($obj[$j]->crctanswer,$request->$opt)){
$count=$count+1;
}

}
}

if($request->has('opti')){

for ($i=1,$j=0; $i <= $objimgcount ; $i++,$j++) {


$opti= "opti".$i;

if(!strcmp($objimg[$j]->crctanswer,$request->$opti)){
$count=$count+1;
}

}
}
if($request->has('fill')){

for ($i=1,$j=0; $i <= $fillupcount ; $i++,$j++) {


$fill= "fillans".$i;

if(!strcmp($fillup[$j]->crctanswer,$request->$fill)){
$count=$count+1;
}
}
}
if($request->has('filli')){

for ($i=1,$j=0; $i <= $fillupimgcount ; $i++,$j++) {


$filli= "fillians".$i;
if(!strcmp($fillupimg[$j]->crctanswer,$request->$filli)){
$count=$count+1;
}

}
}
if($request->has('mt')){

for ($i=1,$j=0; $i <= $mtfcount ; $i++,$j++) {


$mt= "mtf".$i;

if(!strcmp($mtf[$j]->crctanswer,$request->$mt)){
$count=$count+1;
}
}
}
if($request->has('mtfi')){

for ($i=1,$j=0; $i <= $mtfimgcount ; $i++,$j++) {


$mtfi= "mtfi".$i;

if(!strcmp($mtfimg[$j]->crctanswer,$request->$mtfi)){
$count=$count+1;
}

}
}

$score = $count*$exam->mark;
session()->put('result', $count);
$result = new Result;
$result->studentidfk = Auth::user()->id;
$result->examidfk = $examid;
$result->marks = $score;
$result->save();

Session::flash('success', 'Your Score is '.$score. ' Out of '.$totalmark);


return redirect()->route('user.result');
}
}
public function studentabout()
{
$subid = Auth::user()->student_sub_idfk;
$subid2 = Auth::user()->student_sub_idfk2;
$subid3 = Auth::user()->student_sub_idfk3;
$subid4 = Auth::user()->student_sub_idfk4;
$subid5 = Auth::user()->student_sub_idfk5;

$grp = Subject ::where('sub_id',$subid)->get();


$grp2 = Subject ::where('sub_id',$subid2)->get();
$grp3 = Subject ::where('sub_id',$subid3)->get();
$grp4 = Subject ::where('sub_id',$subid4)->get();
$grp5 = Subject ::where('sub_id',$subid5)->get();
// $videos = Videomaterials ::where('sub_idfk',$studentid)->get();

return view('userabout')->with('grp',$grp)->with('grp2',$grp2)->with('grp3',$grp3)-
>with('grp4',$grp4)->with('grp5',$grp5);

}
public function studentcontact()
{
$studentid = Auth::user()->student_sub_idfk;
$grp = Subject ::where('sub_id',$studentid)->get();
$videos = Videomaterials ::where('sub_idfk',$studentid)->get();
// $groupname=$groupname->subtitle;
return view('usercontact')->with('grp',$grp)->with('videos',$videos);
}
public function coursecontent($group){
$subid = Auth::user()->student_sub_idfk;
$subid2 = Auth::user()->student_sub_idfk2;
$subid3 = Auth::user()->student_sub_idfk3;
$subid4 = Auth::user()->student_sub_idfk4;
$subid5 = Auth::user()->student_sub_idfk5;

$grp = Subject ::where('sub_id',$subid)->get();


$grp2 = Subject ::where('sub_id',$subid2)->get();
$grp3 = Subject ::where('sub_id',$subid3)->get();
$grp4 = Subject ::where('sub_id',$subid4)->get();
$grp5 = Subject ::where('sub_id',$subid5)->get();

$selgrp = Subject ::where('sub_id',$group)->get();


$videos = Videomaterials ::where('sub_idfk',$group)->get();
// $groupname=$groupname->subtitle;
return view('usercoursecontent')->with('grp',$grp)->with('grp2',$grp2)->with('grp3',$grp3)-
>with('grp4',$grp4)->with('grp5',$grp5)->with('selgrp',$selgrp)->with('videos',$videos);
}
public function videomaterials(){
$studentid = Auth::user()->student_sub_idfk;
$videos = Videomaterials ::where('sub_idfk',$studentid)->get();
$grp = Subject ::where('sub_id',$studentid)->get();
// $videos = $filtered->all();

return view('videomaterials')->with('videos',$videos)->with('grp',$grp);
}
public function getVideo($video)
{

$fileContents = Storage::disk('local')->get($video);
$response = Response::make($fileContents, 200);
// $response->header('Content-Type', "video/mp4;");
return $response;
}

public function pdvideomaterials(){


$subid = Auth::user()->student_sub_idfk;
$subid2 = Auth::user()->student_sub_idfk2;
$subid3 = Auth::user()->student_sub_idfk3;
$subid4 = Auth::user()->student_sub_idfk4;
$subid5 = Auth::user()->student_sub_idfk5;

$grp = Subject ::where('sub_id',$subid)->get();


$grp2 = Subject ::where('sub_id',$subid2)->get();
$grp3 = Subject ::where('sub_id',$subid3)->get();
$grp4 = Subject ::where('sub_id',$subid4)->get();
$grp5 = Subject ::where('sub_id',$subid5)->get();
$videos = Personalitydevs::all();
// $videos = $filtered->all();
return view('pdvideomaterials')->with('videos',$videos)->with('grp',$grp)-
>with('grp2',$grp2)->with('grp3',$grp3)->with('grp4',$grp4)->with('grp5',$grp5);
}
}

RESULT:

CONCLUSION:

This Web Application provides facility to conduct online examination world wide. It saves
time as it allows number of students to give the exam at a time and displays the results as the test
gets over, so no need to wait for the result. It is automatically generated by the server.
Administrator has a privilege to create, modify and delete the test papers and its particular
questions. User can register, login and give the test with his specific id, and can see the results as
well.

You might also like