You are on page 1of 92

lOMoAR cPSD| 19729665

SHRIKRISHNA EDUCATIONAL AND CULTURAL MANDAL’S


SHRI GULABRAO DEOKAR POLYTECHNIC,
. JALGAON
Gat no. 26 mohadishivar, shirsoli road,
Jalgaon-425002(M.S)

A Project Report on

“Quiz Application”
Submitted in the practical fulfillment of the requirement for
. The Diploma in Computer Engineering

Submitted By

Mr.Pranav Mahajan(09)
Mr.Lilesh Suralkar(11)
Ms.Yogita Patil(13)
Ms.Pranali Patil(27)

Guided By-
Mr.Akshay Mugad

Affiliated to
Maharashtra State Board of Technical Education Mumbai. 51
Academic Year 2022-23

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

SHRIKRISHNA EDUCATIONAL AND CULTURAL MANDAL’S


SHRI GULABRAO DEOKARPOLYTECHNIC,
. JALGAON

DEPARTMENT OF COMPUTER ENGINEERING


This is to certify that Mr.Pranav Mahajan(09), Mr.Lilesh Suralkar(11), Ms.Yogita
Patil(13), Ms.Pranali Patil(27) of Third Year Diploma in Computer Engineering has
completed Project on “Quiz Application” as prescribed by the Maharashtra State Board
of Technical Education Mumbai during the year 2022-23.

Mr.Akshay Mungad Prof.Mrs.M.V.Yeole Pro.M.P.Patil


. (Guided By) (H.O.D) (Principal)

Internal Examiner External Examiner

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

ACKNOWLEDGEMENT

This is the result of inspiration and guidance that were at the best level
of us. We are thankful to all of them who encouraged us to complete our project
and presentation.

We express our sincere thanks to our college principal Dr.M.P.Patil


H.O.D Prof.M.V.Yeole and guidance teacher Mr.Akshay Mungad with great
gratitude that offered time to time for information for project and guided us at
the deep level through the project.

We are also thankful to all staff member, friends and well wishers for
their valuable contribution to complete our project successfully.

Mr.Pranav Mahajan(09)
Mr.Lilesh Suralkar(11)
Ms.Yogita Patil(13)
Ms.Pranali Patil(27)
Diploma Third Year
(Computer)
S.G.D.P. Jalgaon

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

TABLE OF CONTENTS
Chapter 1: Introduction
1.1 Background 1
1.2 Aim and Objectives 1
1.3 Purpose & Scope & Applicability 2
1.3.1Purpose 2
1.3.1 Scope
1.3.3 Applicability 2
1.4 Description 2
1.5 Methodology 2
1.6 Assumptions 2
1.7 Limitations and Issues covered 3
1.8 Achievement 3

Chapter 2: Survey of Technologies


2.1 Existing System 4
2.2 Proposed System 4
2.3 Requirement Analysis 5
2.3.1 Hardware Requirements
2.3.2 Software Requirements
2.4 Justification of platform 6

Chapter 3: Requirement and Analysis


3.1 Problem definition 7
3.2 Preliminary Product Description 7
3.3 Planning Scheduling: 8
3.4 Conceptual diagrams 9-11
3.4.1 Waterfall Model
3.4.2 Flow Chart
3.5 ER Diagram 12
3.6 UML Diagrams 13-26
3.7.1 Use Case Diagram 14
3.7.2 Flow Chart diagram 15
3.7.3 Activity diagram 16-19
3.7.4 Class diagram 20

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

3.7.5 Sequence diagram 21-25


3.7.6 Deployment diagram 26
3.7.7 Component diagram 26

Chapter 4: System Design


4.1 Basic Modules 27
4.2 Data Design 27-31
4.2.1 Schema Design 27-29
4.2.2 Data Integrity and Constraints 29-31
4.3 User Interface 32-34
4.4 Security Issues 34
4.5 Test Cases 35-38

Chapter 5: Implementation and Testing


5.2 Coding Details and Code Efficiency
5.2.1CodingDetails 39-63
5.3TestingApproach 64
5.3.1UnitTesting 64-65
5.3.2IntegrationTesting 65
5.3.3BetaTesting 65-66
5.4 Modification and Improvements 66
5.5Test Cases 67-72
Chapter 6: RESULTS AND DISCUSSIONS
6.1TestReports 73
6.2UserDocumentation 74-82
Chapter 7: Conclusion
7.1Conclusion 83
7.1.1SignificanceoftheSystem
7.2LimitationsoftheSystem 84
7.3FutureScopeoftheProject 85

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

LIST OF TABLES
Schema Design
Data integration and constraints
Event table
Test case table

LIST OF FIGURES
Figure 1: Gantt chart
Figure 2: Waterfall model
Figure 3: ER Diagram
Figure 4: Use Case Diagram
Figure 5: Flow chart
Figure 6: Activity Diagram 6.1
Activity diagram for Login
6.2 Activity diagram for Submit Quiz
6.3 Activity diagram for Play Quiz
Figure 7: Class diagram
Figure 8: Sequence Diagram
8.1 Sequence diagram for login
8.2 Sequence diagram for Play Quiz
8.3 Sequence diagram for Submit Question
8.4 Sequence diagram for Logout
Figure 9: Deployment Diagram
Figure10:Component Diagram
Figure 11: Welcome Page
Figure 12 Home Page
Figure 13: Register Page
Figure 14: Login Page

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 15: Welcome Page


Figure 16: Home Page
Figure 17: Admin Login Page Figure
18: Admin Login error Page
Figure 19: Add New Question Page
Figure 20: Update Question Page
Figure 21: Delete Question Page
Figure 22: All Question Page
Figure 23: User Login Page
Figure 24: Login Error Page
Figure 25: Registration Page Figure
26: Registration error Page
Figure 27: Forget Password Page
Figure 28: Forget Password Page
Figure 29: Contact Us Page
Figure 30: About Us Page

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Chapter 1
Introduction
1.1 Background:

The project: “Quiz Application” is a collection of number of different types of quizzes like
technical, games, sports, etc. A user can access/play the entire quiz and can attempt any of the
one. There will be limited number of questions and for each correct answer user will get a credit
score. User can see answers as well as can ask a query related to it. There are many quiz
applications available currently on internet. But there are few which provide better understanding
between users and the application like, providing proper answers, user query Solving, uploading
user questions as well as answer to it, etc. To develop a user friendly quiz application.
which will contain : Numbers of quiz, Answers to every question, Query solving regarding any
question, Uploading of user question and answer, and to improve the knowledge level of users.
To develop an application which will contain solution to the above problems. By this application
the user will come to know about his/her level and can learn additional knowledge. Also by this
application a user can expand his/her knowledge among the world.

1.2 Aim and Objective:


➢ Aim:
“Our aim is to develop an application for the users in which a user can attempt any number of
quizzes related to his/her choice.”

➢ Objective:
The main objective of “Quiz Application” is to facilitate a user friendly environment for all users
and reduces the manual effort. In past days quiz is conducted manually but in further resolution of
the technology we are able to generate the score and pose the queries automatically. The functional
requirements include creating users that are going to participate in the quiz, automatic score and
report generation and administrative tasks like add, delete, update for admin privilege users. In this
application, all the permissions lies with the administrator i.e., specifying the details of the quiz
with checking result will show to interviewee or not, addition of question and answers, marks for
each question, Set timer for each quiz and generate report with score for each quiz.

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

1.3 Purpose, Scope and Applicability:

➢ Purpose:
This web application provides facility to Play online quiz and practice Grammar, Aptitude, and
G.K. It provides a good platform, where a student not only judges there knowledge/skill but also
they can improve knowledge/skill at the same time

➢ Scope:

The Scope of this project is very broad in terms of gaining knowledge and sharing knowledge
among world.
Few points are:-
• Can be used anywhere any time as it is a web based application.
• This application will be used in educational institutions as well as in corporate world.

➢ Applicability:
Anyone, whether a newcomer or professional, willing to learn they can choose it .
All users will have access to all subject containing sub topics Users will receive
best experience without any interruptions.

1.4 Description:

Firstly, we have to make interfaces for Home Page, Login Page, Questions Attempting forum,
Result Page, & Profile of user. These all pages have connectivity with the server and database. So,
that it can work properly. Currently, there are websites which only provide limited number of
quizzes related to different domain. Many websites do not have a single platform for quizzes
related to technical, G.K, Aptitude, Games, etc. And there is not a website where the users can
upload his/her questions and answers for the others. We have to develop an application which can
resolve all of the above problems. By this user can gain knowledge, can solve his/her query, and
spread his/her knowledge among the world.

1.5 Methodology:

The programming language used for the development of the project is JAVA. MySQL
is used for Database.

1.6 Assumptions:

We assume that the users of our Application should have a minimal Knowledge of computer
system and should have an availability of internet. We are dependent on the sources from where
we have gathered the data and the data are authenticated.

D
lOMoAR cPSD| 19729665

1.7 Limitations and Issues covered:

➢ Limitations:
No face to face interaction between the students and teacher.
User cannot add Questions for others.
User cannot see profile of other user.
Questions may take time to arrive due to slow internet connections

➢ Issues covered:
Students may have option to select subject that meets their level of Knowledge and Interest.
Beneficial for those users who cannot afford studying in a class. This
quiz application is free of cost.

1.8 Achievement:

With the help of our Application user will get complete knowledge of their respective subject.
This application helpful for all competitive exam like UPSC, MPSC, SSC, CDS, NDA and much
more .

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Chapter 2
Survey of Technology

2.1 Existing System:


There are so many Projects are available on Quiz Application . There are as follow –

➢ Quiz Up
Combining trivia and a social network, Quiz Up invites you to choose from more than 1,200
topics, take part in challenges and illustrated quizzes and post about your interests. You can play
against friends or go up against millions of the platform‟s users.

➢ Heads Up!
Suitable for all the family, this game sees players guess words/names/titles, which may include
celebrities, characters, movies, books and songs, which are described or acted out by their
friends. Just think of it as charades for the smartphone generation.

➢ Who Wants To Be a Millionaire


The classic game which captured the hearts of audiences worldwide is now available on mobile,
meaning you can relive the nail-biting build up as you bid to become a (virtual) millionaire.
Features include 50:50, ask the Audience and Ask the Expert. You can play against friends and
family too.

➢ Popcorn Trivia
Test out your knowledge of the silver screen with this addictive movie trivia app. Questions, based
on classic films, blockbusters and fan favorites, span picture rounds and multiple choices. Each
question is followed with an interesting fact. Play solo or against others.

D
lOMoAR cPSD| 19729665

2.2 Proposed System:


Unlike the other Application where you need to make account for every quiz you want to play, but
using this application, you just have to login by user name and password and then you will get
access to all quizzes from it.
The proposed system is an application will help in improving the knowledge and accuracy.

2.3 Requirement Analysis:


➢ Hardware Requirement :
Most current Computers and Laptop have enough specifications to be used to create an
Application. The most important specification to check on the computer would be the size of the
RAM, which should be over 2 GB, more is better. This will ensure that the computer runs quickly
and smoothly, even with heavier programs. The computer should have a keyboard and mouse
attached and working as well.
S.NO NAME HARDWARE

1. Processor Intel dual core (32 bit)

2. RAM 2 GB

3. Processor Speed 2 GHz

➢ Software Requirement:
Aside from a Computer and internet connection, most of the tools you need to build an
Application are Software Program. Some of which may already be on your computer.
S.NO NAME SOFTWARE

1. Platform Windows 7

2. Language Used Net beans

3. Database tool MySQL

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

2.4 Justification of Platform:


Justification means why I choose this project to make because not just for making Project for
College It is for improving my skills.

➢ Why Net beans :


Net beans is an open-source Integrated Development Environment (IDE) . It is used to
develop applications with JAVA, PHP, C++, HTML and many other Programming languages.
The applications are developed using modules in JAVA. Net beans can run on any operating
system such as windows, Macos, Linux etc.

Apache Net beans provides editors, wizards and templates to help you create applications in
JAVA, PHP and many other languages. The IDE simplifies the development of web, enterprise,
desktop and mobile applications that use .The JAVA and HTML5 platforms.

Advantages:
• Netbeans is very efficient in code development and java web development.
• Netbeans is a great tool to small as it is quite easy to use. its integration is great with other tools.

➢ Why MySQL:

MySQL is a relational database management system based on SQL- Structure Query


Language. The application is used for a wide range of purposes, including data warehousing,
ecommerce and logging applications. The most common use for MySQL is for the purpose of a
web database. MySQL creates a database for storing and manipulating data, defining the
relationship of each table. Clients can make request by typing specific SQL statements on
MySQL.

Advantages:

• MySQL is more secure.


• MySQL is available for free to download and use from the official site of MySQL.

D
lOMoAR cPSD| 19729665

Chapter 3
Requirements and Analysis
3.1 Problem Definition:
Quiz Contest is an application developed to conduct a quiz based on time constraints. Quiz
Contest system is accessed by entering the user name and password which is added to the database.
Before start of the quiz, the rules and regulations are displayed that includes description of the time
limit, number of questions to be answered and scoring methods. Quiz is started by displaying one
question with four options each based on computer and general knowledge. if the answer is correct,
7 score is incremented by four and no negative marks for wrong answers . If the time exceeds
20secs next question will come automatically after giving few limited question's answer quiz
application will finally direct you to the score page. Final score will be displayed and updated in
the database with username.

3.2 Requirements Specification


The systems primary focus should be on providing a user friendly easy to understand
interface, which can be used easily and simple by anyone.

Functional Requirements:

➢ System Feature-

This section gives a functional requirement that applicable to the online Quiz.
There are two modules in this phase:
• Student/user module.
• Admin module.

Functionality of each module are:

• Student/user module:

The student/user have to login in application. They can choose any of the given Quiz. Then the
student/user will get result immediately after the completion of test.

• Admin module:
The admin can see all the tables in the Database and can add the Question
by selecting the particular topic.

➢ Non Functional Requirements


7

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Performance Requirements

• Response Time-
The system shall give responses in 2 sec after user login.

• Safety Requirements
All logged information, updates, user activities are securely stored.

• Security Requirement
Any modification for the Database shall be synchronized and done by system admin.

3.3 Planning Scheduling:

Figure 1: Gantt chart

D
lOMoAR cPSD| 19729665

3.4 Software and Hardware Requirements:


➢ Software Requirements:

S.NO NAME SOFTWARE

1. Platform Windows 7

2. Language Used Net beans

3. Database tool MySQL

➢ Hardware Requirements:

S.NO NAME HARDWARE

1. Processor Intel dual core (32 bit)


2. RAM 2 GB

3. Processor Speed 2 GHz

➢ Product Preliminary Description:


Product Perspective:

The Quiz Application is an educational platform built for those students and professionals who
have interest in Government exams and gaining knowledge. The admin of our application can keep
all the Quizzes updated all the time so that members get updated information. Here, various
Quizzes will be available with different topics and description. Users can provide their valuable
feedback and even contact us if there is any issue. The main users are : Admin (who can add,
update or remove any Quiz and information)and Members (who are here to study).

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

➢ Waterfall Process model

The Classical Life Cycle or waterfall Process Model was the first process model to present a
sequential framework, describing basic stages that are mandatory for a successful software
development model. It formed the basis for most software development standards and consists of
the following phases: Requirement analysis, design, coding, testing, and maintenance.

Advantages of waterfall model:

• Simple goal.
• Simple to understand and use.
• Clearly defined stages.
• Easy to arrange tasks.
• Process and result are well documented.
• Customers / end users already know about it.
• Easy to manage.

Disadvantage of Waterfall model: Rigid


design and inflexible procedure.

• Waterfall model faced “Inflexible point solution” which meant even small amendments in
the design were difficult to incorporate later design phase.
• As the requirement were froze before moving to the design phase, using the incomplete set
of requirement, a complete design was worked amendments In case of a large project,
completing a phase and then moving back to reconstruct the same phase, incurred a large
overhead.
• Once a phase is done, it is not repeated again that is movement in the waterfall goes one to
the next and the vice versa is not supported, deadlines are difficult to meet I case of large
projects.

10

D
lOMoAR cPSD| 19729665

Implementation

Figure 2: Waterfall Model

11

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

3.5 ER Diagram

Figure 3: ER Diagram

12

D
lOMoAR cPSD| 19729665

3.6 UML Diagrams


3.6.1 Use Case Diagram :
To model a system, the most important aspect is to capture the dynamic behavior. Dynamic
behavior means the behavior of the system when it is running/operating. Only static behavior is
not sufficient to model a system; rather dynamic behavior is more important than static behavior.
In UML, there are five diagrams available to model the dynamic nature and use case diagrams are
one of them. A use case diagram is a graphical depiction of a user's possible interactions with a
system. A use case diagram shows various use cases and different types of users the system has
and will often be accompanied by other types of diagrams as well. A use case diagram is used to
represent the dynamic behavior of a system. It encapsulates the system‟s functionality by
incorporating use cases, actors and their relationships. Use case diagrams consist of actors, use
cases and their relationships. The diagram is used to model the system/subsystem of an application.
A single use case diagram captures a particular functionality of a system. Hence to model the entire
system, a number of use case diagrams are used.

The purpose of a use case diagram is to capture the dynamic aspect of a system.

● Purpose The main purpose of use case diagrams is to portray the dynamic aspect of a system.

Following are some purposes of a use case diagram:

➔ It represents the interaction between the actors.

➔ It depicts the external view of the system.

➔ It gathers the system‟s needs.

➔ It recognizes the internal as well as external factors that influence the system.

Use case diagrams are used to gather the requirements of a system including internal and external
influences. These requirements are mostly design requirements. Hence, when a system is analyzed
to gather its functionalities, use cases are prepared and actors are identified. When the initial task
is complete, use case diagrams are modelled to present the outside view.

Benefits of Use Case Diagrams are as follows:

● Used to gather the requirements of a system.

● Used to get an outside view of a system.

● Identify the external and internal factors influencing the system.

● Show the interaction among the requirements are actors.

13

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 4: Use case Diagram

14

D
lOMoAR cPSD| 19729665

3.6.2 Flow Chart

Figure 5: Flow Chart

15

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

3.6.3 Activity diagram


Activity diagram is another important diagram in UML to describe the dynamic aspects of the
system. Activity diagram is basically a flowchart to represent the flow from one activity to another
activity. The activity can be described as an operation of the system. An activity diagram is a
behavioral diagram i.e. it depicts the behavior of a system. An activity diagram portrays the control
flow from a start point to a finish point showing the various decision paths that exist while the
activity is being 28 executed. An activity diagram shows business and software processes as a
progression of actions. These actions can be carried out by people, software components or
computers. Activity diagrams are used to describe business processes and use cases as well as to
document the implementation of system processes

Benefits of Activity Diagrams are as follows:

● Demonstrate the logic of an algorithm.

● Describe the steps performed in a UML use case.

● Illustrate a business process or workflow between users and the system.

● Simplify and improve any process by clarifying complicated use cases.

● Model software architecture elements, such as method, function, and operation.

16

D
lOMoAR cPSD| 19729665

Figure 6.1 : Activity diagram for Login

17

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 6.2 : Activity Diagram For Submit Quiz

18

D
lOMoAR cPSD| 19729665

Figure 6.3: Activity Diagram For Play quiz

19

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

3.6.4 class diagram


The class diagram is the main building block of object oriented modeling. It is used for general
conceptual modeling of the structure of the application, and for detailed modeling, translating the
models into programming code. Class diagrams can also be used for data modeling. The classes in
a class diagram represent both the main elements, interactions in the application, and the classes
to be programmed. Class diagram is a static diagram. It represents the static view of an application.
Class diagram is not only used for visualizing, describing, and documenting different aspects of a
system but also for constructing executable code of the software application.

Figure 7: Class Diagram

20

D
lOMoAR cPSD| 19729665

3.6.4 Sequence Diagram :


A sequence diagram is a type of interaction diagram because it describes how and in what order a
group of objects works together. These diagrams are used by software developers and business
professionals to understand requirements for a new system or to document an existing process. A
sequence diagram is the most commonly used interaction diagram. An interaction diagram is used
to show the interactive behaviour of a system.

Benefits of Sequence diagrams are as follows:

● To capture the dynamic behaviour of a system.

● To describe the message flow in the system.

● To describe the structural organization of the objects.

● To describe the interaction among objects.

● Represent the details of a UML use case.

● Model the logic of a sophisticated procedure, function, or operation.

● See how objects and components interact with each other to complete a process.

● Plan and understand the detailed functionality of an existing or future scenario.

21

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 8.1: Sequence Diagram For Login

22

D
lOMoAR cPSD| 19729665

Figure 8.2: Sequence diagram For Play Quiz

23

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 8.3: Sequence Diagram for Submit Question

24

D
lOMoAR cPSD| 19729665

Figure 8.4: Sequence Diagram For Logout

25

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

3.6.5 Deployment Diagram

Figure 9: Deployment Diagram

3.6.6 Component Diagram

Figure 10: Component Diagram

26

D
lOMoAR cPSD| 19729665

Chapter 4
System Design

4.1 Basic Modules:


1) Admin Login:

• Manage users in the system


• Manage Quiz details
• Add Quiz question 2) User Login:

• Browse Quiz
• Take a Quiz

4.2 DATA DESIGN:


4.2.1 Schema Design
Admin Table:
Column name Data Type Size Constraints

admin_id Integer Foriegn key

admin_username Varchar 100 Not Null and unique

admin_password Varchar 100 Not Null

admin_fname Varchar 100 Not Null

admin_lname Varchar 100 Not Null

admin_email Varchar 100 Not Null

admin_phno Integer Not Null

admin_dob Date Not Null

27

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

User Table:
Column name Data Type Size Constraints
user_id Integer Foriegn key

user_username Varchar 100 Not Null and unique

user_password Varchar 100 Not Null

user_fname Varchar 100 Not Null

user_lname Varchar 100 Not Null

user_email Varchar 100 Not Null

user_phno Integer Not Null

user_dob Date Not Null

Quiz Table:
Column name Data Type Size Constraints

quiz_id Integer Foriegn key

quiz_name Varchar 100 Not Null and unique

quiz_descrip tion Varchar 100 Not Null

quiz_cateogr Varchar 100 Not Null


y

Quiz Topic table:


Column name Data Type Size Constraints

topic_id Integer Foriegn key

topic_name Varchar 100 Not Null and unique

topic_size Varchar 100 Not Null

28

D
lOMoAR cPSD| 19729665

Relationship between tables:

Quiz Table:
Column name Data Type Size Constraints

quiz_id Integer Foriegn key

quiz_name Varchar 100 Not Null and unique

quiz_descrip tion Varchar 100 Not Null

quiz_cateogr Varchar 100 Not Null


y

Quiz Topic table:


Column name Data Type Size Constraints

topic_id Integer Foriegn key

topic_name Varchar 100 Not Null and unique

topic_size Varchar 100 Not Null

4.2.2 Data Integrity and Constraints:


Admn Table:
Column name Data Type Constraints Description

admin_id Integer Foriegn key The ID of the admin should be


uniquely defined
admin_username Varchar Not Null and The username of the admin to
unique log
in to the system
admin_password Varchar Not Null The password which is
required along with
username to login

admin_fname Varchar Not Null The first name of the admin

29

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

admin_lname Varchar Not Null The last name of the admin

admin_email Varchar Not Null Email address of the admin

admin_phno Integer Not Null Contact number of admin

admin_dob Date Not Null Date of birth of admin

User Table:
Column name Data Type Constraints Description

user_id Integer Foriegn key The ID of the user


should be
uniquely defined
user_username Varchar Not Null and unique The username of the
user to
log in to the system
user_password Varchar Not Null The password of the
user to
log in to the system
user_fname Varchar Not Null The first name of the
admin
user_lname Varchar Not Null The last name of the
admin
user_email Varchar Not Null Email address of the
admin
user_phno Integer Not Null Contact number of
admin
user_dob Date Not Null Date of birth of admin

30

D
lOMoAR cPSD| 19729665

Quiz Table:
Column name Data Type Constraints Description

quiz_id Integer Foriegn key The unique ID of the course


present in the system
quiz_name Varchar Not Null and unique The name of the course
present in the system
quiz_descrip tion Varchar Not Null The description of the
respective course
quiz_cateogr Varchar Not Null Category of the course
y

Quiz topic table:


Column name Data Type Constraints Description

ctopic_id Integer Foriegn key The ID of the course


material is uniquely
identified
ctopic_name Varchar Not Null and unique Name of the course
material
ctopic_size Varchar Not Null Exact size of the course
material

31

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

4.3 User Interface User


Interface:

This is the welcome page of the Application.

32

D
lOMoAR cPSD| 19729665

Figure 8: Homepage

This is the main Homepage of the Application. The user can log into the system through
log in, the service options will take you to the service page and Admin can login from this page.

33

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Figure 9: Register page

This is the Register page. Where user have fill information like Name, Mobile Number,
Username, Password, Retype Password, Birthdate, Address. Then user can login in login page.

Figure 10: Login page

This is the Login page. The User have to enter their Username and password to avail further
services.

34

D
lOMoAR cPSD| 19729665

4.4 Security Issues:


The protection of computer-based resources that includes hardware, software, data
procedures and people against unauthorized use of natural disaster is known as system security.
ISSUES SOLUTION

Customer‟s Data Customer‟s Data will be kept in encrypted form in the database

User Password Access will be given to only valid customers.

4.5 Test Cases


4.5.1 Testing Approach
A test approach is the test strategy implementation of a project, defining how testing would
be carried out.Implementation of test strategy for a particular project is known as "test
approach".The test approach is usually defined in all test plans and test designs. Test approach
refers to the commencement of various project activities such as planning the testing process,
selecting the designs, defining the entry and exit criteria etc.

Test approach has two techniques:

● Proactive

An approach in which the test design process is initiated as early as possible in order to
find and fix the defects before the build is created.

● Reactive

An approach in which the testing is not started until after design and coding are completed.

35

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

4.5.2 Test Cases Design:


Index Test Case Test data Test input State Expected
values result

1. Admin Username Invalid Invalid Check with the


logins with And Username database and
username Password or display message
and Validation password username or
password password is
incorrect
Username Correct Valid Check with the
And Username database and
Password or redirect to the
Validation password home page of
Admin
2. User logins Username Invalid Invalid Check with the
with And Username database and
username Password or display message
and Validation password username or
password password is
incorrect
Username Correct Valid Check with the
And Username database and
Password or redirect to the
Validation password home page of
User
3. Course Username Invalid Invalid Check with the
provider And Username database and
logins with Password or display message
username Validation password username or
and password is
password incorrect
Username Correct Valid Check with the
And Username database and
Password or redirect to the
Validation password home page of
Course provider

36

D
lOMoAR cPSD| 19729665

4. The ID Alphabets or user@78 Invalid Please enter


should any special 9 digits only
contain only character is
numbers used
ranging (0-
9) and
without

decimal
numbers
Any decimal 12.34 Invalid ID cannot be a
number is decimal
used number

Negative -25 Invalid ID cannot be a


number is negative number
used
Numbers 1080 Valid ID is accepted
from 0-9 is
used
5. The Name Numbers Abhi556 Invalid Please enter
used must (0-9)is used alphabets only
contain
alphabets (A-
Z) and
(a-z)
Any special Abhi@% Invalid Please enter
character is alphabets only
used
Alphabets Abhi Valid Name is
(A-Z) and accepted
(a-z)is used
6. The Any special Admin@ Invaid Special
username character is 567 characters are
can contain used not allowed
alphabets
(A-Z) and
(a-z) and
numbers
from (0-9)
and it

37

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

should not
begin with a
number

Username 123 admin Invalid Username


begins with a cannot begin
number with a numeric
value
7. Password Password 8700685 Invalid Password must
cannot be length has contain
empty and less than 8 minimum 8
should characters an characters
contain no special
minimum of symbol

8 character and
maximum
of 12 character
and password
must contain a
special symbol

TPassword abhijeet@ Invalid Password must


length is more 55300 contains
than 12 characters less
characters and than 12
without special
symbol

Password length abhi@424 Valid Password is


is between 8-12 4 accepted,
and contains redirected to the
a special home page
symbol

8. Phone number Phone 99452344 Invalid Please enter 10


must contain only number digit mobile
10 digits length is less number
than 10 digits

38

D
lOMoAR cPSD| 19729665

Phone number 98704441 Invalid Please enter 10


length is 0078 digit mobile
more than 10 number
digits

Negative -9870444 Invalid Phone number


number is used 1007 cannot be
negative
Mobile number 98927511 Valid Mobile number
with proper 10 48 is accepted
digit number

9. Email address Email address abhi123 Invalid Please enter


must be without valid email
address
proper format special symbols
“@” and “.”

At least one yah@554. co Invalid Please enter


character valid email
before”@” and address
three characters
after “.”

Proper email abhi101@ Valid Email ID is


address gmail.co m accepted

10. Course id ID is not unique Invalid Choose


another ID
ID is unique Valid Accepted!

11. Course material ID is not Invalid Choose


ID unique another ID

ID is unique Accepted!

39

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Chapter 5
IMPLEMENTATION AND TESTING
This is the phase in the software life cycle where the actual software is implemented. The
result of this phase consists of source code, together with documentation to make the code
reliable. Implemenetation is the action that must follow any preliminary in order for something
to actually happen. It encompasses all the processes involved in getting new software and
hardware operating properly in its environment, including installation, configuration, running,
testing and making necessary changes.

In implementation we start with the atual execution of the software application with the
design we have made. Implemnetation is done before we start with the coding of the software
product Implementation includes writing codes with the design in hand. Implementation is the
process of having systems personnel check out and put new equipment into use, train users,
install thenew application depending on the size of the organization that will be involved in

5.2 Coding Details and Code Efficiency

5.2.1 Coding Details

Login Admin:
import javax.swing.ImageIcon; import
javax.swing.JOptionPane;
public class LoginAdmin extends javax.swing.JFrame {

/**
* Creates new form LoginAdmin
*/
public LoginAdmin() {
initComponents();
}

@SuppressWarnings("unchecked")

40

D
lOMoAR cPSD| 19729665

// <editor-fold defaultstate="collapsed" desc="Generated Code">


private void initComponents() {

jTextField1 = new javax.swing.JTextField();


jLabel4 = new javax.swing.JLabel(); jLabel2 = new
javax.swing.JLabel(); jPanel1 = new
javax.swing.JPanel(); jButton2 = new
javax.swing.JButton(); jLabel1 = new
javax.swing.JLabel(); jCheckBox1 = new
javax.swing.JCheckBox(); jPasswordField1 = new
javax.swing.JPasswordField(); jButton1 = new
javax.swing.JButton(); jLabel3 = new
javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true); getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

jTextField1.setFont(new java.awt.Font("Acme", 1, 14)); // NOI18N


getContentPane().add(jTextField1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(693, 305, 200, 30));

jLabel4.setFont(new java.awt.Font("Acme", 1, 36)); // NOI18N


jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Admin Login");
getContentPane().add(jLabel4, new
org.netbeans.lib.awtextra.AbsoluteConstraints(650, 200, 210, 40));

jLabel2.setFont(new java.awt.Font("Acme", 1, 18)); // NOI18N


jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/userpassword.png"))); // NOI18N
getContentPane().add(jLabel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(600, 360, 50, -1));

jPanel1.setBackground(new java.awt.Color(0, 0, 0,80));


jPanel1.setForeground(new java.awt.Color(255, 255, 255));

jButton2.setFont(new java.awt.Font("Acme", 1, 14)); // NOI18N


jButton2.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Back.png"))); // NOI18N

41

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel1.setFont(new java.awt.Font("Acme", 1, 18)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/userlogin.png"))); // NOI18N

jCheckBox1.setBackground(new java.awt.Color(255, 255, 255));


jCheckBox1.setFont(new java.awt.Font("Acme", 1, 10)); // NOI18N
jCheckBox1.setForeground(new java.awt.Color(255, 255, 255));
jCheckBox1.setText("Show Password");
jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox1ActionPerformed(evt);
}
});

jPasswordField1.setFont(new java.awt.Font("Acme", 1, 14)); // NOI18N


jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jPasswordField1ActionPerformed(evt);
}
});

jButton1.setFont(new java.awt.Font("Acme", 1, 14)); // NOI18N


jButton1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/LOGIN1.png"))); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

42

D
lOMoAR cPSD| 19729665

.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(41, 41, 41)
.addComponent(jLabel1)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(134, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jCheckBox1)
.addGap(85, 85, 85))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
TRAILING, false)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jButton1,
javax.swing.GroupLayout.PREFERRED_SIZE, 69,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED
,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton2,
javax.swing.GroupLayout.PREFERRED_SIZE, 37,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPasswordField1,
javax.swing.GroupLayout.PREFERRED_SIZE, 198,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(38, 38, 38))))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

43

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(53, 53, 53)
.addComponent(jLabel1)
.addGap(27, 27, 27)
.addComponent(jPasswordField1,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox1)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.
LEADING)
.addComponent(jButton2)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
34, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(85, Short.MAX_VALUE))
);
getContentPane().add(jPanel1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(560, 240, 370, 330));

jLabel3.setBackground(new java.awt.Color(255, 255, 255));


jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/WELCOME BG4.png"))); // NOI18N
jLabel3.setText("jLabel3");
getContentPane().add(jLabel3, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1370, 770));

pack();
}// </editor-fold>
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jCheckBox1.isSelected())
{
jPasswordField1.setEchoChar((char)0);
}
else
jPasswordField1.setEchoChar('*');
}

44

D
lOMoAR cPSD| 19729665

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here: setVisible(false);
new index().setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jTextField1.getText().equals("Nikhil") &&
jPasswordField1.getText().equals("1234"))
{ setVisible(false); new
AdminHome().setVisible(true);
}
else
{
ImageIcon icon=new ImageIcon("Incorrect Password.PNG");
JOptionPane.showMessageDialog(null,"<html><b style=\"color: red; font-size:
10px\">Incorrect <br>Username or
Password</b></html>","Show",JOptionPane.INFORMATION_MESSAGE,icon);
}
}
private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new
LoginAdmin().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JLabel jLabel1; private
javax.swing.JLabel jLabel2; private
javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private
javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration }

45

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Admin Home Page :

import javax.swing.JFrame; import javax.swing.JOptionPane;


public class AdminHome extends javax.swing.JFrame { public
static int open=0; public AdminHome() { initComponents();
private void jMenu6MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: JFrame jf=new
JFrame(); jf.setAlwaysOnTop(true);
int a=JOptionPane.showConfirmDialog(jf,"Do you really want to
Logout","select",JOptionPane.YES_NO_OPTION);
if(a==0)
{ setVisible(false); new
LoginAdmin().setVisible(true);
}
}
private void jMenu7MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: JFrame jf=new
JFrame(); jf.setAlwaysOnTop(true);
int a=JOptionPane.showConfirmDialog(jf,"Do you really want to Exit
Application","select",JOptionPane.YES_NO_OPTION);
if(a==0)
{
System.exit(0);
}
}
private void jMenu1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(open==0)
{
new AddNewQuestion().setVisible(true);
open=1;
}
else
{
JFrame jf=new JFrame();
jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf,"one form is already open");
}
}

private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:

46

D
lOMoAR cPSD| 19729665

if(open==0)
{
new UpdateQuestion().setVisible(true);
open=1;
}
else
{
JFrame jf=new JFrame();
jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf,"one form is already open");
}
}
private void jMenu3MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(open==0)
{
new AllQuestion().setVisible(true);
open=1;
}
else
{
JFrame jf=new JFrame();
jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf,"one form is already open");
}
}

private void jMenu5MouseClicked(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:
if(open==0)
{
new DeleteQuestion().setVisible(true);
open=1;
}
else {
JFrame
jf=new
JFrame()
;
jf.setAlw
aysOnTo
p(true);
JOptionPane.showMessageDialog(jf,"one form is already open");
}

47

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new
AdminHome().setVisible(true);
}
});
}
private javax.swing.JLabel jLabel1; private
javax.swing.JMenu jMenu1; private
javax.swing.JMenu jMenu2; private
javax.swing.JMenu jMenu3; private
javax.swing.JMenu jMenu4; private
javax.swing.JMenu jMenu5; private
javax.swing.JMenu jMenu6; private
javax.swing.JMenu jMenu7; private
javax.swing.JMenuBar jMenuBar1;
}

Add New Question(Admin):


import java.sql.*; import Project.ConnectionProvider;
import javax.swing.JFrame; import
javax.swing.JOptionPane; public class AddNewQuestion
extends javax.swing.JFrame { public AddNewQuestion() {
initComponents();
try{
Connection con=ConnectionProvider.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select count(id) from question");
if(rs.first())
{
int id=rs.getInt(1);
id=id+1;
String str=String.valueOf(id);
jLabel4.setText(str);
}
else
jLabel4.setText("1");

}
catch(Exception e)
{

48

D
lOMoAR cPSD| 19729665

JFrame jf=new JFrame();


jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf, e);
}
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt)
{ // TODO add your handling code here:
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
String id=jLabel4.getText();
String name=jTextField1.getText();
String opt1=jTextField2.getText();
String opt2=jTextField3.getText();
String opt3=jTextField4.getText();
String opt4=jTextField5.getText();
String answer=jTextField6.getText();
String marks = null; try{
Connection con=ConnectionProvider.getCon();
PreparedStatement ps=con.prepareStatement("insert into question
values(?,?,?,?,?,?,?,?)");

ps.setString(1, id);
ps.setString(2, name);
ps.setString(3, opt1);
ps.setString(4, opt2);
ps.setString(5, opt3);
ps.setString(6, opt4);
ps.setString(7, answer);
ps.setString(8, marks);
ps.executeUpdate(); JFrame
jf=new JFrame();
jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf,"Successfully Updated");
setVisible(false); new AddNewQuestion().setVisible(true);
}
catch(Exception e)
{
JFrame jf=new JFrame();
jf.setAlwaysOnTop(true);
JOptionPane.showMessageDialog(jf, e);
}

49

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
jTextField1.setText("");
jTextField2.setText(""); jTextField3.setText("");
jTextField4.setText(""); jTextField5.setText("");
jTextField6.setText("");
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here: AdminHome.open=0;
setVisible(false);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new AddNewQuestion().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1; private
javax.swing.JLabel jLabel10; private
javax.swing.JLabel jLabel11; private
javax.swing.JLabel jLabel2; private
javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private
javax.swing.JLabel jLabel5; private
javax.swing.JLabel jLabel6; private
javax.swing.JLabel jLabel7; private
javax.swing.JLabel jLabel8; private
javax.swing.JLabel jLabel9; private
javax.swing.JSeparator jSeparator1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
}

50

D
lOMoAR cPSD| 19729665

User Registration page:


import java.sql.*; import javax.swing.JOptionPane;
public class RegisterUser extends javax.swing.JFrame {
public RegisterUser() { initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: try
{
String name=jTextField1.getText();
String mobileno=jTextField2.getText();
String email=jTextField3.getText();
String username=jTextField4.getText();
String password=jPasswordField1.getText();
String securityQ=(String)jComboBox1.getSelectedItem();
String answer=jTextField5.getText();

Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","123
4");
Statement st=con.createStatement();
st.executeUpdate("insert into student
(mobileno,email,username,password,securityQ,answer,name)
values('"+mobileno+"','"+email+"','"+username+"','"+password+"','"+securityQ+"','
"+answer+"','"+name+"')");
JOptionPane.showMessageDialog(null, "Thank you for Registration");
setVisible(false); new LoginUser().setVisible(true);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Something went wrong ! Please try
again");

}
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here: setVisible(false); new
LoginUser().setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

51

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

public void run() { new


RegisterUser().setVisible(true);
}
});
}
private javax.swing.JButton jButton1; private
javax.swing.JButton jButton2; private
javax.swing.JComboBox<String> jComboBox1; private
javax.swing.JLabel jLabel1; private javax.swing.JLabel
jLabel2; private javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private javax.swing.JLabel
jLabel5; private javax.swing.JLabel jLabel6; private
javax.swing.JLabel jLabel7; private javax.swing.JLabel
jLabel8; private javax.swing.JPanel jPanel1; private
javax.swing.JPasswordField jPasswordField1; private
javax.swing.JTextField jTextField1; private
javax.swing.JTextField jTextField2; private
javax.swing.JTextField jTextField3; private
javax.swing.JTextField jTextField4; private
javax.swing.JTextField jTextField5;
}

52

D
lOMoAR cPSD| 19729665

User Login Page:


import java.sql.*; import java.util.logging.Level;
import java.util.logging.Logger; import
javax.swing.JOptionPane; public class LoginUser
extends javax.swing.JFrame { public LoginUser() {
initComponents();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt)
{ // TODO add your handling code here:
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

String username=jTextField1.getText(); String


password=jPasswordField1.getText(); if
(username.trim().equals("") || password.trim().equals(""))
{
JOptionPane.showMessageDialog(null, "all fields are required");
}else{

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","123
4");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select *from student where
username='"+username+"' and password='"+password+"'");

if(rs.next())
{ setVisible(false);
new InstructionUser().setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null,"wrong password");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Error in Connection");

53

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

}
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: setVisible(false);
new RegisterUser().setVisible(true);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: setVisible(false);
new index().setVisible(true);
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
int a=JOptionPane.showConfirmDialog(null,"Do you really want to Exit
Application","Select",JOptionPane.YES_NO_OPTION);

if(a==0)
{
System.exit(0);
}
}

private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here: setVisible(false); new
ForgetPassword().setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new
LoginUser().setVisible(true);
}
});
}
private javax.swing.JButton jButton1; private
javax.swing.JButton jButton2; private
javax.swing.JButton jButton3; private
javax.swing.JButton jButton4; private
javax.swing.JButton jButton5; private
javax.swing.JLabel jLabel1; private

54

D
lOMoAR cPSD| 19729665

javax.swing.JLabel jLabel2; private


javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private
javax.swing.JPanel jPanel1; private
javax.swing.JPasswordField jPasswordField1; private
javax.swing.JTextField jTextField1;
// End of variables declaration
}

User Forget Password:


import javax.swing.JOptionPane; import java.sql.*;
import project.*; public class ForgetPassword extends
javax.swing.JFrame { public ForgetPassword() {
initComponents();
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: setVisible(false);
new RegisterUser().setVisible(true);
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
int a=JOptionPane.showConfirmDialog(null,"Do you really want to Close
Application","select",JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
String email=jTextField1.getText();
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","123
4");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select securityQ from student where
email='"+email+"'");
if(rs.next())

55

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

{
jTextField2.setText(rs.getString(1));
}
else
JOptionPane.showMessageDialog(null,"Please write correct email");
con.close(); rs.close();
}
catch(Exception e)
{

}
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
String email=jTextField1.getText();
String newPassword=jPasswordField1.getText();
String securityQ=jTextField2.getText();
String answer=jTextField3.getText();
if (email.trim().equals("") || newPassword.trim().equals("") ||
securityQ.trim().equals("") || answer.trim().equals(""))
{
JOptionPane.showMessageDialog(null, "all fields are required");
}else{

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","123
4");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select *from student where email='"+email+"'
and answer='"+answer+"'");
if(rs.next())
{
st.executeUpdate("update student set password='"+newPassword+"' where
email='"+email+"' and answer='"+answer+"'");
JOptionPane.showMessageDialog(null,"Your Password is Successfully
updated");

setVisible(false); new
LoginUser().setVisible(true);

56

D
lOMoAR cPSD| 19729665

}
else
JOptionPane.showMessageDialog(null,"Please write correct Email or
Answer");

}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Error in Connection");
}
}
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: setVisible(false); new
LoginUser().setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new
ForgetPassword().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1; private
javax.swing.JLabel jLabel2; private
javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private
javax.swing.JLabel jLabel5; private
javax.swing.JLabel jLabel6; private
javax.swing.JPanel jPanel1; private
javax.swing.JPasswordField
jPasswordField1; private
javax.swing.JTextField jTextField1; private
javax.swing.JTextField jTextField2; private
javax.swing.JTextField jTextField3;
}

57

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Connection Provider:
package Project; import java.sql.*;
public class ConnectionProvider {
public static Connection getCon()
{
try{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/qems","root","1234
"); return
con;
}
catch(Exception e)
{
return null;
}
}
}

Quiz Page:
}
import Project.ConnectionProvider;
import java.util.Date; import
java.sql.*;
import java.awt.event.ActionEvent; import
java.awt.event.ActionListener; import
java.text.SimpleDateFormat; import
javax.swing.JOptionPane; import
javax.swing.Timer;
public class QuizPage extends javax.swing.JFrame {

public String questionId="1";


public String answer; public
int min=0; public int sec=0;
public int marks=0;

public void answerCheck()


{
String studentAnswer="";
if(jRadioButton1.isSelected())

58

D
lOMoAR cPSD| 19729665

{
studentAnswer=jRadioButton1.getText();
}
else if(jRadioButton2.isSelected())
{
studentAnswer=jRadioButton2.getText();
}
else if(jRadioButton3.isSelected())
{
studentAnswer=jRadioButton3.getText();
}
else
{
studentAnswer=jRadioButton4.getText();
}

if(studentAnswer.equals(answer))
{
marks=marks+1;
String marks1=String.valueOf(marks);
jLabel8.setText(marks1);
}

//question number change int


questionId1=Integer.parseInt(questionId);
questionId1=questionId1+1;
questionId=String.valueOf(questionId1);

//clear jRadioButton
jRadioButton1.setSelected(false);
jRadioButton2.setSelected(false);
jRadioButton3.setSelected(false);
jRadioButton4.setSelected(false);

//last question hide next button


if(questionId.equals("10"))
{
jButton1.setVisible(false);
}
}
public void question()
{
try

59

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

{
Connection con=ConnectionProvider.getCon();
Statement st=con.createStatement();

ResultSet rs1=st.executeQuery("select *from question where


id='"+questionId+"'");

while(rs1.next())
{
jLabel20.setText(rs1.getString(1));
jLabel6.setText(rs1.getString(1));
jLabel17.setText(rs1.getString(2));
jRadioButton1.setText(rs1.getString(3));
jRadioButton2.setText(rs1.getString(4));
jRadioButton3.setText(rs1.getString(5));
jRadioButton4.setText(rs1.getString(6));
answer=rs1.getString(7);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
public void submit()
{

answerCheck();
try
{
Connection con=ConnectionProvider.getCon(); Statement
st=con.createStatement();
st.executeUpdate("update question set marks='"+marks+"'");
String marks1=String.valueOf(marks); setVisible(false);
new Successfully(marks1).setVisible(true);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
/**
* Creates new form QuizPage
*/

60

D
lOMoAR cPSD| 19729665

public QuizPage() {
initComponents();

//date
SimpleDateFormat dFormat=new SimpleDateFormat("dd-MM-yyyy");
Date date=new Date(); jLabel10.setText(dFormat.format(date));

//timer program
setLocationRelativeTo(this);
time=new Timer(1000,new ActionListener(){
@Override public void
actionPerformed(ActionEvent e){

jLabel15.setText(String.valueOf(sec));
jLabel14.setText(String.valueOf(min));

if(sec==60)
{
sec=0;
min++;
if(min==10)
{
time.stop();
answerCheck();
submit();
}
}
sec++; }
});
time.start();

//first question and student Details


try
{
Connection con=ConnectionProvider.getCon();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select *from question where
id='"+questionId+"'");

while(rs.next())
{
jLabel20.setText(rs.getString(1));
jLabel6.setText(rs.getString(1));
jLabel17.setText(rs.getString(2));

61

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

jRadioButton1.setText(rs.getString(3));
jRadioButton2.setText(rs.getString(4));
jRadioButton3.setText(rs.getString(5));
jRadioButton4.setText(rs.getString(6));
answer=rs.getString(7);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}

Timer time; private void


jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jRadioButton1.isSelected())
{
jRadioButton2.setSelected(false);
jRadioButton3.setSelected(false); jRadioButton4.setSelected(false);

}
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
answerCheck();
question();
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
int a=JOptionPane.showConfirmDialog(null,"Do you really want to
submit","select",JOptionPane.YES_NO_OPTION);
if(a==0)
{
answerCheck();
submit();
}

62

D
lOMoAR cPSD| 19729665

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(jRadioButton2.isSelected())
{
jRadioButton3.setSelected(false);
jRadioButton4.setSelected(false); jRadioButton1.setSelected(false);

}
}

private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(jRadioButton3.isSelected())
{
jRadioButton2.setSelected(false);
jRadioButton4.setSelected(false); jRadioButton1.setSelected(false);

}
}

private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) {


// TODO add your handling code here:
if(jRadioButton4.isSelected())
{
jRadioButton1.setSelected(false);
jRadioButton2.setSelected(false);
jRadioButton3.setSelected(false);

}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new QuizPage().setVisible(true);
}
});
}
private javax.swing.JButton jButton1; private
javax.swing.JButton jButton2; private
javax.swing.JLabel jLabel1; private
javax.swing.JLabel jLabel10; private
javax.swing.JLabel jLabel11; private
javax.swing.JLabel jLabel12; private

63

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

javax.swing.JLabel jLabel13; private


javax.swing.JLabel jLabel14; private
javax.swing.JLabel jLabel15; private
javax.swing.JLabel jLabel16; private
javax.swing.JLabel jLabel17; private
javax.swing.JLabel jLabel2; private
javax.swing.JLabel jLabel20; private
javax.swing.JLabel jLabel3; private
javax.swing.JLabel jLabel4; private
javax.swing.JLabel jLabel5; private
javax.swing.JLabel jLabel6; private
javax.swing.JLabel jLabel7; private
javax.swing.JLabel jLabel8; private
javax.swing.JLabel jLabel9; private
javax.swing.JPanel jPanel1; private
javax.swing.JRadioButton jRadioButton1; private
javax.swing.JRadioButton jRadioButton2; private
javax.swing.JRadioButton jRadioButton3; private
javax.swing.JRadioButton jRadioButton4;
// End of variables declaration
}

64

D
lOMoAR cPSD| 19729665

5.3 Testing Approach


Software testing is a process which is used to measure the quality of software developed.
It is also a process of uncovering errors in a program and makes it a feasible task. It is useful
process of executing program with the intent of finding bugs. In order to prove that a piece of
software works, the software must be tested to determine if the requirements of the application
are met. There are several different types used throughout the development process. These are
various types of testing. Some of which are mentioned below :

Component Testing : Where each and every components related to the software project
is tested.

System Testing : The testing implemented on overall software project after component
integration is system testing.

Acceptance Testing : It is performed after software installation in user environment with data
supplied by customers.

5.3.1 Unit Testing


The first test in the development process is the unit test. Unit testing is a level of software
testing where individual units or componennts of a software are tested. The purpose is to to
validate that each unit of the software perforns ass designed. A unit is the smallest testable part
of aany softare. It usually has one or a few inputs ad ussaully a single output. The source code is
normally divided into modules, which in turn are divided into smaller unit called units. These
units have specific behaviour. The test done on these units of code is called unit test.

Unit test depends upon the language on which the project is developed. Unit tests ensur
that each unique path of the project performs accurately to the documented specifications and
contains clearly defined inputa and expected results. Unit tests are typically written and run by
software developers to ensure that code meets its design and behaves as intended.

Here are some of the objectives of unnit testing :

• To verify the correctness of code.


• To fix bugs early in the development cycle and save costs.

65

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

• To help developers to understand the testing code base and enable them to make changes
quickly.
• To help the code reuse.
• To isolate a section of code.
• To test every unction and procedure.
• To learn what funictonally is provided by a unnit.
• It improves design and allows better refrractoring of code and makes the integration
simple.
• It helps find problems and resolve them before further testing so they won’t impact other
bits of code.
• It makes the process of debuggung easier.

5.3.2 Integrated Testing


Integration testing is a level of software testing where individual units are combined and
tested to verify if they are working properly. Integration testing carries a lot of significance as it
helps tester in determining the effectiveness as well as the functionality of he software.

Integration testing is critical to ensure the functional correctness of the integrated


ssystem. Integration testing is often the most time consumng and expensive part of testing.
Testing peformed to expose defects in the interfaces and in the interactionns between integrated
components or sysstems.

5.3.3 Beta Testing

Beta testing is oneof the types of user acceptance testing, which adds value to the product
as the end user (intended real user) validates the product for functionally, usability, reliaility and
compatibility. The main goal of user acceptance testing is to check whether the developed
software product fulfill the user requirements.

Beta testing is performed in order to accss the product by exposing itto real end users.
After that, the feedback is taken from the users and the defects detected are fixed. Inputs
provided by the end users helps inn enhancing the quality of the product furtherr and leads to its
success. It hels he software product to provide better user experiance. This also helps in decision

66

D
lOMoAR cPSD| 19729665

making to invest further in the products or the same product forr improvisation. Since Beta
Testing happens at the end user’s side, it cannot be the controlled activity.

The features of bea testing are as follows:

• Beta testing helps in providing the actual position of the quality. Beta testing generally is
done for testing software products like utilities, operating systems and application etc.
• Beta testing focuses on the customers satisfaction.
• It helps to reduce the risk of project failure via user validations.
• Beta testing helps to get direct feedback from users.
• It helps to detect the defect and issues in the system. which is overlooked and undetected
by the team of software testers.
• Beta tsting helps the user to install, test and send feedback regarding the developed
software.

5.4 Modifications and Improvements


• Modifications made in the database structure for reliability.
• Other than admin, no other users are allowed to update their profile, Although admin can
manage all things.
• Although, Admin can manage all quiz of student in the sytem.
• Admin can add new questions, update questions and delete questions as per choice.
• The user interface has been improved and kept simple.
• Test case have been modified and improved for better testing process.

67

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

5.5 Test Cases Module Name : Login


TEST CASE TEST TEST PRE- TEST TEST EXPECT POST
ID SCENAR CASE CONDITI STEPS DATA ED CONDITI
IO ON RESULT ON
TC_LOGIN_ verify the Enter Need a Enter <valid Successfu Homepage
001 login of valid valid user usernam l login is shown
student userna Gmail name e>
me and Acont to Enter <valid
valid do login Passwo passwor
passwo rd d>
rd Click
“Login

Button
TC_LOGIN_ verify the Enter Need a Enter <valid A
002 login of valid valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <invalid username
invalid do login Passwo passwor and
passwo rd d> password
rd Click is
“Login incorrect”
” is shown
Button
TC_LOGIN_ verify the Enter Need a Enter <invalid A
003 login of invalid valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <valid username
valid do login Passwo passwor and
passwo rd d> password
rd Click is
“Login incorrect”
” is shown
Button
TC_LOGIN_ verify the Enter Need a Enter <invalid A
004 login of invalid valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <invalid username
invalid do login Passwo passwor and
passwo rd d> password
rd Click is
“Login incorrect”
” is shown

68

D
lOMoAR cPSD| 19729665

Button
TC_LOGIN_ verify the Enter Need a Enter <valid A
005 login of valid valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <invalid username
invalid do login Passwo passwor and
passwo rd d> password
rd Click is
without “Login incorrect”
numeri ” is shown
c value
Button
TC_LOGIN_ verify the Enter Need a Enter <valid A
006 login of valid valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <invalid username
empty do login Passwo passwor and
passwo rd d> password
rd Click is
“Login incorrect”
” is shown
Button
TC_LOGIN_ verify the Enter Need a Enter <valid A
007 login of empty valid user usernam message
student userna Gmail name e> “The
me and Acont to Enter <invalid username
valid do login Passwo passwor and
passwo rd d> password
rd Click is
“Login incorrect”
” is shown
Button

69

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Module Name : Registration


TEST TEST TEST PRE- TEST TEST DATA
EXPECT POST
CASE SCENA CASE CONDITI STEPS ED CONDITI
ID RIO ON RESULT ON
TC_ verify Enter Need a Enter <valid Name> Successf Loginpage
Registrat the valid valid Name, valid Mobile ul is shown
ion _001 Registrat Name, Gmail Mobile Number Register
ion of Mobile Acont to Number ><valid
student Numbe do , Email Email ID
r, Registrati ID, ><valid
Email on userna me, username
ID, passwor d ><valid
userna and password><va
me, Securit y lid Security
passwo Questio n Question
rd and Answer Answer>
Securit y Click
Questio “Regist er”
n
Button
Answer
TC_ verify Enter Need a Enter <invalid A
Registrat the valid valid Name, Name> message
ion _002 Registrat Name, Gmail Mobile <valid Mobile “Somethi
ion of Mobile Acont to Number Number ng went
student Numbe do login , Email ><valid wrong
r, ID, Please
Email ID
Email userna me, try again
><valid
ID, passwor d later” is
username
userna and ><valid shown
me, Securit y password><va
passwo Questio n lid Security
rd and Answer Question
Securit y Click Answer>
Questio
“Regist er”
n
Button
Answer

TC_ verify Enter Need a Enter <valid Name> A


Registrat the valid valid Name, <invalid message
ion _003 Registrat Name, Gmail Mobile Mobile “Somethi
ion of

70

D
lOMoAR cPSD| 19729665

student Mobile Acont to Number Number ng went


Numbe do login , Email ID, ><valid wrong
r, userna me, Email ID Please try
Email ID, passwor d ><valid again
userna and Securit username later” is
me, y ><valid shown
passwo rd Questio n password><va
and Answer lid Security
Securit y Click Question
Questio n “Regist er” Answer>
Answer Button

TC_ verify the Enter Need a Enter <valid Name> A


Registrat Registrat valid valid Name, <valid message
ion _004 ion of Name, Gmail Mobile Mobile “Somethi
student Mobile Acont to Number Number ng went
Numbe do login , Email ID, ><invalid wrong
r, userna me, Please try
Email ID
Email ID, passwor d again
><valid
userna and Securit later” is
username
me, y ><valid shown
passwo rd Questio n password><va
and Answer lid Security
Securit y Click Question
Questio n “Regist er” Answer>
Answer
Button
TC_ verify the Enter Need a Enter <valid Name> A
Registrat Registrat valid valid Name, <valid message
ion _005 ion of Name, Gmail Mobile Mobile “Somethi
student Mobile Acont to Number Number ng went
Numbe do , Email ID, ><valid wrong
r, Registrati Please try
userna me, Email ID
Email ID, on again
passwor d ><invalid
userna later” is
and Securit username
me, ><valid shown
passwo password><va
lid Security
Question

71

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

rd and y Answer>
Securit Questio
y n
Questio Answer
n Click
Answer “Regist
er”
Button
TC_ verify the Enter Need a Enter <valid Name> A
Registrat Registrat valid valid Name, <valid message
ion _006 ion of Name, Gmail Mobile Mobile “Somethi
student Mobile Acont to Number Number ng went
Numbe do , Email ><invalid wrong
r, Registrati ID, Please try
Email ID
Email on userna again
><valid
ID, me, username later” is
userna passwor ><invalid shown
me, d and password><va
passwo Securit y lid Security
rd and Questio Question
Securit n Answer>
y Answer
Questio Click
n
“Regist
Answer
er”
Button
TC_ verify the Enter Need a Enter <valid Name> A
Registrat Registrat valid valid Name, <valid message
ion _007 ion of Name, Gmail Mobile Mobile “Somethi
student Mobile Acont to Number Number ng went
Numbe do , Email ><valid wrong
r, Registrati ID, Please try
Email ID
Email on userna ><valid again
ID, me, username later” is
userna passwor ><valid shown
me, d and password><in
passwo Securit y valid Security
rd and Questio Question
Securit n
y Answer>
Answer
Questio Click
n “Regist
Answer
er”
Button

72

D
lOMoAR cPSD| 19729665

Module Name : Contact Us


TEST TEST TES PRE- TEST TEST EXPECTE POST
CASE SCENARI T CONDITIO STEPS DATA D CONDITIO
ID O CAS N RESULT N
E
TC_ verify the Enter Need a Enter <valid Successful
ContactU ContactUs valid valid Gmail name Name>
s _001 of student Nam Acont to do Enter <valid
e and ContactUs Email Email
valid Id Enter ID><vali
Emai Mesage d
l ID Click Message
“Submit >
” Button
TC_ verify the Enter Need a Enter <valid A message
ContactU ContactUs valid valid Gmail name Name> “The
s _002 of student Nam Acont to do Enter <invalid username
e and ContactUs Email Email and
valid Id Enter ID><vali password
Emai Mesage d is
l ID Click Message incorrect”
“Submit > is shown
” Button
TC_ verify the Enter Need a Enter <invalid A message
ContactU ContactUs valid valid Gmail name Name> “The
s _003 of student Nam Acont to do Enter <valid username
e and ContactUs Email Email and
valid Id Enter ID><vali password
Emai Mesage d is
l ID Click Message incorrect”
“Submit > is shown
” Button

73

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Chapter 6
RESULTS AND DISCUSSIONS
6.1 Test Reports
EXECUTED PASSED 17

FAILED 0

TEST EXECUTED IN 17
TOTAL
PENDING 0

IN PROGRESS 0

BLOCKED 0

(PENDING+IN 17
PROGRESS+BLOCKED+TEST
EXECUTED)

Function Description %Tc’s %Tc’s %Tc’s Priority Remarks


Executed Passed Pending
Login Page Check Login 100% 100% 0 High

Registration Check New 100% 100% 0 High


Page Registration

Payment Page Check Contact 100% 100% 0 High


Us

74

D
lOMoAR cPSD| 19729665

6.2 User Documentation


Welcome page of Application: This is the welcome Page of Application

Home Page: This Home Page of Application. After Clicking „Lets Start‟ Button in Welcome
Page Home page will be displayed.

75

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Admin Login Page: This is the Login Page for Admin of the system .

If the Admin enters incorrect details then the error message is displayed.

76

D
lOMoAR cPSD| 19729665

Add New Question Page: This is the Add Question Page where admin can add the question for
quiz.

Update Question Page: This is the Update Question Page where Admin can update question
includes question number, question options etc.

77

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Delete Question Page: This is the Delete Question Page where admin can delete question from the
quiz.

All Question Page : This is the All question Page where admin can view all question.

78

D
lOMoAR cPSD| 19729665

Student Login Page: This is the Login page for student of the system.

If the Student enters incorrect details then the error message is displayed.

79

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Registration Page : This is the Registration Page where new students can register on this page.

If the Student enters incorrect details then the error message is displayed.

80

D
lOMoAR cPSD| 19729665

Forgot Password Page: This is the Forgot Password Page for Student of the system. If student
forgot the password then he/she will reset password with the help of this page.

If the Student enters incorrect details then the error message is displayed.

81

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Contact Us: This is the Contact Us page. With the help of Contact us page student can connect
directly with admin.

Quiz Schedule Page: This is the Quiz Schedule Page of the application. Student will get quiz
Schedule on this Page. He/She can attempt Quiz according to schedule.

82

D
lOMoAR cPSD| 19729665

About Us: This is About Us page of the application.

83

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)


lOMoAR cPSD| 19729665

Chapter 7
CONCLUSIONS

7.1 Conclusion
Quiz application provides facility to attempt quiz anywhere and anytime. It save time since user
does need to wait for result. So student/user cannot wait for the result. All Student/ user get extra
knowledge and skills. Administrator has a privilege to put as much as question in given Quiz in
application. User can register, log-in to atempt Quiz. If user forget thier password then he/ she
can reset password with the help of Forgot Pasword option. There is instruction page for students
o get imformation about quiz like number of question, given time etc. After that student get the
result of quiz. so, student cannot wait for result. also admin is resposible to add, delete and
update quetion in the system. also he can view result of all students.
It hass been a great pleasure for me to work on this exciting and challenging project. This
project proved good for me as it provided practical knowledge of programming in JAVA and
MYSQL server and also about all handling procedure related with Quiz System. It also provides
knowledge about the latest technology used in developing application and server technology tha
will be great demand in future. This will provide better opportunities and guidance in future in
developing projects independently. This Quiz Application can be efficiently used by any
students and Educational platforms. During the course of this assignment I have gone through
many obstacle which made me to research and aalso increase mu knowledge.
At last it can be concluded that the “Quiz Application” was the real learning experience.
The project has been made as per as the given specification. The sytem has been made as
userfriendly as possible.

7.1.1 Significance of the system


• The system is easy to use as it is user friendly.
• The working of the system is in organized form.
• It provides faster and accurate prescription procesing.
• The system is kept simple and can be easily used by users.
• Quiz can be given without an instructor, which saves money and time.
• A larger number of participants, with instant results of your quiz.

84

D
lOMoAR cPSD| 19729665

7.2 Limitations of the System


• The admin needs to be regularly be in contact with other users for any update in the user’s
information.
• We want to implement a concept where user itself can add question for others.
• We want to implement a concept where the user can solve any query related to each
question at that time only.
• We also want to implement a concept where every user can see profile of other user.

7.3 Future Scope of the Project


• The Scope of this project is very broad in terms of gaining knowledge and sharing
knowledge among world.
• Can be used anywhere any time as it is a application. This application will be used in
educational institutions as well as in corporate world.

Reference:
https://en.wikipedia.org/ https://www.javatpoint.com/
https://www.w3schools.com/
https://www.tutorialspoint.com/

85

Downloaded by pranav mahajan (pranavmahajan530@gmail.com)

You might also like