E-Quiz Final

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 28

E-Quiz

A PROJECT REPORT

Submitted by
SWAGATIKA BISWAL
+2 2nd year science

Under the guidance of:


Mr. Manas ranjan samantAray
(lect.in computer science)

Chse examination 2024

SARASWATI SCIENCE HIGHER SECONDARY


SCHOOL
CUTTACK(ODISHA)

1
CERTIFICATE
This is to certify that the Project /
Dissertation entitled E- QUIZ is a bonafide
work done by SWAGATIKA BISWAL of class XII
Session 2022-24 in partial fulfillment of
CHSE Examination 2024 and has been
carried out under my direct supervision and
guidance. This report or a similar report on
the topic has not been submitted for any
other examination and does not form a part
of any other course undergone by the
candidate.

Mr.Manash Ranjan
SamantAray
LEct. In computer science

Mr.Biswajit
Tripathy
Principal

2
ACKNOWLEDGEMENT
I

undertook this Project work, as the part of our


XII-Informatics Practices course. I had tried to
apply my best of knowledge and experience,
gained during the study and class work
experience. However, developing software
system is generally a quite complex and time-
consuming process. It requires a systematic
study, insight vision and professional approach
during the design and development. Moreover,
the developer always feels the need, the help
and good wishes of the people near you, who
have considerable experience and idea.
I would like to extend our sincere thanks and
gratitude to our teacher Mr. Manas Ranjan
Samanataray I am very much thankful to our
Principal MR. BISWAJIT TRIPATHY for giving
valuable time and moral support to develop this
software.
I would like to take the opportunity to extend our
sincere thanks and gratitude to our parents for
being a source of inspiration and providing time
and freedom to develop this software project.

3
SWAGATIKA BISWAL

CONTENTS
1.
Introduction-------------------------------------------------------------------------
----

2. Objective & Scope of the


Project---------------------------------------------------------

3. Theoretical
Background-----------------------------------------------------------------

4. Problem Definition & Analysis


-----------------------------------------------------------

5. System
Implementation------------------------------------------------------------------

6.1 The Hardware used:--------------------------------------------------------------------

6.2 The Softwares used:--------------------------------------------------------------------

6. System Design &


Development-----------------------------------------------------------

4
7.2 Database Design-----------------------------------------------------------------------

7.3 Menu Design---------------------------------------------------------------------------

7.410 Forms Design & Event


Coding--------------------------------------------------------

7. User
Manual----------------------------------------------------------------------------

8.1 How to install:--------------------------------------------------------------------------

8.2 Working with Software----------------------------------------------------------------

8.
References---------------------------------------------------------------------------
----

Introduction

This software project is developed to automate the


functionalities of a QUIZ. The purpose of the software
project is to develop the Management Information
System (MIS) to automate the record keeping of
Publishers, Books, Members and Book issue and
receive transactions with a view to enhance the
decision making of the functionaries.
A MIS mainly consists of a computerized database, a
collection of inter-related tables for a particular
subject or purpose, capable to produce different
5
reports relevant to the user. An application program is
tied with the database for easy access and interface to
the database. Using Application program or front-end,
we can store, retrieve and manage all information in
proper way.
This software, being simple in design and working,
does not require much of training to users, and can be
used as a powerful tool for automating a QUIZ.
During coding and design of the software Project, Java
NetBeans IDE, a powerful front-end tool is used for
getting Graphical User Interface (GUI) based
integrated platform and coding simplicity. As a back-
end a powerful, open source RDBMS, My SQL is used
as per requirement of the CBSE curriculum of
Informatics Practices Course.

O bjective & Scope of the


Project

he objective of the software project is to develop a computerized MIS to automate the


functions of a QUIZ. This software project is also aimed to enhance the current
record keeping system, which will help managers to retrieve the up-to-date information
at right time in right shape.
The proposed software system is expected to do the following functionality-

6
✓ To provide a user friendly and Graphical User Interface (GUI).
✔ The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
✓ To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.
✓ To identify the critical operation procedure and possibilities of simplification using
modern IT tools and practices.
In its current scope, the software enables user to retrieve and update the information
from centralized database designed with MySQL. This software does not require much
training time of the users due to limited functionality and simplicity.
During the development of QUIZ project, Java NetBeans IDE, a powerful, open source
event-driven form-based development environment is used for modular design and
future expandability of the system.
Despite of the best effort of the developer, the following limitations and functional
boundaries are visible, which limits the scope of this application software.
1. This software can store records and produce reports in pre-designed format in soft
copy. There is no facility yet to produce customized reports. Only specified reports are
covered.
2. There is no provision to calculate fine or penalty etc. for defaulter members; however
it can be developed easily with the help of adding modules.
So far as future scope of the project is concerned, firstly it is open to any modular
expansion i.e. other modules or functions can be designed and embedded to handle the
user need in future. Any part of the software and reports can be modified independently
without much effort.

Problem Definition & Analysis

The hardest part of building a software system is deciding precisely what to build. No
other part of the conceptual work is as difficult as establishing the detailed technical
requirement. Defining and applying good, complete requirements are hard to work, and
success in this endeavor has eluded many of us. Yet, we continue to make progress.
Problem definition describes the What of a system, not How. The quality of a software
product is only as good as the process that creates it. Problem definition is one of the
most crucial steps in this creation process. Without defining a problem, developers do
not know what to build, customers do not know what to expect, and there is no way to
validate that the built system satisfies the requirement.

7
Problem definition and Analysis is the activity that encompasses QUIZ about the
problem to be solved, understanding the needs of customer and users, trying to find out
who the user really is, and understanding all the constraints on the solution. It includes
all activities related to the following:
✓ Identification and documentation of customer's or user's needs.
✓ Creation of a document that describes the external behavior and the association
constraints that will satisfies those needs.
✓ Analysis and validation of the requirements documents to ensure consistency,
completeness, and feasibility
✓ Evolution of needs.
✓ After the analysis of the functioning of a QUIZ, the proposed System is expected to do
the following: -
✔To provide a user friendly, Graphical User Interface (GUI) based integrated and
centralized environment for computerized QUIZ.
✓The proposed system should maintain all the records and transactions, and should
generate the required reports and information when required.
✔To provide efficient and secured Information storage, flow and retrieval system,
ensuring
the integrity and validity of records.
✓ To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.

Hardware & System Requirement

5.1 THE HARDWARE USED:

While developing the system, the used hardware are:


PC with Pentium IV processor or sometimes, PC with Celeron (1.7 GHz)
processor having 256 MB RAM, SVGA and other required devices.

5.2 THE SOFTWARES USED:


8
✓ Microsoft Windows® XP as Operating System.

✓ Java NetBeans 6.9 as Front-end Development environment.

✓ MySQL as Back-end Sever with Database for Testing.

✓ MS-Word 2000 for documentation.

System Design & Development


6.1 DATABASE DESIGN:
An important aspect of system design is the design of data storage structure. To begin with a
logical model of data structure is developed first. A database is a container object which
contains tables, queries, reports and data validation policies enforcement rules or contraints etc.
A logical data often represented as a records are kept in different tables after reducing
anomalies and redundancies. The goodness of data base design lies in the table structure and its
relationship This software project maintains a database named QUIZ which contains the
following tables.

TABLE DESIGN:
The database of QUIZ System contains 7 tables. The tables are normalized to minimize the
redundancies of data and enforcing the validation rules of the organization. Most of the tables
are designed to store master records. The tables and their structure are given below.

TABLE: LOGIN
9
Column Name Type Size

ID (Primary key) Varchar 20


Password Varchar 30

Table: ip
Column Name Type Size

SNo Integer 11
Questions Varchar 200
a Varchar 100
b Varchar 100
c Varchar 100
d Varchar 100
Result Varchar 1

Table: GK
Column Name Type Size
SNo Integer 11
Questions Varchar 200
a Varchar 100
b Varchar 100
c Varchar 100
d Varchar 100
Result Varchar 1

Table: RESULT
Column Name Type Size

ID Varchar 20
Ipresult Varchar 20
Gkresult Varchar 20

6.2 MENU DESIGN:


10
JSS Infoware gateway comprises the following options, organized
in a user friendly way. The menu system divided in Menu Bars,
each having a pull down menus containing options for a specific
task.
SL MENU PULL DOWN MENU PURPOSE FORMS
BAR ATTACHED

1 SELECT IP TAKE A TEST FOR IP Test.java

GK TAKE A TEST FOR GK Test.java

2 EXIT QUIZ CLOSE APPLICATION -----

6.3 I/O FORMS DESIGN & EVENT CODING:


The software project for Public QUIZ Management contains various forms
along with programming codes. Forms (JFrames) and their event coding
are given below
Frame: Login.java

CODING OF LOGIN.JAVA
importjava.sql.*;
public class Login extends javax.swing.JFrame {

11
/** Constructor/
public Login() {
initComponents();
}
private void loginBTNActionPerformed (java.awt.event.ActionEvent evt) {
String PWord = new String(Password.getPassword());
String Id = ID.getText():
try {
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root", "kvuc");
Statement stmt = conn.createStatement().
stmt = conn.createStatement():
String sql = "select from Login where ID="" + Id+"";
ResultSetrs = stmt.executeQuery(sql);
rs.next();
String str = rs.getString("Password");
if(str.equals(PWord))
}
Menu m = new Menu(Id);
m.setVisible(true);
this.setVisible(false);
}
else
{
InvalidLBL.setText("Incorrect ID or Password");
} catch (Exception e) { InvalidLBLsetText("Incorrect ID or Password");}
}
private void regLBLMouseClicked(java.awt.event.MouseEvent evt) {
Registerr = new Register():
r.setVisible(true);
this.setVisible(false);

12
}

Frame: Register.java

CODING OF REGISTER.JAVA

importjava.sql.*;
importjavax.swing.JOptionPane;
public class Register extends javax.swing.JFrame(

13
/** Constructor */
public Register0 (
initComponents();
}
private void RegisterTFAction Performed (java.awt.event.ActionEventevt) {
try {
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root", "kvuc");
statementstmt = conn.createStatement();
String sql;
sql = "insert into Result values ("" + IDTF.getText()+",0,0,0,0)";
stmt.executeUpdate(sql);
sql = "insert into Login values ("+IDTF.getText() + "," + Password Tf.getText(+")";
stmt.executeUpdate(sql);
stmt.close();
conn.close();
new Menu(IDTF.getText()).setVisible(true);
this.setVisible(false);
{
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"+e);
}
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run()
new register().setVisible(true);
}
}); }

14
Frame: Menu,java

CODING FOR MENU.JAVA


public class Menu extends javax.swing.JFrame {
String ID;
/** Constructor */
public Menu() {
15
initComponents();
}
public Menu(String id) {
initComponents();
ID = id;
}
private void
startTestBTNActionPerformed(java.awt.event.ActionEventevt) {
String sub= null;
if(IP.isSelected()) {
sub="IP";
}
else if(GK.isSelected()) {
sub="GK":
}
if (sub != null)
{
Test t= new Test(sub,ID);
t.setVisible(true);
this.setVisible(false);
}
}
private void MenuItem1Action Performed
(java.awt.event.ActionEvent evt) { IPdeClick();
}
private void MenuItem2ActionPerformedjava.awLevent ActionEvent
evt) {
GK doClick:.

16
}
private void
MenuItemActionPerformed/java.awt.event.ActionEventevt)
{ System.exit(0).
}
public static void main(String args[]) {
java.awt. EventQueueinvokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}

Frame: Test.java

CODING FOR TEST.JAVA


17
importjava.sql.*;
importjavax.swing.JOptionPane;
public class Test extends javax.swing.JFrame {
String ID;
String Subject;
int index=1;
int max=0;
int result = 0;
char answers;
/** Constructor */
public Test()
{
initComponents();
}
public Test(String subject, String id)
{
initComponents();
ID = id;
Subject = subject;
PrevBTN.setVisible(false);
try
{Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root",
"kvuc");
Statement stmtconn.createStatement();
String sql="select max(SNO) from " + Subject;

18
ResultSetrs = stmt.executeQuery(sql);
rs.next();
max-rs.getInt(1);
answers new char[max];
for(inti=0; i<max;i++) {
answers[i] = 'e';
}
rs.close();
stmt.close();
conn.close():
getQues();
}
catch(Exception r){ JOptionPane.showMessageDialog(null,"+I);
}
private void getQues()
{
Try
{
Class.forName(java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root",
"kvue");
Statement stmt = conn.createStatement();
String sql = "select * from " + Subject +" where SNo=" + index;
ResultSetrs = stmt.executeQuery(sql);
rs.next();
QuesTA.setText("\nQ" + index+". "+ rs.getString(2));

19
a.setText(rs.getString("a"));
b.setText(rs.getString("b"));
c.setText(rs.getString("c"));
d.setText(rs.getString("d"));
a.setSelected(answers [index-1]='a');
b.setSelected(answers[index-1]=='b');
c.setSelected(answers[index-1] = 'c');
d.setSelected(answers [index-1] = 'd');
e.setSelected(answers[index-1] = 'e');
rs.close();
stmt.close():
conn.close();
}
catch(Exception r){ JOptionPane.showMessageDialog(null,""+r); }
}
private void PrevBTNActionPerformed(java.awt.event.ActionEvent
evt) {
index--;
getQues();
if(index == 1) {
PrevBTN.setVisible(false);
if(index < max) {
NextBTN.setVisible(true);
}
private void NextBTNActionPerformed(java.awt.event.ActionEvent
evt) {
index++;
getQues();
20
if(index = max) {
NextBTN.setVisible(false);
}
if(index > 1) {
PrevBTN.setVisible(true);
}
}
private void bActionPerformed (java.awt.event.ActionEvent evt) {
answers[index-1] = 'b';
}
private void ResultBTNActionPerformed
(java.awt.event.ActionEventevt) {
try
{
Class.forName("java.sql.Driver");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root",
"kvuc");
Statement stmt = conn.createStatement();
String sql = "select Result from " + Subject;
ResultSetrs = stmt.executeQuery(sql);
inti = 0;
while(rs.next())
{
charans = rs.getString(1).charAt(0);
if(ans answers[i]) {
result++;
}

21
I++;
}
float res = ((float)result 100)/max;
sql = "Select "+Subject + "Result from Result where ID=" + ID + ""; rs-
stmt.executeQuery(sql);
rs.next();
if(res>rs.getFloat(1))
{
sql = "update Result set " + Subject + "Result +res+" where ID="+ID+’’’’’;
stmt.executeUpdate(sql);
stmt.close():
conn.close():
new Result(res,ID).setVisible(true);
this.setVisible(false);
}
catch(Exception r){ JOptionPane.showMessageDialog(null,r))
}
private void aActionPerformed(java.awt.event.ActionEventext) {
answers[index-1]=’a’;
private void cActionPerformed(java.awt.event.ActionEventext) {
answers[index-1]-'c’;
private void dActionPerformed(java.awt.event.ActionEventevt) {
answers[index-1]-‘d’;
}
public static void main(String args[]){
java.awt.EventQueueinvokelater(new Runnable()) {
public void run() {

22
new Test().setVisible(true);
}
});}

Frame: Result.java

CODING OF RESULT.JAVA
Import java.sql.*;
Import javax.swing.table.*;
Import javax.swing.JOptionPane;

public class Result extends javax.swing.JFrame {


float result;
String ID;
/** Creates new form Result */
public Result() {

23
initComponents();
}
public Result(float res, String id)
{
initComponents();
result = res;
ID = id;
Score.setText(res + "%");
try {

Class.forName("java.sql.Driver");

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost/QUIZdb", "root", "kvuc";

Statement stmt = conn.createStatement();

String sql = "select * from Result where ID="" + ID + """;

ResultSetrsstmt.executeQuery(sql);

Object[] newrow = new Object[5];

newrow[0] = "MAX MARKS";

rs.next();

for(inti=1; i<=4;i++) {

newrow[i] = rs.getString(i+1);

DefaultTableModel tm = (DefaultTableModel)scoreTBL.getModel();

tm.addRow(newrow);

catch (Exception e) { JOptionPane.showMessageDialog(null,"" + e);

private void BackBTNActionPerformed(java.awt.event.ActionEventevt) {

new Menu(ID).setVisible(true);

this.setVisible(false);

private void exitBTNActionPerformed(java.awt.event.ActionEventevt) {

this.dispose();

24
}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Result().setVisible(true);

});

User Manual
7.1 HOW TO INSTALLSOFTWARE:
HARDWARE REQUIREMENT-

 Intel Pentium/Celeron or similar processor based PC at Client/Server end.


 128 MB RAM and 4GB HDD space (for Database) is desirable.
 Standard I/O devices like Keyboard and Mouse etc.
 Printer is needed for hard-copy reports.
 Local Area Network(LAN) is required for Client-Server Installation

SOFTWARE REQUIREMENT-
 Windows 2000/XP OS is desirable.
 NetBeansVer 5.1 or higher should be installed with JDK and JVM.
 MySQL Ver 6.1 with QUIZdb Database must be present at machine.

DATABASE INSTALLATION
The software project is distributed with a backup copy of a Database named QUIZdbwith
required tables. Some dummy records are present in the tables for testing purposes, which can
be deleted before inserting real data. The project is shipped with QUIZ.SQL file which installs a
database and tables in the computer system.
Note: The PC must have MySQL server with user (roof) and password (raj). If root password is
any other password, it can be changed by running MySQL Server Instance Configure Wizard.
Start Program MySQL MySQL Server MySQL Server Instance Config Wizard Provide current
password of root and new password as "raj", this will change the root password.
To install a MySQL database from a dump file (QUIZ.sql), simply follow the following steps.
Step 1: Copy the QUIZ.sql file in C:\Program files\Mysql\MySql server 5.1\Bin folder.
Step 2: Open MySQL and type the following command to create the dabase named QUIZdb.

25
mysql> create database QUIZdb;
Step 3: Open Command Window (Start Run cmd)
Step 4: Go to the following folder using CD command of DOS.
C:\Program files\Mysql\MySql server 5.1\Bin>
Step 5: type the following command on above prompt –
C:....\bin>mysql -u root -prajQUIZdb<QUIZ.sql
This will create a QUIZdb databse with required tables.

7.2 WORKING WITH SOFTWARE PROJECT:


The QUIZ Management Program consists of the following logically
organised Menu- structure for the easy functionality. User may choose the
menu options for corresponding works.

26
SELECT:
This menu item gives options to select java, html, dbms and networking.
EXIT:
This menu closes the application.

Conclusion & References


In order to work on this project titled E-QUIZ, the following books and
literature are refered by me during the various phases of development of
the project.
(1) The Complete Reference Java 2.0
-by Shildit
(2) MySQL, Black Book
-by Steven Holzner
(2) Understanding SQL
- Gruber
(3) http://www.mysql.org/
(4) http://www.netbeans.org/
(5) On-line Help of NetBeansⓇ
(6) Informatics Practices for class XII
-by Sumita Arora
(7) Together with Informatics Practices
(6) Various Websites of Discussion Forum and software development
activities.

27
Other than the above-mentioned books, the suggestions and supervision of
my teacher and my class experience also helped me to develop this
software project.

28

You might also like