Anda di halaman 1dari 79

PROJECT REPORT

ON

ONLINE QUIZ SYSTEM

Submitted as a part of course curriculum for

Bachelor of Engineering in

Information Technology

Under the Guidance of: Submitted by:

S.S Paul Padmini Pal (20088067)

CSED, MNNIT Karishma Mittal (20082037)

Harpreet Kaur (20089018)

Akangkhi Borah (20058025)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY


ALLAHABAD -211004, U.P (INDIA)

CERTIFICATE

This is to certify that the Server Side Programming project titled ―ONLINE QUIZ

SYSTEM‖ submitted by Karishma Mittal, Padmini Pal, Harpreet Kaur and Akangkhi Borah of
Information Technology under the Computer Science and Engineering Department, Motilal
Nehru National Institute of Technology (Deemed University), Allahabad, is a bonafide work of
students carried out under my supervision during the year 2011. During the project development
period their performance and conduct the excellent.

I wish them all success in future.

S.S Paul M.M Gore


Project Guide Course Coordinator

CSE HOD, CSE

DATE: 27 April 2011


ACKNOWLEDGEMENT

We take this opportunity to express our gratitude to all those people who extended their co-
operation and played their important role in successful completion of this project.

We express our sincere thanks to M.M Gore, H.O.D, Computer Science for providing invaluable
support and guidance throughout the project.

Under the guidance and motivation of S.S Paul, this project on ―ONLINE QUIZ
SYSTEM‖ has emerged as a success. By this project, we came to know how to
develop the web services and their actual implementation.

Whenever we had any problem related to the implementation of our idea, we


always found a solution under his guidance.

We will be highly obliged to S.S Paul for his valuable instructions and
coordination.

Thank You Sir

Padmini Pal (20088067)

Karishma Mittal (20082037)

Harpreet Kaur (20089018)

Akangkhi Borah (20058025)


INDEX

1. Introduction
1.1 Problem Statements
1.2 Scenario
1.3 Available Solution
1.4 Project Perspective
1.5 Users of the Project

2. Brief SRS
2.1 Introduction
2.1.1 Project Scope
2.1.2 Benefits
2.1.3 Constraints
2.1.4 Assumptions and Dependencies
2.2 Project Description
2.2.1 Functions of Project
2.2.2 Modules used
2.3 Requirement Analysis
2.3.1 User Requirement
2.3.2 Feasibility Study
2.3.3 Software Requirement
2.3.4 Hardware Requirement
2.4 Future Scopes
2.5 Bibliography

3. Discussion of Technologies Used


4. Design
4.1 Database Design(Tables Used and ER)
4.2 DFD
4.3 Use case Diagram
4.4 Sequence Diagram

5. Project Planning
5.1 Software Model Used
5.2 GANTT chart
5.3Responsibility Distribution

6. Salient Coding Features Used


7. Important Source Code
8. Code Efficiency
8.1 Validation
8.2 Time and space Resource Utilization

9. Testing
9.1 Type of Testing Used
9.2 Testing Strategy
9.3 Test Cases Design

10. Cost of Project


11. Final Project Screen Shot
1. Introduction

1.1 Problem Statement

The ONLINE QUIZ is a web application for to take online test in an efficient manner
and no time wasting for checking the paper. The main objective of ONLINE QUIZ is
to efficiently evaluate the candidate thoroughly through a fully automated system
that not only saves lot of time but also gives fast results. For students they give
papers according to their convenience and time and there is no need of using extra
thing like paper, pen etc.
This project is basically built for students of the engineering collage. It is built on
PHP which is very helpful and doesn’t need much Complexity. So it makes the
project efficient and time saving. This website helps all the students who are the
member of any college. They can check their Domain Knowledge. The System
purpose is to completely automate the old manual procedure of conducting exam to
Online Web Based Examination System.

1.2 Scenario

Scenario of this project is very broad in terms of other manually taking exams.

Few of them are:-


 This can be used in educational institutions as well as in corporate
world.
 Can be used anywhere any time as it is a web based application(user
Location doesn’t matter).
 No restriction that examiner has to be present when the candidate
takes the test.
1.3 Available Solution
Solution based on expert system is suggested.

 Authentication: every user (faculty, administrator etc.) is authenticated before


allowing to login.
 Automation: Examination is automated completely. The faculty can add/delete
the questions according to their subjects. The checking of questions is done by the
system using predefined answers fed to system. Hence results are available
immediately after exam. All exam is available on intranet/internet depending
upon access rights. Modules need to be cleared sequentially hence flags are set.
Passing criteria can be easily set or modified through rules. Time-line can be set
clearing exam and modules.
 Study material: Study material is available online and is accessible depending on
 modules cleared.
 Result Analysis: Various results are prepared and also in-built functionality is
available for analysis of results.
 Monitoring of candidate: Expert system can monitor candidates performance .
The rules are added/modified by experts when and as required.

1.4 Project Perspective

 The web pages are used to provide the User Interface on client type basis.
 Communication between Client and Server is provided through HTTP Protocols.
 On the server side web server is WAMP server and database server is for
storing the information.
1.5 Users of the project
a) Students :
It is basically a Examination for the engineering College students, so it can be
used by Students who are associated with college, examination is available for
them. Students sitting in their rooms can also use it for their Exam. So it is
helpful in saving time which is precious for Student nowadays. And this way
they can easily Check their knowledge about their subjects of interest.
b) Faculty :
Another user mostly faculty member, lecturer or examiner who posts set of
questions of the concerned subject, the available options and correct answers and
can even view the question paper.
c) Administrator:
Super user, who adds faculty and his concerned subject. He can even alter the
student and faculty records.

2. Brief SRS

2.1 Introduction
Online quiz are a popular form of entertainment for web surfers. Online Quiz are
generally free to play & for entertainment purposes only though ONLINE QUIZ website
offer prices.
Online quiz is setup to actually test knowledge or identity a person’s attribute. Some
companies use online quiz as an efficient way of testing a potential hire’s knowledge
without that candidate needing to travel.

2.1.1 Project Scope:


Scope of this project is very broad in terms of other manually taking exams.
Few of them are:-
 This can be used in educational institutions as well as in corporate world.
 Can be used anywhere any time as it is a web based application (users’
Location doesn’t matter).
 No restriction that administrator has to be present when the candidate takes
the test.
 This project would be very useful for regular evaluation of students.
2.1.2. Benefits:
 Responses by the candidates will be checked automatically and instantly.
 Online examination will reduce the hectic job of assessing the answers given
by the candidates.
 Being an integrated Online Examination System it will reduce paper work.
 Can generate various reports almost instantly when and where required.
 Tutorials for the relevant subjects are available.

2.1.3. Constraints:
 Exam can be give by only registered students through login, there is no
facility for guest client.
 Students must have to register themselves for giving the exam and after
registration.
 Students are not allowed to give exam till 24 hours.
 GUI is in only English language.
 Limited to HTTP/HTTPS.
 The students have no access to the data bases.

2.1.4. Assumptions and Dependencies:

 Administrator has complete authority over database.


 Students have no authority over the database.
 Administrator has the authority to add/delete faculty accounts, branch and
Subjects.
 Faculty has only authority to add/delete questions and their respective
subjects.
2.2 Product Description
2.2.1. Functions of the project:
Required software is for conducting on-line `objective’ type examination and
providing immediate results. The system should satisfy the following requirements.

Administrator Aspect
1. Taking backup of the database
2. Editing/Deleting/Creating the database.
3. Create/Edit/Delete candidate
4. Logging into the system.
5. Accepting registrations of candidates
6. Adding the candidate to the database
7. Creating a test
8. Posting questions in the above test
9. Marking correct answer within the given options
10. Set negative marks for wrong responses

Student Aspect
1. Requesting registration
2. Logging into the system.
3. Edit user information.
4. Selecting the test.
5. Selecting the difficulty level of the test.
6. Appearing for the examination.
7. Printing the result at the end of the examination

2.2.2 Modules Used:


There are two sub modules in this phase.

 Candidate module.
 Administrator module.
The functionality of each module is as follows.

Candidate module: The candidate will logon to the software and take his examination.
He can also check his previous examinations marks and his details. The candidate will
get result immediately after the completion of the examination.

Administrator module: The database is prepared & loaded into the software. Selection
for examination can be done language wise by the administrator. The results will be
displayed immediately after completion of the examination. The administrator collects
all the results after successful completion of the examination and sends the results to the
database.

2.3 Requirement Analysis

2.3.1 User Requirement:

 Chancellor who will be acting as the controller and he will have all the privileges of
administrator.

 Students who will be using the above features by accessing the Exam online.

 Administrator who will prepare and load database into the software.

 Application will be accessed through a Browser Interface. The interface would be


viewed best using 1024 x 768 and 800 x 600 pixels resolution setting. The software
would be fully compatible with Microsoft Internet Explorer for version 6 and above.
No user would be able to access any part of the application without logging on to the
system.

2.3.2 Feasibility study

Feasibility study is the process of determination of whether or not a project is worth doing.
Feasibility studies are undertaken within tight time constraints and normally culminate in a
written and oral feasibility report. I have taken two weeks in feasibility study with my co-
developer. The contents and recommendations of this feasibility study helped us as a sound
basis for deciding how to proceed the project. It helped in taking decisions such as which
software to use, hardware combinations.

The following is the process diagram for feasibility analysis. In the diagram, the feasibility
analysis starts with the user set of requirements. With this, the existing system is also
observed. The next step is to check for the deficiencies in the existing system. By
evaluating the above points a fresh idea is conceived to define and quantify the required
goals. The user consent is very important for the new plan. Along with, for implementing
the new system, the ability of the organization is also checked. Besides that, a set of
alternatives and their feasibility is also considered in case of any failure in the proposed
system. Thus, feasibility study is an important part in software development.

WORKING CURRENT SYSTEM USERS CONSESUS

DEFICIENCES IN
USER CURRENT SYSTEM
STATED
REQUIREMENTS ANALYZE TO FIND DEFINE AND
DEFICIENCES QUANTIFY GOALS

REVISION BASED ON FEASIBILITY

CONSTRAINTS ON RESOURCES

EVALUATE FIND BROAD


FEASIBILITY OF ALTERNATIVE
ALTERNATES SOLUTION
PROPOSED FEASIBILITY
ALTERNATIVES
ALTERNATIVES

(Figure – 1. PROCESS DIAGRAM FOR FEASIBILITY ANALYSIS)


a) Economic Feasibility

Economical feasibility determines whether there are sufficient benefits in creating to make
the cost acceptable, or is the cost of the system too high. As this signifies cost-benefit
analysis and savings. On the behalf of the cost-benefit analysis, the proposed system is
feasible and is economical regarding its pre-assumed cost for making a system.

During the economical feasibility test we maintained the balance between the Operational
and Economical feasibilities, as the two were the conflicting. For example the solution that
provides the best operational impact for the end-users may also be the most expensive and,
therefore, the least economically feasible.

 Economic analysis is most frequently used for evaluation of the effectiveness of the
system. More commonly known as cost/benefit analysis the procedure is to determine
the benefit and saving that are expected from a system and compare them with costs,
decisions is made to design and implement the system.

 This part of feasibility study gives the top management the economic justification for the
new system. This is an important input to the management , because very often the top
management does not like to get confounded by the various technicalities that bound to
be associated with a project of this kind.

 A simple economic analysis that gives the actual comparison of costs and benefits is
much more meaningful in such cases.

 In the system, the organization is most satisfied by economic feasibility.

 Because, if the organization implements this system, it need not require any additional
hardware resources as well as it will be saving lot of time.
As we know that the system development costs are usually one-time costs that will not
recur after the project has been completed. For calculating the Development costs we
evaluated certain cost categories viz.

(i) Personnel costs


(ii) Computer usage
(iii) Training
(iv) Supply and equipments costs
(v) Cost of any new computer equipments and software.
In order to test whether the Proposed System is cost-effective or not we evaluated it
through three techniques viz.

 Payback analysis
 Return on Investment:
 Net Present value

b) Technical Feasibility

 Technical feasibility centers on the existing manual system of the test management
process and to what extent it can support the system.

 Technical feasibility determines whether the work for the project can be done with the
existing equipment, software technology and available personnel. Technical feasibility is
concerned with specifying equipment and software that will satisfy the user requirement.

 According to feasibility analysis procedure the technical feasibility of the system is


analyzed and the technical requirements such as software facilities,procedure, inputs are
identified. It is also one of the important phases of the system development activities.

 The system offers greater levels of user friendliness combined with greater processing
speed. Therefore, the cost of maintenance can be reduced. Since processing speed is very
high and the work is reduced in the maintenance point of view management convince that
the project is operationally feasible.

c) Behavioral Feasibility

 People are inherently resistant to change and computer has been known to facilitate
changes.

 An estimate should be made of how strong the user is likely to move towards the
development of computerized system.

 These are various levels of users in order to ensure proper authentication and
authorization and security of sensitive data of the organization.

d) Operational feasibility

Operational feasibility criteria measure the urgency of the problem (survey and study
phases) or the acceptability of a solution (selection, acquisition and design phases). How do
you measure operational feasibility? There are two aspects of operational feasibility to be
considered:
Is the problem worth solving or will the solution to the problem work?
There are certain measures, which decide, the effectiveness of the system. These
measures can be collectively called as PIECES.

P (Performance):
The Online Quiz system provides adequate throughput and response time.

I (Information):

The Online Quiz system provide end-users and managers with tamely, pertinent,

accurate, and usefully formatted information.


E (Economy):

The Online Quiz system offers adequate service level and capacity to reduce the costs of
the business or increase the profits of the business.

C (Control):

The Online Quiz system offers adequate controls to protect against fraud and
embezzlement and to guarantee the accuracy and security of the data and information via
authentication checks.

E (Efficiency):

The CCTS make maximum use of available resources including people, time, flow of
forms, minimum processing delays and the like.

S (Services):

The Online Quiz system provide desirable and reliable service to those who need it. The
Online Quiz system is flexible and expandable.

2.3.3 . Software Requirements:


The project being web based required compatibility with at least the popular web
browsers. Microsoft Windows XP and above, Linux and Macintosh being the current
popular operating system and Microsoft Internet Explorer, Mozilla Firefox, Opera,
Safari and Google Chrome being the currently popular web browsers.

Server side software


 Web server software, Apache Tomcat
 Server side scripting tools: PHP
 Database tools: Sedna native XML DBMS.
 Compatible operating system: Linux/ Windows XP/2000/Vista
Client side software

 Web browser supporting JavaScript, refer Browser Compatibility 2.3.1


 HTML, Web Browser, Windows XP/2000/Vista

2.3.4 Hardware Requirements


The recommended hardware specified by the respective software would suffice the
needs. The memory and processing power needed would increase as the number of
users increase. The estimated hardware requirements are as specified.

Server Side

The minimum hardware as recommended by all of the software required on server


side say web server, operating system and development software

 Operating System: Windows 9x/xp ,Windows ME


 Processor: Pentium 3.0 GHz or higher
 RAM: 1GB
 Hard Drive: 10 GB or more
 Network interface

Client side

The minimum hardware as recommended by all of the software required on client side
say web browser, operating system.

 Operating System: Windows 9x or above, MAC or UNIX.


 Processor: Pentium III or 2.0 GHz or higher.
 RAM: 1GB
 User peripherals for better interaction
 True color visual display unit
 Minimum hardware depending on the operating system used.
2.4 Future Scopes
This project/software can also be implemented at an advanced level.
It is basically for Examination of students, so it can be used by Students who
are associated with any institute, examination. Students sitting in their place of
convenience and having access to the network of the institute, can also use it
for their Exam. So it is helpful in saving time which is precious for Student
nowadays. And this way they can easily Check their knowledge about their
subjects of interest.

2.5 Bibliography
 PHP Wrox Beginning PHP5, Apache, and MySQLWeb Development 2005.
 PHP 5 AND MY SQL BIBLE.
 How to Do Everything with PHP and MySQL (McGraw-Hill,2005).
 www.php.net
 httpd.apache.org
 www.mysql.com
 www.w3schools.com
 www.google.com

3 Discussion Of Technologies used

a) SQL- It is a web application framework developed and marketed by Microsoft to


allow programmers to build dynamic web sites, web applications and web services.
b) PHP- It is server side scripting language used for dynamic web development and
develop database driven website and web application.
c) XAMPP Server – WAMP Server is a package of Apache server, Mysql and
phpmyadmin which is used to Run PHP project on local host.
d) Adobe dreamweaver CS4 – IDE for writing php application code.
e) Apache server - Apache as web server has a tight integration with PHP and is also
available for various popular platforms.
f) Front end as – HTML is used for creating front end of the page as it is database-
application independent. That means that the HTML code doesn't contain any
information about what tables are present in the database or how the data is
organized.
g) Querying Language : SQL is used for creating, deleting and implementing all others
operations on the database.
4 Design

4.1 Database Design

a) ER Diagram :
b) Data Dictionary:

A data dictionary is a catalog-a-repository of the elements in a system. As the name


suggests, their elements center on data and the way they are structured to meet user
requirements and organization needs. In a data dictionary you will find a list of all the
elements composing the data flowing through a system. The major elements are data
flows, data stores and processes. The data Dictionary stores details and descriptions of
these elements.
If analysis want to know characters are in a data item by what other names it is
referenced in the system, or where it is referenced in the system, or where it is issued in
the system, they should be able to find the answers in issued in the system, they should be
able to find the answer in properly developed data dictionary.
The Dictionary contains two types of description for the data following through the
system.

1. Data Elements:
The most fundamental data is the elements. They are building blocks for all other
data in the system. Data elements are also alternatively known as fields, data item
or elementary item.
2. Data Structure:
A data structure is a set if items that are related to one another and described a
components in the system.

List Of Tables:

 Students
 qbch101
 qbcs201
 qbma101
 qbph101
 Faculty
 Results
Students:

1 name Varchar(20) Primary key


2 passwd Varchar(10) Primary key
3 cpi Float Attribute
4 sem Int(5) Attribute

qbch101:

1 Qno Int(10) Primary key


2 Ques Varchar(20) Attribute
3 Op1 Varchar(20) Attribute
4 Op2 Varchar(20) Attribute
5 Op3 Varchar(20) Attribute
6 Op4 Varchar(20) Attribute
7 Ans Varchar(20) Attribute
8 marks Int(5) Attribute

Qbcs201:

1 Qno Int(10) Primary key


2 Ques Varchar(20) Attribute
3 Op1 Varchar(20) Attribute
4 Op2 Varchar(20) Attribute
5 Op3 Varchar(20) Attribute
6 Op4 Varchar(20) Attribute
7 Ans Varchar(20) Attribute
8 marks Int(5) Attribute

qbma101

1 Qno Int(10) Primary key


2 Ques Varchar(20) Attribute
3 Op1 Varchar(20) Attribute
4 Op2 Varchar(20) Attribute
5 Op3 Varchar(20) Attribute
6 Op4 Varchar(20) Attribute
7 Ans Varchar(20) Attribute
8 marks Int(5) Attribute

qbph101:

1 Qno Int(10) Primary key


2 Ques Varchar(20) Attribute
3 Op1 Varchar(20) Attribute
4 Op2 Varchar(20) Attribute
5 Op3 Varchar(20) Attribute
6 Op4 Varchar(20) Attribute
7 Ans Varchar(20) Attribute
8 marks Int(5) Attribute
Results:

1 Name Varchar(20) Primary key

2 Course Varchar(20) Primary key

3 marks Int(5) Attribute

Faculty

1 Name Varchar(20) Primary key


2 Passwd Varchar(20) Primary key
3 courses Varchar(20) Attribute

4.2 Data Flow Diagram

a) DFD for students :


Level 1

b) DFD for faculty :


Level 1

c) DFD for Administrator :


Level 1
4.3 Use-case Diagram
4.4 Sequence Diagram

a) For Students:
b) For Administrator:
c) For Faculty :
5 Project Planning
5.1 Software model used

To solve actual problems in industry software developer or a team of developers must


incorporate strategy that encompass the process methods and two layers and generic phases.
This strategy is often referred to as process model or a software developing paradigm. A
process model for software development is chosen based on the nature of project and
application. The methods and tools to be used, and the controls and deliverables those are
required. All software developments can be categorised as problem solving loop in which
four distinct stages are encountered: Status quo, problem definition, technical development
and solution integration.

Regardless purpose of the process model that is chosen for a software project of all the stages
co exist simultaneously at some level of detail.

Our project follows the waterfall model

The stages of "The Waterfall Model" are:

Requirement Analysis & Definition: All possible requirements of the system to be


developed are captured in this phase. Requirements are set of functionalities and
constraints that the end-user (who will be using the system) expects from the system. The
requirements are gathered from the end-user by consultation, these requirements are
analyzed for their validity and the possibility of incorporating the requirements in the
system to be development is also studied. Finally, a Requirement Specification document
is created which serves the purpose of guideline for the next phase of the model.

System & Software Design: Before a starting for actual coding, it is highly important to
understand what we are going to create and what it should look like? The requirement
specifications from first phase are studied in this phase and system design is prepared.
System Design helps in specifying hardware and system requirements and also helps in
defining overall system architecture. The system design specifications serve as input for
the next phase of the model.

Implementation & Unit Testing: On receiving system design documents, the work is
divided in modules/units and actual coding is started. The system is first developed in
small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality; this is referred to as Unit Testing. Unit testing
mainly verifies if the modules/units meet their specifications.

Integration & System Testing: As specified above, the system is first divided in units
which are developed and tested for their functionalities. These units are integrated into a
complete system during Integration phase and tested to check if all modules/units
coordinate between each other and the system as a whole behaves as per the
specifications. After successfully testing the software, it is delivered to the customer.

Operations & Maintenance: This phase of "The Waterfall Model" is virtually never
ending phase (Very long). Generally, problems with the system developed (which are not
found during the development life cycle) come up after its practical use starts, so the
issues related to the system are solved after deployment of the system. Not all the
problems come in picture directly but they arise time to time and needs to be solved;
hence this process is referred as Maintenance.
5.2 Gantt Chart

Gantt chart is a graphical representation of the duration of time against the progression
time. A Gantt chart is a useful tool for planning and scheduling projects. A Gantt
chart is useful when monitoring a projects progress. A gantt chart is a type of bar
chart that illustrates a project schedule. It illustrates the start and finish dates of the
terminal elements and summary elements of a project.Terminal elements and
summary elements comprise the work breakdown structure of the project.
January February March April

17/01/11 20/01/11 3d

22/01/11
9/02/11 19d

11/02/11 21/02/11 10d

15/02/11 28/02/11 13d

11/02/11 28/02/11 17d

13/02/11 22/03/11 38d

20/02/11 10/43/11 50d

15/04/11 20/04/11 5d

14/04/11 25/04/11 9d

Each member of our group has been allotted a set of tasks to be completed for the project
implementation. The work load Distribution and the role of each member is defined hereby:

5.3 Responsibility Distribution

5.3.1 Site layout and Database Management:

This involves designing of web pages to be displayed and storing the information related
to student records of personal information and their performance in the tests attempted.
The task involves maintaining sessions as long as the user logs in to take the test and php
coding.

The Database Management includes managing account information of students and


administrator. All queries like Insertion of new student records, updating any changes in
student and administrator profiles, maintaining records of scores in the tests taken ,
deletion of accounts etc

5.3.2. Preparation of Tests (Framing of Questions)

The basic requirement of online examination includes registration, user management,


report generation, question paper matrix entry ,question pool management, data entry,
conduction etc.

I would basically be dealing with question paper generation, question paper matrix and so
on i.e the framing of questions

PROCESS FLOW DIAGRAM

Questions are framed on the basis of difficulty levels (easy, medium and hard). The
Questions are framed according to the requirements of the students like the specific
topics they required to be covered in any subject pertaining to the feedback provided.
There are three sets of questions , one for each stream (PCM,PCB,PCMB).

Creating data banks and tests with the Online Examination System

* Online examination questions can be categorized according to topic, types, etc.


(libraries)
* The online examination system makes provision for difficulty levels of items.
* A test can be compiled with questions from different topics/libraries.
* A ―serial number‖ is provided for each question according to topic, etc.
* The ―serial number‖ can be used to search for and select questions.
* Questions can be converted to the databank from existing databanks.
* Questions can be converted from word processing files.
* Tests can be created on a random basis per student.
* Specific questions can be flagged to be included/excluded in a test.
* The online examination system is suitable for surveys.
* The online examination system can automatically add the marks allocated in each
question to determine the total mark for the test.
* A printed paper and a memorandum can be compiled.
* Different papers (shuffle code) and memoranda can be compiled.\
* Export question papers and memoranda to .txt or .doc file

Control mechanisms in the test

* A time limit can be set for the test.


* The sequence of questions can be randomized.
* Online Examination System allows jumping to specific questions based on the
previous answer.
* The distractors/options per question can be randomized.
* The online examination system limits the number of times a student can write a test.
* Students can navigate within a test (i.e. backwards and forwards). Can be set.
Navigation tools/buttons can be selected for a test, and these buttons can be switched.
* on/off per question/test, e.g. backward/forward buttons.
* Students can be forced to go through all the questions at least once, before exiting the
test.
* Students can be allowed to exit the test before completing all the questions.
* After exiting a test, students can continue the test from the last question they
answered.
* A specific date for a test to be active can be set.

Online Examination System Feedback


* Feedback on test results can be set on/off.
* Feedback per question can be set on/off.
* Customized feedback per question/test.
* The event of feedback can be set, e.g. after all the questions/after each question/ after
a section or library/not at all.
* The examination system indicates what the student answered as well as the correct
answer.
* Extra time can be set for students to work through the feedback after test completion.
* Score per question can be displayed in the feedback.

Question types of the Online Examination System

* The following question types are essential:

o Multiple Choice
This question type allows the user to select ONE correct answer
- Options can be randomised
- More than one option can be correct but the user can only select ONE option
- Score can be set per option
- No limitation on number of options
- If there are a number of Options, these can be presented in a column(s).

o Multiple Response
This question type allows the user to select more than ONE correct answer
- Options can be randomised.
- Score can be set per option.
- No limitation on number of options.
- If there are a number of Options, these can be presented in a column(s).
- The number of responses students enter can be limited.
o Information page
This screen provides information but does not contain a question
- No limitation on the amount of text (scroll bar).

o Fill-in the blanks


This question type gives the user the opportunity to type in short text answers
- More than one blank space can be specified to be filled in by the student.
- System caters for multiple spelling variations.
- System caters for multiple possible answers.
- Boolean operators can be used for marking.
- Score can be set per answer.

o Matching
This question type gives the user the opportunity to match data in columns
- The options in the selection box can be matched to more than one option in the column.
- Score can be set per match.
- The options in the selection box as well as options in the column can be randomised.
- No limitation on the number of options in the column or selection box.

o Numeric
This question type gives the user the opportunity to type in a numeric answer
- Ranges can be set.
- The number of decimal places can be limited.
- The number of decimal places can be set.
- Score can be set per answer.
- No text answers can be typed.

o Calculated (questions are randomly created according to set parameters).


This question type gives the user the opportunity to type in a numeric answer
- Ranges can be set per parameter.
Other features of the Online Examination System

* Students can access tests they have completed.


* A paper-based test paper can be generated from the databank.
* A test can be saved in text format.

5.3.3. Calculation of Grade


This task involves evaluation of answers given by the students and calculating the marks
obtained. Each correct question is awarded +3 marks and -1 for every incorrect response.
No marks are deducted for any questions that are
unanswered. The students scoring low marks are also indicated for improvement in their
performance.

6 Salient Coding Features Used


Salient feature means "characteristic". Or you may interpret it as "notable feature‖.
Seeing to the step rise in the demand of website design many software companies are
now offering website design and development services. Nowadays the services of an
expert professional website designer have become inevitable just because every business
is flocking to get a successful web design.
Salient Feature consist a term i.e Unique Selling Proposition (also Unique Selling
Point or USP) is a marketing concept that was first proposed as a theory to explain a
pattern among successful advertising campaigns of the early 1940s.

Some of the features are:

 Unlimited verisimilar test paper.


 Real time self assessment with score cord and answer rkey.
 Daily updating of question bank by the faculty.
 Design and developed by B-tech student.
 Focus on fundamental and conceptual learning.
 Fully customizable unlimited.
 Subject based test paper

U.S.P. is widely misunderstood and gives a precise definition in three parts:

 Each advertisement must make a proposition to the consumer. Not just words, not
just product puffery, not just show-window advertising. Each advertisement must
say to each reader: "Buy this product, and you will get this specific benefit."
 The proposition must be one that the competition either cannot, or does not, offer.
It must be unique—either a uniqueness of the brand or a claim not otherwise made
in that particular field of advertising.
 The proposition must be so strong that it can move the mass millions, i.e., pull
over new customers to your product.

7. Important Source Code

//to display current date and time on screen

<?php

echo ("<font size=3 color=white>".date("l dS \of F Y h:i:s A") . "</font><br />");

?>

//for administrator login

//delete faculty(the action will perform in ad11.php)

//selecting the entry to delete the faculty

<?php

mysql_select_db("onlexam", $con);

$result = mysql_query("SELECT * FROM faculty");

$i=1;
echo "<table border=\"1\" div align=center><tr><th>choose to
delete</th><th>username</th><th>course of instruction</th></tr>";

while($row = mysql_fetch_array($result))

echo "<tr><td><form action=\"ad11.php\" method=\"post\"><input type=\"checkbox\"


value=\"".$row['name']."\"
name=\"users[]\"></td><td>".$row['name']."</td><td>".$row['courses']."</td></tr>";

$i++;

echo "</table>";

echo "<br/><br/><center><input type=\"submit\" name=\"submit\"


value=\"delete\"></center></form>";

?>

//ad11.php (to delete the faculty/user)

<?php

session_start();

$name=$_SESSION['myusername'];

$con = mysql_connect("localhost","root","karish");

if (!$con)

die('Could not connect: ' . mysql_error());

echo '<table >

<tr><td colspan="9"><img src="iit.png" width="1400"></td></tr></table>';

if (isset($_POST['submit'])) {

$users = $_POST["users"];

$how_many = count($users);
echo 'users chosen: '.$how_many.'<br><br>';

if ($how_many>0) {

echo 'these users got deleted:<br>';

for ($i=0; $i<$how_many; $i++) {

echo ($i+1) . '- ' . $users[$i] . '<br>';

echo "<br><br>";

mysql_select_db("onlexam", $con);

for($g=0;$g<$how_many;$g++)

$x=$users[$g];

mysql_query("DELETE FROM faculty WHERE name='$x'");

mysql_close($con);

?>

//selecting the user to delete and the action will perform on ad11.php

<?php

mysql_select_db("onlexam", $con);

$result = mysql_query("SELECT * FROM faculty");

$i=1;
echo "<table border=\"1\" div align=center><tr><th>choose to
delete</th><th>username</th><th>course of instruction</th></tr>";

while($row = mysql_fetch_array($result))

echo "<tr><td><form action=\"ad11.php\" method=\"post\"><input type=\"checkbox\"


value=\"".$row['name']."\"
name=\"users[]\"></td><td>".$row['name']."</td><td>".$row['courses']."</td></tr>";

$i++;

echo "</table>";

echo "<br/><br/><center><input type=\"submit\" name=\"submit\"


value=\"delete\"></center></form>";

?>

//to delete the students from student table

<?php

session_start();

$name=$_SESSION['myusername'];

$con = mysql_connect("localhost","root","karish");

if (!$con)

die('Could not connect: ' . mysql_error());

if (isset($_POST['submit'])) {

$users = $_POST["users"];

$how_many = count($users);

echo 'users chosen: '.$how_many.'<br><br>';

if ($how_many>0) {
echo 'these users got deleted:<br>';

for ($i=0; $i<$how_many; $i++) {

echo ($i+1) . '- ' . $users[$i] . '<br>';

echo "<br><br>";

mysql_select_db("onlexam", $con);

for($g=0;$g<$how_many;$g++)

$x=$users[$g];

mysql_query("DELETE FROM students WHERE name='$x'");

mysql_close($con);

?>

//to check the faculty login

<?php

$con=mysql_connect("localhost","root","karish");

if(!$con)

die('could not connect:' .mysql_error());

mysql_select_db("onlexam",$con);

$a=$_POST['name'];
$b=$_POST['passwd'];

$c=$_POST['courses'];

if( !is_string($a) || $a=="" || !is_string($b) || $b=="" || !is_string($c) || $c=="")

header("location:ad4.php");

else

$sql="INSERT INTO faculty(name,passwd,courses)

VALUES('$_POST[name]','$_POST[passwd]','$_POST[courses]')";

if(!mysql_query($sql,$con))

{die('could not connect:' .mysql_error());}

mysql_close($con)

?>

//to maintain the session throughout the login session

<?

session_start();

if(!session_is_registered(myusername)){

header("location:ad1.php");

?>

//student login page and enter detail of students

<?php
$con=mysql_connect("localhost","root","karish");

if(!$con)

die('could not connect:' .mysql_error());

mysql_select_db("onlexam",$con);

$a=$_POST['name'];

$b=$_POST['passwd'];

$c=$_POST['cpi'];

$d=$_POST['sem'];

if( !is_string($a) || $a=="" || !is_string($b) || $b=="" || !is_numeric($c) || $c=="" || !is_numeric($d)


|| $d=="" )

header("location:ad3.php");

else

$sql="INSERT INTO students(name,passwd,cpi,sem)

VALUES('$_POST[name]','$_POST[passwd]','$_POST[cpi]','$_POST[sem]')";

if(!mysql_query($sql,$con))

{die('could not connect:' .mysql_error());}

echo " 1 student user added";

mysql_close($con)

?>
//to select the courses

<?php

$h=date("H");

$m=date("i");

echo "<font face='Verdana' size='5' color='white'><h2><i>Click Here to select your


courses</i></h2><center>

<a href=e.php><input type='button' name='SELECT' value='SELECT


COURSES'></center></a>";

?>

//to check the login faculty with database

<?php

session_start();

$host="localhost"; // Host name

$username="root"; // Mysql username

$password="karish"; // Mysql password

$db_name="onlexam"; // Database name

$tbl_name="faculty"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword

$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)

$myusername = stripslashes($myusername);

$mypassword = stripslashes($mypassword);

$myusername = mysql_real_escape_string($myusername);

$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE name='$myusername' and


passwd='$mypassword'";

$result=mysql_query($sql);

$row=mysql_fetch_array($result);

$course=$row['courses'];

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"

session_register("myusername");

session_register("mypassword");

if($course=="cs201"){header("location:c2alogin_success.php");}

if($course=="ch101"){header("location:c2blogin_success.php");}

if($course=="ph101"){header("location:c2clogin_success.php");}

if($course=="ma101"){header("location:c2dlogin_success.php");}
}

else {

header("location:c2main_login1.php");

/*session_unset();

echo "<center><font face='Verdana' size='40' color=red>Wrong Login <br/></center><center>


Use your correct Userid and Password and Try <br>

<input type='image' src='retry.png' vspace='50' onClick='history.go(-1)'></center>";

//echo "Wrong Username or Password";*/

ob_end_flush();

?>

//to add the question into database

<?php

$con=mysql_connect("localhost","root","karish");

if(!$con)

die('could not connect:' .mysql_error());

mysql_select_db("onlexam",$con);

$sql="INSERT INTO qbcs201(ques,op1,op2,op3,op4,ans)

VALUES('$_POST[ques]','$_POST[op1]','$_POST[op2]','$_POST[op3]','$_POST[op4]','$_POS
T[ans]')";

if(!mysql_query($sql,$con))

{die('could not connect:' .mysql_error());}

echo " 1 question added";


mysql_close($con)

?>

//to insert the question into database

<?php

$con=mysql_connect("localhost","root","karish");

if(!$con)

die('could not connect:' .mysql_error());

mysql_select_db("onlexam",$con);

$a=$_POST['qno'];

$b=$_POST['ques'];

$c=$_POST['op1'];

$d=$_POST['op2'];

$e=$_POST['op3'];

$f=$_POST['op4'];

$g=$_POST['ans'];

$h=$_POST['marks'];

if(!is_numeric($a) || $a=="" || !is_string($b) || $b=="" || !is_string($c) || $c=="" || !is_string($d) ||


$d=="" || !is_string($e) || $e=="" || !is_string($f) || $f=="" || !is_string($g) || $g=="" ||
!is_numeric($h) || $h=="")

header("location:c2alogin_success1.php");

else

$sql="INSERT INTO qbcs201(qno,ques,op1,op2,op3,op4,ans,marks)


VALUES('$_POST[qno]','$_POST[ques]','$_POST[op1]','$_POST[op2]','$_POST[op3]','$_POS
T[op4]','$_POST[ans]','$_POST[marks]')";

if(!mysql_query($sql,$con))

{die('could not connect:' .mysql_error());}

echo " 1 question added";

mysql_close($con)

?>

//view question paper

<?php

$con = mysql_connect("localhost","root","karish");

if (!$con)

die('Could not connect: ' . mysql_error());

mysql_select_db("onlexam", $con);

$result = mysql_query("SELECT * FROM qbph101");

while($row = mysql_fetch_array($result))

echo $row['qno'].") <font color='red' size='5'>".$row['ques']."</font><br/>";

echo "<font color='red' size='5'>marks".$row['marks']."</font><br/>";

echo "<form action=\"f3.php\" method=\"post\"><font size='5'><input type=\"radio\" value=\""


.$row['op1']. "\" name=\"".$row['qno']."\">".$row['op1']."<br/><input type=\"radio\"
value=\"".$row['op2']."\" name=\"".$row['qno']."\">".$row['op2']."<br/><input type=\"radio\"
value=\"".$row['op3']."\" name=\"".$row['qno']."\">".$row['op3']."<br/><input type=\"radio\"
value=\"".$row['op4']."\" name=\"".$row['qno']."\">".$row['op4']."</font><br/><br/>";

echo "<br/><br/><center><input type=\"image\" src=\"submit.jpg\"></center></form>";

?>

//marks evaluation

<?php

session_start();

$name=$_SESSION['myusername'];

//echo "<center><font size='5' color='red'>".$name."</font></center>";

$con = mysql_connect("localhost","root","shyamnarayan");

if (!$con)

die('Could not connect: ' . mysql_error());

mysql_select_db("onlexam", $con);

$result = mysql_query("SELECT * FROM qbph101");

$marks=0;

$i=1;

while($row = mysql_fetch_array($result))

if($row['ans']==$_POST[$i])
$marks=$marks+$row['marks'];

$i=$i+1;

$resu = mysql_query("SELECT * FROM result");

if(mysql_num_rows($resu)==0)

echo "<table border='0' width='1000' height='330' bgcolor='black' >

<tr>

<td colspan=4></td>

<td colspan=4><font size=10 color=white>YOUR NAME: </font></td><td colspan=4><font


size=10 color=white>".$name."</font></td>

<td colspan=4></td><td colspan=4></td></tr>

<tr><td colspan=4></td>

<td colspan=4><font size=10 color=white>YOUR SCORE:</font></td><td colspan=4><font


size=10 color=white>".$marks."</font></td><td colspan=4></td>

</tr></font></tr><tr><td><a href=logout.php><center><input type=button


value=logout></center></a></td></tr></table>";

mysql_query("INSERT INTO result (name,course,marks)

VALUES ('$name', 'ph101', '$marks')");

$pog=0;

while($rip=mysql_fetch_array($resu))

{
if($rip['name']==$name && $rip['course']=='ph101' )

$pog=1;}

if($pog==1)

</table>";

if($pog==0)

if($name!="")

//echo "<h3><center><table border='2' width='1000' height='100' bgcolor='pink'><tr><td><font


size='5'>your name:".$name."</font></td></tr></center>";

echo "<table border='0' width='1000' height='330' bgcolor='black' >

<tr>

<td colspan=4></td>

<td colspan=4><font size=10 color=white>YOUR NAME: </font></td><td colspan=4><font


size=10 color=white>".$name."</font></td>

<td colspan=4></td><td colspan=4></td></tr>

<tr><td colspan=4></td>

<td colspan=4><font size=10 color=white>YOUR SCORE:</font></td><td colspan=4><font


size=10 color=white>".$marks."</font></td><td colspan=4></td>

</tr></font></tr><tr><td><center><a href=logout.php><input type=button


value=logout></a></center></td></tr></table>";

mysql_query("INSERT INTO result (name,course,marks)

VALUES ('$name', 'ph101', '$marks')");

}}
if($name=="")

header("location:smain_login.php");

mysql_close($con);

?>

9. Testing

9.1 Testing Objectives:

 To find Uncovered Errors based on Requirement.

 Ensure the Product is Bug Free before shipment/release.

 Quality is ensured.

9.2 Testing Strategy:

9.2.1 Static tests:


The software is not executed but analyzed offline. In this category would be
code inspections (e.g. Fagan inspections), Lint checks, cross reference checks,
etc.

9.2.2 Dynamic tests:


This requires the execution of the software or parts of the software (using stubs).
It can be executed in the target system, an emulator or simulator. Within the
dynamic tests the state of the art distinguishes between structural and functional
tests.
9.2.3 Structural tests:
These are so called "white-box tests" because they are performed with the
knowledge of the source code details. Input interfaces are stimulated with the aim
to run through certain predefined branches or paths in the software. The software
is stressed with critical values at the boundaries of the input values or even with
illegal input values. The behavior of the output interface is recorded and
compared with the expected (predefined) values.

9.2.4 Functional tests:


These are the so called "black-box" tests. The software is regarded as a unit with
unknown content. Inputs are stimulated and the values at the output results are
recorded and compared to the expected and specified values

9.2.5 Load testing:

The application is tested against heavy loads or inputs such as testing of web sites
in order to find out at what point the web-site/application fails or at what point its
performance degrades. Load testing operates at a predefined load level, usually
the highest load that the system can accept while still functioning properly. Note
that load testing does not aim to break the system by overwhelming it, but instead
tries to keep the system constantly humming like a well-oiled machine .In the
context of load testing, extreme importance should be given of having large
datasets available for testing. Bugs simply do not surface unless you deal with
very large entities such thousands of users in repositories such as
LDAP/NIS/Active Directory; thousands of mail server mailboxes, multi-gigabyte
tables in databases, deep file/directory hierarchies on file systems, etc. Testers
obviously need automated tools to generate these large data sets, but fortunately
any good scripting language worth its salt will do the job.
9.2.6 Domain testing:

Domain testing is the most frequently described test technique. Some authors
write only about domain testing when they write about test design. The basic
notion is that you take the huge space of possible tests of an individual variable
and subdivide it into subsets that are (in some way) equivalent. Then you test a
representative from each subset.

9.2.7 Regression testing:

Regression testing is a style of testing that focuses on retesting after changes are
made. In traditional regression testing, we reuse the same tests (the regression tests).
In risk-oriented regression testing, we test the same areas as before, but we use
different (increasingly complex) tests. Traditional regression tests are often partially
automated. These note focus on traditional regression. Regression testing attempts
to mitigate two risks:

 A change that was intended to fix a bug failed.

 Some change had a side effect, unfixing an old bug or introducing a new bug.

9.2.8 Users testing:

In this type of testing, the software is handed over to the user in order to find out if
the software meets the user expectations and works as it is expected to. In software
development, user acceptance testing (UAT) - also called beta testing, application
testing, and end user testing - is a phase of software development in which the
software is tested in the "real world" by the intended audience. UAT can be done by
in-house testing in which volunteers or paid test subjects use the software or, more
typically for widely-distributed software, by making the test version available for
downloading and free trial over the Web. The experiences of the early users are
forwarded back to the developers who make final changes before releasing the
software commercially.

9.2.9 Alpha testing:

In this type of testing, the users are invited at the development centre where they use
the application and the developers note every particular input or action carried out by
the user.

Any type of abnormal behaviour of the system is noted and rectified by the
developers.

9.2.10 Beta testing:

In this type of testing, the software is distributed as a beta version to the users and
users test the application at their sites. As the users explore the software, in case if
any exception / defect occurs that is reported to the developers. Beta testing comes
after alpha testing. Versions of the software, known as beta versions , are released to a
limited audience outside of the company. The software is released to groups of people
so that further testing can ensure the product has few faults or bugs. Sometimes, beta
versions are made available to the open public to increase the feedback field to a
maximal number of future users.

9.2.11 Test Case Specification:

Text boxes cannot be left blank. Account number field has to be given in numbers.

 One cannot buy an item without registering first.

9.2.12 Testing Result:


 Testing is successfully completed on all test cases provided above.
9.3 Test Case Design

Test Case ID Test Case Result Response

TL 01 UserName: Enter Your Correct


(User Login) Password: Unsuccessful Username And
Password
Submit

TL 02 UserName: YOU ARE


(User Login) Password: Successful SUCCESSFULLY
LOGGED IN
Submit

Submit
b
Submit

Enter
TL 03 UserName: Enter Your Correct
Your
(Admin Login) Password: Unsuccessful Username And
Correct
Password
Userna
Submit
me And
Passwo
rd

m
TL 04 UserName: -Add students in
(Admin Login) Password: Successful database
-Add faculty in
Submit
database
-Delete students in
database
-Delete faculty in
database

UserName: Enter Your Correct


TL 05 Password: Unsuccessful Username And
(Faculty Login) Password
Submit

UserName:
TL 06 Password: Successful Enter questions in
(Faculty Login) question bank
Submit
20E1 Question
Ban

EnterQ.No :
EnterQues:
TL 07 Options: Unsuccessful Please enter a valid
(adding questiom) 1. 222 2. entry
3. 4.
Answers:
Marks:

Enter

EnterQ.No :
EnterQues:
Options:
TL 07 1. 222 2. Question added
(adding questiom) 3. 4. Successful View the paper
Answers:
Marks:

Enter
10. Cost of the project

It is the responsibility of the project manager to make accurate estimations of effort and
cost. This is particularly true for projects subject to competitive bidding where a bid too
high compared with competitors would result in losing the contract or a bid too low could
result in a loss to the organisation . This does not mean that internal projects are
unimportant. From a project leaders estimate the management often decide whether to
proceed with the project. Industry has a need for accurate estimates of effort and size at a
very early stage in a project. However, when software cost estimates are done early in the
software development process the estimate can be based on wrong or incomplete
requirements. A software cost estimate process is the set of techniques and procedures
that an organisation use to arrive at an estimate. An important aspect of software projects
is to know the cost are-

10.1 Planning: Our web site is a package to assist students preparing for placements
.Some students lack guidance in the course of their preparation for job. So this site is
developed taking in consideration their problems and hence , includes all necessary
details regarding how to prepare and what to prepare .So it provides the proper guidance
and also keeps the information up-to-date.

10.2 Technical Specifications: The purpose of a technical specification in a software


development project is to define the customer's technical requirements that will be
addressed by the project.Our website is easy to operate by any user which are going to
preparation for job. User can post their queries on the site and discuss the solution for
their queries. All the comment are save in our database and administrator have a power
to delete comment or modify comment if it is not proper.

10.3 Design Specifications: The purpose of a Software Design Specification (SDS) is to


define the software that is to meet the functional requirements for the project. It is the
stage at which the developer specifies the detailed design of the software system,
produces the program code to realise that design, tests the individual programs and
integrates them into the complete software system.
10.4 Maintenance: Once site is online, it will inevitably need to be updated to keep
your content fresh. Sometimes it's a simple change, like changing a date, or adding an
event or you may want to add a new post or functionality to your site involving site-
wide modification.

Our professional Website Maintenance service delivers


 Modification / Addition / Removal of Website Content
 Image Manipulation and Addition (client supplied images)
 Update the database .
 Bug fixing on existing code
11. Snapshots

Anda mungkin juga menyukai