Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
On
Submitted By
DHATRIKA KEERTHI (168R1A0514)
RAGI NAVYA (168R1A0548)
SAGIRAJU MADHURI (168R1A0555)
THEIN MALAR (168R1A0558)
CERTIFICATE
This is to certify that the project entitled "CONQUIZ" is a bonafide work carried out by
in partial fulfillment of the requirement for the award of the degree of BACHELOR OF
TECHNOLOGY in COMPUTER SCIENCE AND ENGINEERING from CMR
Engineering College affiliated to JNTU Hyderabad under our guidance and supervision.
The results presented in this project have been verified and are found to be satisfactory.
The results embodied in this project have not been submitted to any other university for
the award of any other degree or diploma.
This is to certify that the work reported in the present project entitled
“REAL TIME FLOOD MONITORING SYSTEM" is a record of
bonafide work done by us in the Department of Computer Science and
Engineering, CMR Engineering College, JNTU Hyderabad. The reports are
based on the project work done entirely by us and not copied from any other
source. We submit our project for further development by any interested
students who share similar interests to improve the project in the future.
The results embodied in this project report have not been submitted to any
other University or Institute for the award of any degree or diploma to the
best of our knowledge and belief.
We express thanks to all staff members and friends for all the help and co-
ordination extended in bringing out this Project successfully in time.
Finally, we are very much thankful to our parents who guided us for
development of project.
i
LIST OF FIGURES
ii
LIST OF TABLES
1 Admin 39
2 Questions 39
3 Users 40
4 Score 40
iii
1. INTRODUCTION
1.2 PURPOSE
The ultimate aim of this CONQUIZ is to help in quiz analysis and also for easy
evaluation of the students and to generation of the automatic score card. It provides
facility to graduating / learning student to assess themselves as well as to enhance their
knowledge and skills and learn how to manage their time in this self-assessment test.
CONQUIZ provides immense opportunity for the students to know their levels in quiz.
It provides effective software so as to help in evaluating the student’s performance. No
data loss occurs in the quiz system. It is very much protected in such a way that it gives
permission to the students to access only when he/she is authenticated as a valid user. We
assure that the project is completely authenticated in order to enhance security and
corruptions of database as well as the software.
The results are produced automatically and electronically so that nobody is prone to
mistakes.
Page | 1
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 questions.the
whole quiz should has a fixed amount of time rather than for individual question.
The feasibility of skipping any confusing questions for later answering is also included.
The answers are submitted automatically as soon as the quiz gets completed.
User can register, login and give the test with his username and password and auto
submission feature is also added here and at last score card is generated according to their
performance.
CONQUIZ provides a user friendly interface along with animations, dynamic scrolling of
images within a webpage , randomly generating questions to the user from the database
and it also displays a auto-generated certificate according to the results of the user.
The data in this project are maintained in the tabular form using MYSQL in the form of
database. It provides easy access to the user. Easy category questions are maintained in
the database which provides easy for the user to access and choose the category.
We also have tried to eliminate the problem with general web based quiz system and
decide to create a web based intelligent quiz system. In our thesis project, we
have tried to develop an “Online Quiz System”.
1.4 SCOPE
Scope of this project is very broad in terms of other manually cheking
yourself. 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.
Page | 2
2. LITERATURE SURVEY
Page | 4
3. SYSTEM ANALYSIS
Page | 5
web development services are needed the most when actual back end coding is done.This
phase in the WDLC is similar to normal implementation in the SDLC. The prototype is
typically developed on a test server or development server. This allows the users to work
with the developers until the prototype is complete. Once the component being developed
is completed, the database and web page files will be moved to the production server for
implementation.
STEP 6: Testing
In this phase the system is tested. Normally programs are written as a series of individual
modules, these subject to separate and detailed test. The system is then tested as a whole.
The separate modules are brought together and tested as a complete system. The system is
tested to ensure that interfaces between modules work (integration testing), the system
works on the intended platform and with the expected volume of data (volume testing)
and that the system does what the user requires (acceptance/beta testing).
STEP 7: Maintenance
Maintenance is an ongoing step of the WDLC that never ends. Maintenance may include
modifications to existing programs, updating the style sheet to give the website a different
look, or anything that might need to be done to the website once it has been implemented.
Page | 6
3.2 System Study:
In the flexibility of uses the interface has been developed a graphics concepts in mind,
associated through a browser interface. The GUI’s at the top level has been categorized as
follows:
1. Administrative User Interface Design.
2. The Operational and Generic User Interface Design.
The administrative user interface concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication for
the data collection. The Interface helps the administration with all the transactional states
like data insertion, data deletion, and data updating along with executive data search
capabilities. The operational and generic user interface helps the users upon the system in
transactions through the existing data and required services. The operational user
interface also helps the ordinary users in managing their own information helps the
ordinary users in managing their own information in a customized manner as per the
assisted flexibilities.
Page | 7
3.4 WORKING PRINCIPLE OF PROJECT:[admin view]
STEP 1: DataBase Creation:
• Question table
• User Info table
• Admin table
• Scorecard table
Storing questions along with options and correct option to each question in the database
within the question table.
When the user register here the details of the user will be stored in the user_info table.
New user have to register here to take up the test.
-admin table contains the id and password where the admin can create, modify and delete
the questions and options in the Question table.
- Score_ Card table contains the results i.e. scores secured by any user who takes up the
test.
STEP 2: WEBSITE DESIGNING:
Using CSS we develop web pages in order to provide user-friendly interface. we will
create the following WebPages:
*Main page contains either login or register option, we have the login page for the
registered user and the register page for the new user.
*home page contains Quiz corner where we have multiple topics among which user can
select a topic for taking up the test ,about us, contacts, user information too.
STEP 3: LOGIC
*when the user registering in this site at that time the details of the user is validated or
else if he is already registered then the user is authenticated to check whether the
username and password that he/she has entered matches with the details stored in the
database or not.
If matches then he is allowed to take up the quiz otherwise the request from the user is
treated as invalid.
*the given answers will be tested from the database and the result will be calculated
according to the right answers.
Then the results will be displayed on the screen along with the correct answers.
Page | 8
USER’S VIEW:
STEP 2: REGISTRATION
*users can apply for a registration form the server.
*the server then provides the form.
*the user submits the form after filling it up.
*server checks the form to ensure the data given in the form does not violate any
constraints.
*the server updates the database and notifies the user about the progress.
Page | 9
*any authorized person can access related details.
*the users can login by using user id and password and give their exams.
*administrators will be responsible for updating the site.
*administrators can change questions and test pattern whenever they want.
Page | 10
Whether your goal is to create a small utility for yourself or your work group, a large
enterprise-wide system, or even distributed applications spanning the globe via the
Internet, Visual Basic has the tools you need.
Data access features allow you to create databases, front-end applications, and
scalable server-side components for most popular database formats, including Microsoft
SQL Server and other enterprise-level databases.
ActiveX™ technologies allow you to use the functionality provided by other
applications, such as Microsoft Word word processor, Microsoft Excel spreadsheet, and
other Windows applications. You can even automate applications and objects created
using the Professional or Enterprise editions of Visual Basic.
Internet capabilities make it easy to provide access to documents and applications
across the Internet or Intranet from within your application, or to create Internet server
applications.
Your finished application is a true .exe file that uses a Visual Basic Virtual Machine
that you can freely distribute.
Page | 11
3.6 BACK END
SERVER END:
Functions of server end:
*to register an user who will appear for the first time.
*to authenticate an existing user.
*and the most important to route the information from source client to appropriate
destination client.
CLIENT END:
Functions of the client end are
*to instruct the user who want to register
*provide proper interface to sign-in, login, and test.
Page | 12
“SQL:2003” refers to the current version of the standard. We use the phrase “the SQL
standard” to mean the current version of the SQL Standard at any time.
MySQL software is Open Source.
Open Source means that it is possible for anyone to use and modify the software.
Anybody can download the MySQL software .
from the Internet and use it without paying anything. If you wish, you may study the
source code and change it to suit your needs. The MySQL software uses the GPL (GNU
General Public License), to define what you may and may not do with the software in
different situations. If you feel uncomfortable with the GPL or need to embed MySQL
code into a commercial application, you can buy a commercially licensed version from
us. The MySQL Database Server is very fast, reliable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server also has a
practical set of features developed in close cooperation with our users. You can find a
performance comparison of MySQL Server with other database managers on our
benchmark page.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server
today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.
MySQL Server works in client/server or embedded systems.
The MySQL Database Software is a client/server system that consists of a multi-threaded
SQL server that supports different backends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).
We also provide MySQL Server as an embedded multi-threaded library that you can link
into your application to get a smaller, faster, easier-to-manage standalone product.
A large amount of contributed MySQL software is available.
It is very likely that your favorite application or language supports the MySQL Database
Server.
The official way to pronounce “MySQL” is “My EssQue Ell” (not “my sequel”), but we
don't mind if you pronounce it as “my sequel” or in some other localized way.
Page | 13
MySQL includes a MERGE library that allows you to handle a collection of MyISAM
tables that have identical structure as a single MERGE table. To develop this website we
use HTML for client-tier, PHP and JSP for
Business-tier and MySQL for the database-tier. So the hardware environment
requirements to use of this software are at least Intel Pentium II or equivalent processor,
at least 64MB RAM, a database server that need a diskless server but can be the same
machine from which the software will run. So, all of these requirements may be a
constraint to the clients. There are four software components required for the proposed
system. The four components are as follows:
• Operating System
• Web Server
• Database
• Web Browser
• Operating System
As our system will be platforms independent; so, there is no constraints in case of
operating system in using this software. Windows and Linux operating systems are
considered to be extremely stable platforms. One of the advantages of using the Linux
operating system is the speed at which performance enhancements and security patches
are made available since it is an open source product.
Web Server
The available web server’s platforms are IIS and Apache. Since Apache is open source,
software security patches tend to be released faster. One of the downsides to IIS is its
vulnerability to virus attacks, something that Apache rarely has problems with. Apache
offers PHP; a language considered to be the C of The next part is the end user
environment. Before we have explain that we have assume that the end users are not so
much aware about the computer and they are not so much interested to divert their
activities to the automated system from the manual system.
Page | 14
3.6.3 Performance requirements
Now we will discuss about the performance requirements. This OIQS system might be
faster than other web based system. Because this system is developed using HTML, PHP,
and MySQL that are open source and can run faster.
Page | 15
3.6.7 SOFTWARE
Programming Language:
Programming Language for Client Tier. We use HTML and PHP to design the client tier.
Because HTML and PHP are easy to use and it will be helpful for us to design the client
tier using HTML and PHP.
Page | 16
• Software Architecture
We use Three-tier architectures to design our system. Because 3-tier Architecture
increases performance, flexibility, maintainability, reusability, and scalability while hiding
the complexity of distributed processing from the users/clients.
CLIENT TIER: Here client-tier is the first tier of our System/Software that the end-users
(students, teachers and admin) will use.
BUSINESS LOGIC TIER: System/Software that Client-tier use to get data from the
Database Server. Client-tier cannot access Database Server directly. It must request the
Business Logic Server first. Upon authorization, the Business Logic Server will get the
required data from Database Server and reply to the Client appropriately.
DATABASE SERVER: Central and persistent storage of all data from where Business
Logic access data.
Page | 17
4. DATA-FLOW DIAGRAMS
LEVEL:0
LEVEL:1
Page | 18
LEVEL:2
A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modelling its process aspects. A DFD is often used as a
preliminary step to create an overview of the system without going into great detail,
[2]
which can later be elaborated. DFDs can also be used for the visualization of data
processing (structured design).
A DFD shows what kind of information will be input to and output from the system, how
the data will advance through the system, and where the data will be stored. It does not
show information about process timing or whether processes will operate in sequence or
in parallel, unlike a traditional structured flowchart which focuses on control flow, or a
UML activity workflow diagram, which presents both control and data flows as a unified
model.
Page | 19
Context Diagram. A context diagram is a top level (also known as "Level 0") data flow
diagram. It only contains one process node ("Process 0") that generalizes the function of
the entire system in relationship to external entities.
DFD Layers. Draw data flow diagrams can be made in several nested layers. A single
process node on a high level diagram can be expanded to show a more detailed data flow
diagram. Draw the context diagram first, followed by various layers of data flow
diagrams.
DFD Levels. The first level DFD shows the main processes within the system. Each of
these processes can be broken into further processes until you reach pseudo code.
LEVEL 0:
In this level the users who uses this website are of two types they are as follows:
1.admin_user
2.registered_user
*administrator who uses this website creates, modifies as well as deletes question from
the database.
*registered user can select any particular topic he wish and can attempt the quiz and get
the results automatically.
LEVEL 1:
LEVEL 1 IS AN EXTENSION OF LEVEL 0.
Here the registered user takes up the test. The test process generates a quiz for the
registered user on the particular topic they choose and next the evaluation process takes
place and at last the results gets displayed to the user.
Level 1 mainly contains the following components
*user_data
*registered user
*test process
*evaluation
LEVEL 2:
Level 2 is an extension of level 1.
4.1 FLOWCHART:
A flowchart is a type of diagram that represents an algorithm, workflow or process,
showing the steps as boxes of various kinds, and their order by connecting them with
arrows. This diagrammatic representation illustrates a solution model to a given problem.
Flowcharts are used in analyzing, designing, documenting.
Page | 21
Page | 22
5. CASE TOOL
A. GETTING STARTED:
Click on Start, Programs, Rational Suite Development Studio 1.5, and then on Rational
Rose 2000 Enterprise Edition (not the one that has the arrow next to it). You will now
see a window appearing that says “Create New Model”. This is for working with Java,
Oracle, and VB. Just press “Cancel”.
Next, you see the main window called “Rational Rose- [untitled]” and a smaller window
within it called “Class Diagram: Logical View / Main”. There is also a browser on the
left side of the page that has the diagrams that you are working on in the project. If you
ever want to see the specifics on any diagram that you are working on, go to the browser,
click on the “ + “, and you’ll be able to see what is in that view. To close the view, click
on the – “.
2. Once you have clicked on the Use Case button, position the new mouse pointer
wherever you want on the page and click again. The oval will now appear on the page.
Now, type in a name for your Use Case. To reposition the Use Case, just click once on
the Use Case. To change it’s property (name etc.) double click on the Use.
Page | 23
3. Now, we need to add some actors, which are actually the classes in this project (you’ll
see this later as you continue). Click on the stick figure in the
toolbox. Now, click anywhere on the Use Case Diagram to place the actor. Once again,
name your actor. As with the use cases, to reposition the actor click once or change its
name, double click on the actor.
4. Finally, we want to connect the use cases with the actors. In order to do this, click in
the toolbox on the box that has the curved arrow that says
Unidirectional Association. This will allow you accomplish this task. You are now
finished with the Use Case Diagram portion of the project. Don’t forget to save!!!
5. Now, we want to give the attributes their types, initialize the types, and
distinguish the attributes as public, private, or protected. To do this, double click on the
class anywhere that is blank. A new window called Class Specification will pop up.
Click on attributes. Double click on the attribute that you want to select. Another new
window called Class Attribute Specification pops up. In this window, you can initialize
your attribute to any value, specify if it’s public, private, or protected, and give it the type.
6. Next, we add some methods to our class. To insert a method of the class, right click on
the class and this time select new operation. Now, type in the name of the method of the
class. We also want to add arguments for the new operation. To do this, once again,
double click on the class anywhere that is blank. The Class Specification window will
again pop up. Click on operations. Double click on the method that you want to select.
Another new window called Operation Specification pops up. In this window, the
General tab is already selected. (If not, select it). Here you can decide if the methods will
be public, private, or protected. After doing this, select the Detail tab. Right click in the
space below Name. Select insert. Now, type in the name of the argument. Hit tab to
insert the argument’s type. Hit tab again if you want to set the argument to default. Press
OK and you’re back to Operations. Press OK again.
7. Great. Now that we have all the classes created, we can create an
UNIDIRECTIONAL ASSOCIATION connection between classes. Click on the
UNIDIRECTIONAL ASSOCIATION icon. Now, click on the first class, hold the
Page | 24
mouse button down, drag the mouse to the other class, and release the mouse button. To
name the association, double click on the association connection line. The Association
Specification window pops up. Type the Association name in the space provided. Press
OK. Now, we need to insert the cardinality of the class association. To do this, right click
on the association connection line, next to the first class. Select multiplicity and finally
select the correct cardinality. Do the same for the second class
* If you nave more than 1 association between 2 classes, be careful. If you select
association between the 2 classes again, it will overlap the first one. Click on the line,
drag the other association, and release it. You can change the association properties
(name, cardinality by double clicking on them).
8. It’s time for AGGREGATION. It’s basically done the same way that Association is
done. First create the UNIDIRECTIONAL ASSOCIATION connection as above. ** Be
careful! Create the aggregation by starting off on the class that you want the diamond
attached to, then right click on the association line and press AGGREGATE. Don’t
forget to save!!!
1. The last diagram in this exercise is the Sequence Diagram. Once again, this is a
dynamic diagram, like the state diagram. Go to the Browse menu and select Interaction
Diagram. In the Select Interaction Diagram window that pops up, choose Logical View
and click on OK. When the window New Interaction Diagram pops up, choose
sequence as the diagram type and type the title. The tool bar comes beside the diagram.
(Note: A Collaboration Diagram is almost the same as a Sequence Diagram. In this
exercise, we will use the Sequence Diagram).
2. First, we need to choose the class objects that will be interacting in the
diagram. To do this, choose the object icon (which is a rectangular icon). Position the
new mouse pointer wherever you want on the page and click again. To name the class
object, double click on the object (or click inside the rectangle and type).
Page | 25
3. To show a transition in the Sequence Diagram, click the right arrow icon, the Object
Message icon. This is the “Object Message” icon used for transitions. Click on the
vertical dotted line that extends from the bottom of the class object and drag it to the
vertical dotted line of the second class object.
4. To make a self-transition, click on the “U-turn” arrow, the Message To Self icon . This
is the “Message to Self” icon. No dragging is necessary.
5. To name either transition, double click on the transition and type in the
name.
** Note: You can move the transitions slightly up or down as needed by clicking on them
and dragging them.
6. Once you make a transition, the vertical dotted line of the class objects extend.
sequence diagram shows the interaction how the processes interact with one another and
in what order they operate. here the user logins only when the name and password he/she
entered are present in the database already, if not the user want to use the website but he
is not a registered
Member then they can register and then login. After logging in the user can select the
topic in which he/she wanted to take up the quiz and then he attempts the quiz and should
complete it within a stipulated amount of time and then after the answers gets submitted
then automatically the score card gets generated and correct answers for each question
will be displayed and according to score merit certificate will be generated. Administrator
can only have the access to create,alter,delete the questions from the database admin can
modify the test pattern too. Administrator has the authority to perform any operation on
the database only when logged in with a valid id and password. The user can logout after
completing his quiz
Page | 26
USER
SYSTEM DATABSE ADMIN
1 : REGISTERS()
2 : REGISTRATION SUCCESSFULL()
3 : LOGIN() 4 : AUTHENTICATES()
5 : VALID USER()
6 : LOGIN SUCCESSFUL()
7 : SELECT CATEGORY()
8 : CATEGORY NAME()
9 : RETRIEVE QUESTIONS()
10 : DISPLAY QUESTIONS()
11 : SUBMIT ANSWERS()
12 : EVALUATES()
13 : GENERATE RESULTS()
14 : DISPLAY RESULT()
15 : REQUEST CERIFICATE()
16 : VERIFY SCORE()
17 : GRANT CERTIFICATE()
18 : DISPLAY CERTIFICATE()
19 : LOGOUT()
20 : LOGOUT SUCCESSFUL()
21 : ADMIN LOGIN()
22 : LOGIN SUCCESSFUL()
23 : CREATE/MODIFY/DELETE QUESTIONS()
24 : CHANGES SUCCESSFUL()
25 : ADMIN LOGOUT()
26 : LOGOUT SUCCESSFUL()
Page | 27
5.3 ACTIVITY DIAGRAM
They are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. Initially user is made to fill all registration
fields filled in registration form. Once the user clicks submit, the username is verified. If
the, username is already present, then the user is again taken back, So ,that he can change
the username. If the username is not present then it checks for password and remaining
mandatory fields. If any of the mandatory field is left empty or filled incorrect, then the
user is informed to enter the correct values. Once all verifications are succeeded, then the
registration is done.
To enter into the registration page the user have to enter the details first.
After entering the details he has to verify the user name. If suppose the user name already
exists then he has to enter the details. Then he has to verify the password. If the
registration is successful then the unique id will be provided. Then the user can go the
home page. To fill the farmer/wholesaler registration form then he has to fill all the
details. Then the verifying the username , password and the registration form. After
verification he has to fill all the registration details. Then for the user the user id will be
provided for the student/faculty. If the deny registration then the user has to go the home
page.
ADMIN LOGIN
ENTER DETAILS
INVALID DETAILS
VALID ADMIN
SELECT CATEGORY
SET QUESTION ID
SELECT EXISTING QUESTION
YES
NO
LOGOUT
Page | 28
ACTIVTY DIAGRAM FOR USER:
LOGIN
ENTER DETAILS
INVALID ID/PASSWORD
VALID USER
SELECT QUIZ
ATTEMPT QUIZ
SUBMIT QUIZ
YES
GET CERTIFICATE
YES
NO
LOGOUT
FINAL STATE
Page | 29
5.4 CLASS DIAGRAM:
It is a diagram which is a static structure of a system that shows the system’s
classes, their attributes and the operations or methods along with their relationships
among the classes. The main aim of the administrator to create new question and the
corresponding answer for them. This diagram makes the view more clear about what
happening in the project. The functions performed are update, delete, modify etc
It shows the clear idea of attributes and operations performed by the user. If he/she is
new user, they can perform the operation of registration() and if already registered user
the they can login() and can continue answering.
After submitting report is generated with attributes of name and category which the
user opts for.
Page | 30
5.5 USE CASE DIAGRAM
System
ANSWER QUIZ
LOGIN AUTHENTICATION
ADMIN
DECLARE RESULTS
The users of our system are students and faculty members. This diagram will explain the
interaction between their role and the system. The use case diagram is given in the high
level by representing the goals of the actor. The administrator can login to the question
generation module using the authentication provided and can perform the operation of
add/modify/delete/mov_next/mov_previous functions. The user can enter the question
bank module by satisfying the authentication need. The new user can perform the act of
registering when they enter for the first time. Therefore the user can answer their question
on their interesting topics.
Page | 31
Student
Organizations: Wants to avoid those people who are not registered in
the system. Also want to ensure the security. Preconditions: Users
are registered in the system.
Post conditions: Successful login for all registered users.
Main success scenario:
A user starts to sign in.
User enters *user id, *password and *user type.
System checks weather user id, password and user type is valid or not.
If valid then starts a user session and give access permission.
Errors:
If the user type is invalid then system shows an error message that
“Invalid User Type. Please Re-enter Correct User Type”.
If the user id is invalid then system shows an error message
that “Invalid User ID. Please Enter Correct User ID“.
If the password is invalid then system shows an error message that
“Your Password is Invalid. Please Enter Correct Password“.
If the user id and password are invalid then system shows an error
Message that “Invalid User ID and Password. Please Enter Correct
User ID and Password“.
Page | 32
Use Case UC3: Add Question
Primary Actor: Admin
Stakeholders Interests:
Admin: Wants to keep the questions up to date.
Organizations: Wants to take online intelligent quiz.
Preconditions: Administrator is identified and authenticated.
Post conditions: All questions are saved.
Main success scenario:
Administrator enters question level, question num, subject id, question,
answer options 1 to 4, answer and mark.
System checks weather this question level is full or not. If not full then
add the question in the question bank.
System shows all the questions in that level after a successive add.
Teacher continues step 1 to step 4 each time he/she want to add a new
question in the question bank.
Page | 33
Use Case UC5: Add User Info
Primary Actor: Admin
Stakeholders Interests:
Admin: Wants to keep the user information up to date.
Organizations: Wants to take intelligent quiz, to keep the users info up
to date.
Preconditions: Admin is identified and authenticated.
Post conditions: All information are saved.
Main success scenario: -
Admin start to add new user information
Admin enters user name, id, password, and user category.
System checks weather the same user is registered before or not. If not
registered then add the user information in the database. If registered
then system prompt admin to enter another user id.
System shows the user information after each successive add.
Admin continue step 1 to step 4 each time he/she want to add a new
user in the database.
If these entered inputs are not valid then system gives an error message
that is “Your given input is not valid” and prompt the user to enter
correct quiz number, course id and teacher id again.
Page | 34
6. MODULE DESCRIPTION
ADMINISTRATOR
1. Authentication phase
2. Question generation phase
3. Report generation phase
PARTICIPANT
1. Authentication phase
2. Registration phase
3. Rules and category selection phase
4. Question bank phase
5. Result generation phase
ADMINISTRATOR/AUTHENTICATION PHASE:
This proposed system is completely authenticated in order to enhance security and
corruptions of database as well as the software. A person is given access permission to
this system when he/she has got a valid username and password i.e. the administrator.
Hence this authentication module includes two fields where administrator (programmer)
is asked to enter the username and password. The details include:
1. Username
2. Password
Page | 35
PARTICIPANT AUTHENTICATION PHASE:
REGISTRATION PHASE:
If the participant is an existing user then he can enter into the system, using his
valid username and password. If the participant is a new one then he has to fill the
registration form. Now valid username and password will assign to the user. Using that he
can enter into the system.
Page | 36
RESULT GENERATION PHASE:
The result of the corresponding student is generated based on his, her performance
in the test. The result is generated at the end of the quiz. The result is generated with the
help of following field:
1. Username
2. Category
3. Mark
Page | 37
7. IMPLEMENTATION
DESCRIPTION:
The block diagram mainly consists of database, administrator, user. First the user must be
registered to take-up the monitoring system ,if not the user must have to register with his
name, password and email and then after registering the user can then login and after
logging in they can attempt the quiz by choosing REAL TIME MONITORING SYSTEM
where we have multiple topics and we can select a topic in which we wanted to take the
monitoring system and then the system gets started and the questions related to the
particular topic will be displayed on the screen and the user has to answer all the
questions within the time slot given .if he submits the answers or not ,after completion of
the time automatically the answers will be submitted and next the result will be displayed
i. e score card. if any question is attempted wrong or is not attempted at all then the
correct answers will be displayed along with the score. then according to the score
generated if maximum questions are answered correct then a certificate will be generated
and user can download the certificate by clicking get certificate and then next the
download option.
Administrator define the number of questions, time of the quiz, schedule for
the quiz etc. According to these information question will be generated
for students. Administrators are responsible for add and edit questions from
the question bank. They add question in the question bank in different level
according to their level of difficulty. Generator engine generate questions
for a quiz from the question bank.
Page | 38
Student can appear in the quiz and can score according to his knowledge in any
particular topic he chooses. At the end of a quiz they can see the correct answers and
their performance..
For the same quiz of a subject Question Generator may generates
different question for different student. That is question may very
student to student for the same quiz while they are appear in the quiz at
the same time.
To design the software we use 3-tier architecture. As 3-tier architecture
divide the whole system into three parts, so to design the system we
divide our system into three subsystems These are Client Tier/ Client
subsystem, Business Logic Tier/ Business Logic subsystem, and
Database Tier/ Database subsystem
ADMINISTRATOR :
TABLE: QUIZADMIN
NAME TYPE
USERNAME VARCHAR(10)
PASSWORD VARCHAR(10)
TABLE: QUESTIONS
NAME TYPE
ID NUMBER(10)
QUESTION VARCHAR(10)
OPT1 VARCHAR(10)
OPT2 VARCHAR(10)
OPT3 VARCHAR(10)
OPT4 VARCHAR(10)
CORRECT_ANS VARCHAR(10)
Page | 39
TABLE: USERS
NAME TYPE
UID NUMBER(10)
EMAIL VARCHAR(10)
PASSWORD VARCHAR(10)
NAME VARCHAR(10)
TABLE: SCORE
NAME TYPE
UID NUMBER(10)
NAME VARCHAR(10)
SCORE VARCHAR(10)
7.3 CODING:
QUIZ.PHP
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"></meta>
<link rel="style sheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="style sheet" href="https://fonts.googleapis.com/css?family=Railway">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/4.7.0/css/font-awesome.min.css">
</head>
<body onload="setCountDown();">
<div id="remain" style="color:red;position:fixed;top:100px;right:35px;" ><?php
echo "<h2>Time left - $remainingMinutes : $remainingSeconds</h2>";?></div>
Page | 40
<h1 align="center"><img src="logo.jpg" title="logo image"
alt="CONQUIZ" width="200" height="80">
</h1>
<?php
session_start();
$db = mysqli_connect('localhost','root','','conquiz');
$sql="SELECT * FROM questions";
$result=mysqli_query($db,$sql); $Questions
= array();
function UniqueRandomNumbersWithinRange($min, $max,
$quantity) {
$numbers = range($min, $max);
shuffle($numbers);
return array_slice($numbers, 0, $quantity);
}
$randNum=UniqueRandomNumbersWithinRange(1, 10, 10);
foreach($randNum as $index=>$no){
foreach($result as $row) {
if($no==$row['id'])
$Questions[] = $row;
}
}
//print_r($Questions);
$_SESSION['Array']=$Questions;
$dateFormat = "d F Y -- g:i a";
$targetDate = time() + (30);
$actualDate = time();
$secondsDiff = $targetDate - $actualDate;
$remainingMinutes = floor(($secondsDiff)/60);
$remainingSeconds = floor(($secondsDiff)-($remainingMinutes*60));
?>
<script type="text/javascript">
Page | 41
var minutes = <?php echo $remainingMinutes; ?>
var seconds = <?php echo $remainingSeconds; ?>
function setCountDown () {
seconds--;
if (seconds < 0){
minutes--;
seconds = 59
}
if (minutes < 0){
hours--;
minutes = 59
}
document.getElementById("remain").innerHTML = "<h2>Time left
- "+minutes+" : "+seconds+"</h2>";
SD=window.setTimeout( "setCountDown()", 1000 );
</script>
<span class="topcorner" style="border:3px left
;width:400px;height:100px;background-color: #D1F2EB;box-shadow: 6px 6px 5px;
#999; -webkit-box-shadow: 6px 6px 5px #999; border-radius: 10px;-moz-box-
shadow: 6px 6px 5px #999;">
<?php
$user=$_SESSION['user'] ;
echo $user;?>
Page | 42
<div style="position:relative;right:0px;">
<form action="logout.php">
<input type="submit" id="logout" value="Log out" style="width: 100px;
padding: 0px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px
6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; background:#B2BABB;
color:#000; border: 1px solid #999; font-size:
70%;" /> </form></div>
</span>
<div style="border:3px left
;position:relative;left:250px;width:1000px;height:1500px;background-color:
#D1F2EB;box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999;
border-radius: 10px;-moz-box-shadow: 6px 6px 5px #999;">
<div style="position:relative;left:30px;bottom:10px;top:30px;">
<form action="score.php" method="post" id="quiz" name="quizform">
<?php $cnt=0;
foreach($Questions as $QuestionNo => $Value) { $cnt++;
?>
<?php echo $cnt.".".$Value['question'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option1'];?>"><?php echo $Value['option1'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option2'];?>"><?php echo $Value['option2'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?
php echo $Value['option3'];?>"><?php echo $Value['option3'];?><br>
<input type="radio" name="<?php echo $QuestionNo; ?>" value="<?php
echo $Value['option4'];?>"><?php echo $Value['option4'];?><br>
<?php
}
?>
Page | 43
<input type="submit" id="modal" value="Submit Quiz" style="width:
200px; padding: 10px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-
shadow: 6px 6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; font-weight: bold;
background:green; color:#000; border-radius: 10px; border: 1px solid #999; font-
size: 120%;" />
</div>
</form>
</div>
<br /><br /><br /><br /><br />
<footer class="w3-container w3-padding-0px w3-light-grey w3-
center w3-large">
<p>Powered by ConQuiz<sup>TM<sup>©</sup></sup></p>
</footer>
</body>
</html>
Score.php:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1"></meta>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <link
rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway"> <link
rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<h1 align="center"><a href="homepage.php"><img src="logo.jpg"
title="ConQuiz" alt="CONQUIZ logo" width="200" height="80"></a></h1>
<?php
session_start();
$a=$_SESSION['Array'];
?>
<div style="font-size:130%;" class="w3-bar-item w3-button w3-
grey">Score Card</div>
Page | 44
<div style="position:relative;left:100px;bottom:10px;top:30px;">
<?php
if (isset($_POST)) {
$Answers = $_POST;
$count=0;
$total=0;$cnt=0;
foreach ($a as $QuestionNo => $Value){ $cnt++; ?>
<div style="border:0px solid background-
color:lightblue;width:800;">
<?php
echo $cnt.".".$Value['question'].'<br />';
if(isset($Answers[$QuestionNo]))
{
if ($Answers[$QuestionNo] !=
$Value['correctanswer']){
echo 'Your answer : <span style="color:
red;">'.$Answers[$QuestionNo].'</span><br>';
echo 'Correct answer : <span style="color:
green;">'.$Value['correctanswer'].'</span>';
}
else {
echo 'Actual answer : <span style="color:
green;">'.$Answers[$QuestionNo].'</span><br>';
echo 'WOW! You are correct';
$count++;
}
}
else {
echo '<span style="color: orange;">'.'You have not
attempted the question'.'</span><br>';
echo 'Correct answer : <span style="color:
green;">'.$Value['correctanswer'].'</span>';
}
echo '<br />';?> <hr><?php
Page | 45
$total++; ?> </div> <?php
} ?>
<span class="topcorner" style="border:3px left
;width:400px;height:100px;background-color: #D1F2EB;box-shadow: 6px 6px 5px;
#999; -webkit-box-shadow: 6px 6px 5px #999; border-radius: 10px;-moz-box-
shadow: 6px 6px 5px #999;">
<?php
$user=$_SESSION['user'] ;
echo $user;?>
<div style="position:relative;right:0px;">
<form action="logout.php">
<input type="submit" id="logout" value="Log out" style="width: 100px;
padding: 0px; cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px
6px 5px #999; -moz-box-shadow: 6px 6px 5px #999; background:#B2BABB;
color:#000; border: 1px solid #999; font-size: 70%;" />
</form></div>
</span>
<div style="position:relative;left:500px">
<div style="width: 300px;height:200px; padding: 10px; cursor:
pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999; -moz-
box-shadow: 6px 6px 5px #999; font-weight: bold; background:#F7DC6F;
color:#7B241C; border-radius: 10px; border: 1px solid #999; font-size: 190%;">
<?php echo "<br>     Your Score
<br>          $count/$total"; ?>
</div></div><br>
<?php
}
else {
echo '<h1 style="position:relative;left:515px;"><b>No Answers
Found</b></h1><br><br>'; ?>
Page | 46
<form action="quiz.php" method="post">
<input type="submit" value="Rewrite quiz"
style="position:relative;left:540px;width: 250px; padding: 10px; cursor: pointer; box-
shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px #999; -moz-box-shadow:
6px 6px 5px #999; font-weight: bold; background:#B2BABB; color:#000; border-radius:
10px; border: 1px solid #999; font-size: 120%;"/>
</form><br /><br /><br /><br /><br /><br /><br /><br /><br /><br
/><br />
<?php }
?>
<a href="quizcorner.php" style="position:absolute;right:100px;font-
size:150%;" class=" w3-border w3-button w3-grey"><- Return to Quiz Corner</a>
</div><br /><br /><br /><br /><br /><br />
Page | 47
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) ==
1&&$password==$row["password"])
{
//$msg = "login successful";
$_SESSION['user']=$row['name'];
header( "Location: homepage.php" );
}
else
{
?>
Logout.php:
<?php
session_start(); //to ensure you are using same session
session_destroy(); //destroy the session
header("location:front.php"); //to redirect back to "index.php" after logging out
exit();
?>
Register.php:
<html>
<body background="background.png">
<?php
$db = mysqli_connect('localhost','root','','conquiz');
$msg = "";
if(isset($_POST))
{
Page | 48
$name = $_POST["name"];
$email = $_POST["email"];
$password = $_POST["password"];
$name = mysqli_real_escape_string($db, $name);
$email = mysqli_real_escape_string($db, $email);
$password = mysqli_real_escape_string($db, $password);
$password = md5($password);
$sql="SELECT email FROM users WHERE email='$email'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
if(mysqli_num_rows($result) == 1)
{
?>
<div align="center" style="position:relative;top:250px;">
<h1>Sorry.......This Email is already exists.</h1>
<a href="front.php" style="width: 300px; padding: 10px;
cursor: pointer; box-shadow: 6px 6px 5px; #999; -webkit-box-shadow: 6px 6px 5px
#999; -moz-box-shadow: 6px 6px 5px #999; background: #C0C0C0; color:#000; border:
1px solid #999; font-size: 120%;">TRY WITH NEW EMAIL ID</a>
</div>
<?php
}
else
{
$query = mysqli_query($db, "INSERT INTO users (name,
email, password)VALUES ('$name', '$email', '$password')");
if($query)
{
//$msg = "Thank You! you are now registered.";
header( "Location: front.php" );
}
}
}
?>
Page | 49
Register.css:
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box} /* Full-width
input fields */ input[type=text],
input[type=password] {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
display: inline-block;
border: none;
background: #f1f1f1;
}
button:hover {
opacity:1;
}
Page | 50
/* Extra styles for the cancel button */
.cancelbtn {
padding: 14px 20px;
background-color: #f44336;
}
/* Modal Content/Box */
.modal-content {
Page | 51
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and
centered */
border: 1px soli d #888;
width: 80%; /* Could be more or less, depending on screen size */
}
.close:hover,
.close:focus {
color: #f44336;
cursor: pointer;
}
/* Clear floats */
.clearfix::after {
content: "";
clear: both;
display: table;
Page | 52
}
/* Change styles for cancel button and signup button on extra small screens
*/ @media screen and (max-width: 300px) {
.cancelbtn, .signupbtn {
width: 100%;
}
}
Login.css
button:hover {
opacity: 0.8;
}
Page | 53
/* Extra styles for the cancel button */
.cancelbtn {
width: auto;
padding: 10px 18px;
background-color: #f44336;
}
img.avatar {
width: 40%;
border-radius: 50%;
}
.container {
padding: 16px;
}
span.psw {
float: right;
padding-top: 16px;
}
Page | 54
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
padding-top: 60px;
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and
centered */
border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
/* The Close Button (x) */
.close {
position: absolute;
right: 25px;
top: 0;
color: #000;
font-size: 35px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: red;
cursor: pointer;
}
/* Add Zoom Animation */
.animate {
-webkit-animation: animatezoom 0.6s;
Page | 55
animation: animatezoom 0.6s
}
@-webkit-keyframes animatezoom {
from {-webkit-transform: scale(0)}
to {-webkit-transform: scale(1)}
}
@keyframes animatezoom {
/*from {transform: scale(0)}
to {transform: scale(1)}*/
}
/* Change styles for span and cancel button on extra small screens */
@media screen and (max-width: 300px) {
span.psw {
display: block;
float: none;
}
.cancelbtn {
width: 100%;
}
}
Page | 56
8. TESTING
8.1 INTRODUCTION:
Testing is a set of activities that can be planned in advance and conducted systematically
testing requires that the developer discard preconceived notations of the correctness of
the software just developed and overcome a conflict of interest that occurs when errors
are encountered. Testing also provides the main objective of our project and understand
the risk of implementation. Testing is a process of technical investigation, performed on
behalf of stakeholder, that is intended to reveal quantity related information about the
product with respect to the context in which it is intended to operate. Testing is the
process of executing a program or an application with an intent of finding an error or
bugs. Testing can be stated as the process of validating and verifying that a software
program/application/product:
Page | 58
9. GRAPHICAL USER INTERFACE
Home Page
Page | 59
Sign Up page
Log in page
Page | 60
Quiz Corner
Page | 61
Questions page.
Here 25 questions are listed out to the candidate, who answers them by
choosing the appropriate option, using the radio buttons provided.
Page | 62
Alert after time out
Results page
In this page, the evaluated key is provided with the questions and correct
answers.
Page | 63
Score card
A score card is displayed which shows the scored marks against the total
marks.
Administrator Login
Page | 64
Administrator Page
Page | 65
About Page
Page | 66
Contact Page
Page | 67
10. FUTURE ENHANCEMENTS:
CONQUIZ is like a stereotype, we can extends the features of this website. We can
further more and more topics for quiz
• We can provide step materials for the related topics that are there in the quiz
• We can implement using new technologies and provide more user-friendly interface.
• We can make the user interface more attractive
• We can provide an interactive quiz platform which is used to know the user
requirements in an easier way.
BENEFITS:
For web surfers, Online Quiz acts as a popular way of recreation. It is free of cost and
meant for entertainment and they also give prizes. Online Quiz is organized to examine
the wisdom or identify a person’s characteristics. Most of the companies employ online
quiz as an effective manner of examining a prospective employee’s wisdom without that
person’s personal presence.
Page | 68
11. CONCLUSION
This online quiz system provides facility to conduct online examination worldwide. 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.
Page | 69
12. REFERENCES:
• http://blog.jitbit.com/2007/08/why-we-still-use-vb6-for-some-projects.html
• http://homepages.uel.ac.uk/D.Bowden/
• http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-general-information.html
• http://www.cs.virginia.edu/~horton/cs494/info/rose-howto-v2.pdf
Page | 70