Swe2019-Design Patterns Fly Weight Pattern in Online Examination System Review - Iii Document Slot-A1
Swe2019-Design Patterns Fly Weight Pattern in Online Examination System Review - Iii Document Slot-A1
Swe2019-Design Patterns Fly Weight Pattern in Online Examination System Review - Iii Document Slot-A1
SLOT-A1
in
Software Engineering
by
M.SURYA - 15MIS0259
M.VIGNESH - 15MIS0291
C.PUGAZHARASAN - 15MIS0345
R.PRADEEP KUMAR – 15MIS0359
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.
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;
/**
* 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')){
if(!strcmp($objimg[$j]->crctanswer,$request->$opti)){
$count=$count+1;
}
}
}
if($request->has('fill')){
if(!strcmp($fillup[$j]->crctanswer,$request->$fill)){
$count=$count+1;
}
}
}
if($request->has('filli')){
}
}
if($request->has('mt')){
if(!strcmp($mtf[$j]->crctanswer,$request->$mt)){
$count=$count+1;
}
}
}
if($request->has('mtfi')){
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();
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;
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;
}
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.