Вы находитесь на странице: 1из 84

PROJECT TITLE

A Mentor Project Report


Submitted in Partial fulfillment for the award of
Bachelor of Engineering in Computer Science & Engineering

Submitted to
RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA
BHOPAL (M.P)

MINOR PROJECT REPORT


Submitted by
Aman Singh[Roll No. 25]
Arnim Mathur[Roll No. 37]
Under the supervision of
Guide Name: Aditya patel
Designation: Mentor

Departmet of Computer Science & Engineering


Lakshmi Narain College of Technology, Bhopal (M.P.)
Session 2018-19
LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CERTIFICATE

This is to certify that the work embodied in this project work entitled ” Language
proficiency Test” has been satisfactorily completed by the Aman Singh(Roll
No.25), Arnim mathur(Roll No.37) , It is a bonafide piece of work, carried out
under the guidance in Department of Computer Science & Engineering,
Lakshmi Narain College of Technology, Bhopal for the partial fulfillment of the
Bachelor of Engineering during the academic year 2018-19.

Guided By
Aditya patel

(Guide Name)
Designation

Approved By

SADHNA MISHRA
Prof. & Head
Department of Computer Science & Engineering
LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

ACKNOWLEDGEMENT

We express our deep sense of gratitude to Prof. ………ADITYA


PATEL……………. (Guide) department of Computer Science & Engineering
L.N.C.T., Bhopal. Whose kindness valuable guidance and timely help encouraged
me to complete this project.

A special thank goes to Dr. Sadhna K. Mishra (HOD) who helped me in


completing this project work. She exchanged her interesting ideas & thoughts
which made this project work successful.

We would also thank our institution and all the faculty members without
whom this project work would have been a distant reality.

Aman Singh [Roll No.25]


Arnim Mathur[Roll No.37]
S.NO. TOPICS PAGE
NO

1. Problem Domain 1
2. Literature Survey 2-12
3. Major objective & scope of project. 13-14
4. Problem Analysis and requirement specification 15-23
5. Detailed Design(Modeling and ERD/DFD ) 24-36
6. Hardware/Software platform environment 37-38
7. Snapshots of Input & Output 39-45
8. Coding 46-72
9. Project limitation and Future scope 73-74
10. References 75

Total Approx. 70-80 Pages

Introduction

Exam System is a full-fledged system which is beneficial for both teachers and students. With
this application, Administrator can allow authorized entry of users which includes faculties and
students.
Faculties are the one who register on the site and conduct timed exams in their respective
courses. They can add questions in the test by selecting the available settings.

The tests added by faculties are available to students who can attempt the testand get score then
and there. Thus the purpose of the application is to provide a system that saves the efforts and
time of both the teachers and the students.

Exam System is a Desktop application that establishes a network between the faculties and the
students.Faculties enter on the application the questions they want in the exam. These questions
are displayed as a test to the eligible students. The answers enter by the students are then
evaluated and their score is calculated and saved. This score then can be accessed by the faculties
and administratorto evaluate their performance.

Exam System provides the platform but does not directly participate in, nor is it involved in any
tests conducted. Questions are posted not by the site, but users of the site.

The administrator keeps an eye on the overall functioning of the system which includes how
many users are using the site, how many tests are added by which faculty, how many students
have given those tests and view the score of any student.

The system entitled “Exams System” is application software, which aims at providing services to
the institutes and providing them with an option of selecting the eligible students by themselves.
CHAPTER 1

PROBLEM DOMAIN

Computers are known for their wide range of uses especially in scientific and mathematical
fields. However little or no thought has been given to designing a complete and thorough
intelligence examination System in our immediate environment. This examination system is
designed to assist Teachers in attaining a standardized sample, and as such the psychological
implication of such a design is very important. The design of the system is quite simple and
easily to understood. Its flexibility makes it amenable for future changes and amendment to
either incorporate other aspects of intelligence or to be designed for any Objective Type Exam.
The question of the examination system are programmed and visually displayed on the system's
screen in an interactive form.

Existing system The Existing system of conducting examination process is manual. Existing
system is a large man power process and is difficult to implement it at different platform. It has
so many problems. So we introduce a OLES system, which is fully computerized. Existing
system is a large man power process and is difficult to implement.
CHAPTER 2

LITERATURE SURVEY

2.1 Introduction

In this chapter, the concepts and technologies used in the work and how they are used are
explained. Also in this chapter, the works of other researchers who have worked on
related works were discussed under review of related literature, to aid the researcher in
solving the identified problems

2.2 Review of Related Literature

There is a growing body of research focused on developing better ways to manage e-


exams systems and e-learning systems. Some of these researches focused on various sections
of the system and these includes: Schramm (2008) looked at e-learning web based system that
could simply offer and grade mathematical questions with infinite patience. Therefore, it
needs the capability for in and output of mathematical formulas, the dynamic generation of plots
and the generation of random expressions and numbers. Al-Bayati and Hussein (2008)
presents an applied Generic Software of multiple kinds of e-exam package; this package
of e-exam is oriented to Hearing Impaired (HI) persons
Therefore, the exam material of this package is translated into language of HI persons like
sign language and finger spelling. The idea of the Generic software is to present an empty
template to the teacher who would like to develop his required e-exam for the needful topic
(mathematics, language, science, etc.) and desired set of exam kinds (multiple choices, matching
between words, fill in blanks, etc.).

Web-based Examination System is an effective solution for mass education evaluation


(Zhenming et al, 2003). They developed a novel online examination system based on a
Browser/Server framework which carries out the examination and auto-grading for objective
questions and operating questions, such as programming, operating Microsoft Windows,
editing Microsoft Word, Excel and PowerPoint, etc. It has been successfully applied to
the distance evaluation of basic operating skills of computer science, such as the course
of computer skills in Universities and the nationwide examination for the high school graduates
in Zhejiang Province, China. Another paper (He, 2006) presents a web-based educational
assessment system by applying Bloom’s taxonomy to evaluate student learning outcomes and
teacher instructional practices in real time. The system performance is rather encouraging with
experimentation in science and mathematics courses of two local high schools. Another paper
proposed web based online examination system (Rashid et al, 2002). The system carries
out the examination and auto-grading for students’ exams. The system facilitates conducting
exams, collection of answers, auto-marking the submissions and production of reports for
the test.
It supports many kinds of questions. It was used via Internet and is therefore suitable for
both local and remote examination. The system could help lecturers, instructors, teachers
and others who are willing to create new exams or edit existing ones as well as students
participating in the exams. The system was built using various open source technologies
AJAX, PHP, HTML and MYSQL database are used in this system. An auto-grading
module was generalized to enable different exam and question types. The system was tested in
the Mansoura university quality assurance centre. The test proved the validity of using this kind
of web based systems for evaluates students in the institutions with high rate of students.

An online website for tutoring and e-examination of economic course aimed to present a novel
software tool can be used for online examination and tutorial application of the syllabus
of economic course (EL Emary and Al Sondos, 2006). Also, among the main interests of
the paper is to produce a software through it we make sure that students have studied all
the concepts of economics. So, the proposed software is structured from two major modules: The
first one was an online website to review and make self-test for all the material of economic
course. The second part is an online examination using a large database bank of questions
through it the level of students can be evaluated immediately and some statistical evaluations
can be obtained. The developed software offers the following features:

1. Instructors could add any further questions to maximize the size of the bank of
questions.

2. Different examinations for each student with randomly selected questions from the
bank of questions can be done.
3. Different reports for the instructors, students, classes…etc. can be obtained.

4. Several students can take their exams simultaneously without any problem inside and
outside their campus. The proposed software has been designed to work base on the client
server architecture.

Electronic exam is a difficult part of e-learning security (Huszti and Petho, 2008). The paper
describes a cryptographic scheme that possesses security requirements, such that authenticity,
anonymity, secrecy, robustness, correctness without the existence of a Trusted Third Party. The
proposed protocol also provides students a receipt, a proof of a successful submission, and it is
based on existence of anonymous return channels. Another research work proposed a
theoretical approach that incorporates available fingerprint biometrics authentication
technologies in conjunction with e-learning environments to curb unethical conduct during e-
learning exam taking (Levy and Ramim, 2007). The proposed approach suggests practical
solution that can incorporate a random fingerprint biometrics user authentication during exam
taking in e-learning courses. Doing so is hypothesized to curb exam cheating in e-
learning environments.
Ayo et al (2007) proposed a model for e-Examination in Nigeria where all applicants are
subjected to online entrance examination as a way of curbing the irregularities as proposed by
the Joint Admissions Matriculation Board (JAMB), the body saddled with the responsibility of
conducting entrance examinations into all the Nigerian universities. This model was designed
and tested in Covenant University, one of the private universities in Nigeria. Their
findings revealed that the system has the potentials to eliminate some of the problems
that are associated with the traditional methods of examination such as impersonation and other
forms of examination malpractices. Based on the development of e-learning in the only
Open University in Nigeria (Ipaye, 2009), discusses the process of establishing e-learning
environment. Another paper seeks to solve a part of that problem by designing and developing a
web application where tests in multiple choice formats will be taken online and graded
immediately (Akinsanmi et al, 2010). The web application relies solely on Microsoft
developed technologies. It runs on the Microsoft.net framework, uses the ASP.NET web
server, C# as the intermediate language, ADO.NET to interact with the relational database and
Microsoft SQL server as the relational database.

A large body of literature already exists on online assessment using computers and paper. For
example, Bodmann and Robinson (2004) conducted an experimental study to compare speed
and performances differences among CBTs and PPTs.
In the experiment fifty-five
undergraduate students enrolled in
the subject of educational psychology,
participated in the
studies which were already familiar
with CBTs. Both CBTs and PPTs
contained 30 MCQs
items with 35 minute of time limit. The
findings observed that undergraduates
completed the
CBT faster than PBT with no difference in
scores. Research outcomes have thus
supported the
fact that when students are
motivated and testing conditions are
equivalent, there are no
differences between the scores
obtained via CBT or PPT (Lynch, 1997
&Marson, Patry, and
Berstein, 2001; cited by Alabi, Issa and
Oyekunle, 2012).
In the experiment fifty-five undergraduate students enrolled in the subject of educational
psychology, participated in the studies which were already familiar with CBTs. Both CBTs
and PPTs contained 30 MCQs items with 35 minute of time limit. The findings observed that
undergraduates completed the CBT faster than PBT with no difference in scores. Research
outcomes have thus supported the fact that when students are motivated and testing
conditions are equivalent, there are no differences between the scores obtained via CBT or
PPT (Lynch, 1997 &Marson, Patry, and Berstein, 2001; cited by Alabi, Issa and Oyekunle,
2012).

Gary et al (2008) at the University of New South Wales, Sydney studied the effect of online
formative assessment on learning. The outcomes support the contention that integrated
well designed online formative assessments can have significant positive effects on learning.
Web based formative assessments also support equity and inclusiveness by allowing
students to attempt each assessment anonymously on multiple occasions at any time. Lim, et al.,
(2006) examined medical students’ attitude about CB Vs PB testing in Singapore. Through an
online survey, 213 (53.5%) final-year MBBS students were tested out of which 91 (79.8%)
preferred CBT, 11 (9.6%) preferred P&P format and 12 (10.5%) were un-sure.
The study found that 42 indicated that 42 liked CBT because of good quality of images
and independent of assigned seating positions; 22 liked CBT because they could proceed at
their own pace; one stated that CBT examinations was fun; 4 enjoyed the convenience of CBT
and 6 cited “equality” as the reason they preferred CBT over P&P testing.

Karadeniz (2009) studied the impact of paper based, web based and mobile based assessment
on students’ achievement. A group of 38 students were experimented for 3 weeks. Significant
differences were found between the scores achieved by the students in second week but not in
first week. The paper revealed that students had positive attitude towards web based and
mobile based assessment due to ease of use, comprehensive and instant feedback. Moreover,
most favoured tests were web based and the least favoured were paper based.

Calarina and Wallace (2002) investigated to confirm several key factors in CBT versus PPT
assessment. Factors of the study were content familiarity, computer familiarity,
competitiveness, and gender. The study used a post-test only designed with one factor,
test mode (Computer-based and Paper-based). Students’ score on 100-item multiple choice
51 items and students’ self-report on a distance learning survey were treated as dependent
variables. Four sections of Computer Fundamental Course consisting of 105 students were
selected as sample of the investigations. Results showed that CBT delivery impacted positively
on students’ scores as compared to PPT. The study found that the CBT group out-performed
the PPT group. Gender, competitiveness, and computer familiarity were not related to this
performance difference, though content familiarity was.
Jim and Sean (2006) concluded that the e-assessment can be justified in a number of ways. It can
help avoid the meltdown of current paper-based systems; it can assess valuable life skills; and it
can be better for users. For example, by providing on demand tests with immediate
feedback and perhaps diagnostic feedback, and more accurate results via adaptive testing,
it can help improve the technical quality of tests by improving the reliability of scoring.
Therefore, a proper preparation of the students for the exam via an introduction to the software, a
CBT could be a good method to curtail examinations malpractice effectively.

A study by Ayo (2007) on Nigerian University stated that 81.3% of the applicants were
computer literate, while the remaining 18.7% were guided through the examination. The total
number 1023 (75.7%) of respondents who participated in the e-examination conducted in
Covenant University took electronic examination for the first time and as such found the
examination easy, a few found it a little challenging but adjusted with time. The study revealed
that only 327 (24.2%) of the applicants had not been involved in any form of electronic
examination before, and found it difficult.
2.3 Literature Review

There is a growing body of research focused on developing better ways to manage e-exams
systems and e-learning systems. Some of these researches focused on various sections of the
system and these includes:

Schramm (2008) looked at a e-learning web based system that could simply offer and grade
mathematical questions with infinite patience. Therefore it needs the capability for in and output
of mathematical formulas, the dynamic generation of plots and the generation of random
expressions and numbers. Al-Bayati and Hussein (2008) presents an applied Generic Software of
multiple kinds of e-exam package; this package of e-exam is oriented to Hearing Impaired (HI)
persons. Therefore the exam material of this package is translated into language of HI persons
like sign language and finger spelling. The idea of the Generic software is to present an empty
templates to the teacher who would like to develop his required e-exam for the needful topic
(mathematics, language, science, etc) and desired set of exam kinds (multiple choices, matching
between words, fill in blanks, etc).
Web-based Examination System is an effective solution for mass education evaluation
(Zhenming et al, 2003). They developed a novel online examination system based on a
Browser/Server framework which carries out the examination and auto-grading for objective
questions and operating questions, such as programming, operating Microsoft Windows, editing
Microsoft Word , Excel and PowerPoint, etc. It has been successfully applied to the distance
evaluation of basic operating skills of computer science, such as the course of computer skills in
Universities and the nationwide examination for the high school graduates in Zhejiang Province,
China. Another paper (He, 2006) presents a web-based educational assessment system by
applying Bloom’s taxonomy to evaluate student learning outcomes and teacher instructional
practices in real time. The system performance is rather encouraging with experimentation in
science and mathematics courses of two local high schools.

Another paper proposed web based online examination system (Rashad et al, 2010). The system
carries out the examination and auto-grading for students exams. The system facilitates
conducting exams, collection of answers, auto marking the supports many kinds of questions. It
was used via Internet and is therefore suitable for both local and remote examination. The system
could help lecturers, instructors, teachers and others who are willing to create new exams or edit
existing ones as well as students participating in the exams. The system was built using. various
open source technologies AJAX, PHP, HTML and MYSQL database are used in this system.
An auto-grading module was generalized to enable different exam and question types. The
system was tested in the Mansoura university quality assurance center. The test proved the
validity of using this kind of web based systems for evaluates students in the institutions with
high rate of students.

An online website for tutoring and e-examination of economic course aimed to present a novel
software tool can be used for online examination and tutorial application of the syllabus of
economic course (EL Emary and Al Sondos, 2006). Also, among the main interests of the paper
is to produce a software through it we make sure that students have studied all the concepts of
economics. So, the proposed software is structured from two major modules: The first one was
an online website to review and make self-test for all the material of economic course. The
second part is an online examination using a large database bank of questions through it the level
of students can be evaluated immediately and some statistical evaluations can be obtained. The
developed software offers the following features:

1) Instructors could add any further questions to maximize the size of the bank of questions.

2) Different examinations for each student with randomly selected questions from the bank of
questions can be done.

3) Different reports for the instructors, students, classes…etc can be obtained.


4) Several students can take their exams simultaneously without any problem inside and outside
their campus. The proposed software has been designed to work base on the client server
architecture.

Electronic exam is a difficult part of e-learning security (Huszti and Petho, 2008). The paper
describes a cryptographic scheme that possesses security requirements, such that authenticity,
anonymity, secrecy, robustness, correctness without the existence of a Trusted Third Party. The
proposed protocol also provides students a receipt, a proof of a successful submission, and it is
based on existence of anonymous return channels. Another research work proposed a theoretical
approach that incorporates available fingerprint biometrics authentication technologies in
conjunction with e-learning environments to curb unethical conduct during e-learning exam
taking (Levy and Ramim, 2007). The proposed approach suggests practical solution that can
incorporate a random fingerprint biometrics user authentication during exam taking in e-learning
courses. Doing so is hypothesized to curb exam cheating in e-learning environments.

Ayo et al (2007) proposed a model for e-Examination in Nigeria where all applicants are
subjected to online entrance examination as a way of curbing the irregularities as proposed by
the Joint Admissions Matriculation Board (JAMB), the body saddled with the responsibility of
conducting entrance examinations into all the Nigerian universities. This model was designed
and tested in Covenant University, one of the private universities in Nigeria. Their findings
revealed that the system has the potentials to eliminate some of the problems that are associated
with the traditional methods of examination such as impersonation and other forms of
examination malpractices. Based on the development of e-learning in the only Open University
in Nigeria (Ipaye, 2009), discusses the process of establishing e-learning environment. Another
paper seeks to solve a part of that problem by designing and developing a web application where
tests in multiple choice formats will be taken online and graded immediately (Akinsanmi et al,
2010).
CHAPTER 3

OBJECTIVE AND SCOPE OF PROJECT

Major Objective

Exam System is very useful for Educational Institute to prepare an exam, safe the time that will
take to check the paper and prepare mark sheets. It will help the Institute to testing of students
and develop their skills. But the disadvantages for this system, it takes a lot of times when you
prepare the exam at the first time for usage. And we are needs number of computers with the
same number of students.

The effective use of " Exam System", any Educational Institute or training centers can be use it
to develop their strategy for putting the exams, and for getting better results in less time.

 Corporate between the data stored in the server of the Institution and our On-line Exam
system. To deal with On-line System in an easy way and an efficient mannered.
(connection process)
 Create strong and secrete data base that allow for any connection in a secret way, to
prevent any outside or inside attacks.
 Specify a privilege for each person to allow each person use this system to create his own
exam. And have a complete control on his exam.
 Allow each person to create more than one exam with different way to create variant
questions.
3.2 Scope

This website provides facility to institutes to conduct online exams and maintaining the records
of users by providing authorized entry. Users can register as Faculty / Student and wait for the
admin to send a notification email. User can then login with the valid username and password
and can carry out their respective tasks

 Maintaining records of users(Faculties and Students)

 Admin can add/ delete a particular user who registers on site and can view the activities
of users i.e. how many tests are added by a particular faculty, how many tests are given
by particular student and view their respective scores.

 Add test in particular course (Faculty)

 Faculty can add time limited tests in a particular course by adding questions in the
same ,can view which student has attempted the tests and view their respective scores.

 Attempt test ( Student)

Student can attempt test added by faculty and get their score then and there. They can also get the
test review i.e. answer explanation of each question in test.
Fig 1. 1.

CHAPTER 4

PROBLEM ANALYSIS AND REQUIREMENTS SPECIFICATION

4.1 Introduction

Once the visioning phase is complete, it is time to gather and analyze requirements for your
software project, system or whatever else you are planning. At this point, it is often useful to
identify a smaller subset of the stakeholder group who can work intensively with you on this
(although all stakeholders can be included, if the group is small). This is also a good time to
bring together stakeholders and key members of the development and implementation team.
Generally, requirements gathering and analysis happen over a series of meetings (at least two). I
find it best to do it freeform and capture ideas on whiteboards; more formal documentation can
follow later, or documentation can remain informal if the project doesn’t require it.
Remember that this is only the first and most intensive stage of requirements gathering. Ideally,
requirements should be continuously collected, documented, analyzed and refined throughout the
development process.

These are the general goals for requirements meetings:

 Create a context diagram, which is usually a rough drawing of the system and its context,
based on previous goal-setting with the stakeholders.

 Define actors and their goals. Actors are the primary users of the system. Ask what specific
activities are each actor trying to achieve?
 List initial use cases in brief narrative. Ask how each actor will achieve each goal, but don’t
try to get too detailed at this point.

 Begin capturing terms to include in the glossary as they come in up in the discussion.

 Identify business rules that provide constraints on the system (based on the givens identified
during the vision stage plus others subsequently identified). Ask what we can and can’t do
according to our organizational policies, laws of the land, requirements of our funders and so
forth.

 Identify nonfunctional requirements (based on the givens, high-level goals and others
subsequently identified). These requirements won’t be captured in the use cases but are
important to document. They might include security, technology, system integration,
localization, reliability and similar requirements.

 Identify working group members from the stakeholder group to call upon for testing and
feedback as development progresses.

In this chapter, detailed description of the system functionalities and services are described
according to systematic procedures in gathering and analysis of the different types of
requirements. We use these technologies in data gathering.
4.2 Proposed System Requirement gathering

Good requirements start with good sources. Finding those quality sources is an important task
and, fortunately, one that takes few resources. Examples of sources of requirements include:

 Users
 Administrators and maintenance staff
 Partners
 Domain Experts
 Industry Analysts
 Information about competitors

4.2.2 Requirements Gathering Techniques

After you have identified these sources, there are a number of techniques that may be used to
gather requirements. The following will describe the various techniques, followed by a brief
discussion of when to use each technique.

To get the requirements down on paper, you can to do one or more of the following:

 Conduct a brainstorming session


 Interview users
 Work in the target environment
 Study analogous systems
 Examine suggestions and problem reports
 Talk to support teams
 Study improvements made by users
 Look at unintended uses
 Conduct workshops
 Demonstrate prototypes to stakeholders

1-Admin:

 Users managing ( admin & employee)


 Semesters managing
 Semester state managing
 Monitoring system users
 System values managing
 Permissions managing
 All employees function

2-Student

 Enroll for courses


 Add and drop for courses
 Display enrolled courses
 Display grades
4.2.3 – Non-Functional Requirements

Security requirements are important factors in this system as classified data will be stored in
the database. User validation will be done during login to insure that the user is valid and that
the user only has access to his or her permission data. General users will only have access
through the user interface.

The system will have consistent interface formats and button sets for all forms in the
application, will have a form based interface for all data entry and viewing formats, and will
generate reports that are formatted in a table and that should look like the existing manual
report formats for user friendliness.

The system will be easily maintained by the developer or other authorized trained person
and it shall respond as fast as possible in generating report.

1. Security issues
2. Speed
3. Intranet services
4. Consistence
5. Efficiency
6. Services validation and verification
4.2.4 Functional System Requirement:

This section gives a functional requirement that applicable to the On-Line Exam system.
There are three sub modules in this phase.

 Candidate module.
 Admin module

The functionality of each module is as follows:

 Candidate module:

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

Administrator module:

The administrator collects all the results after successful completion of the
examination and sends to the head quarters as and when required.
The features that are available to the Administrator are:

 The administrator has the full fledged rights over the OES.
 Can create/delete an account.
 Can view the accounts.
 Can change the password.
 Can hide any kind of features from the both of users.
 Insert/delete/edit the information of available on OES.
 Can access all the accounts of the faculty members/students.

The features available to the Students are:

 Can view the different categories of Test available in their account.


 Can change password.
 Can view their marks.
 Can view the various reading material.
 Can view and modify its profile but can modify it to some limited range.
4.3 Safety Requirements

The database may get crashed at any certain time due to virus or operating system
failure. Therefore, it is required to take the database backup.

4.4 Security Requirements

Some of the factors that are identified to protect the software from accidental or
malicious access, use, modification, destruction, or disclosure are described below.
Keep specific log or history data sets

 Assign certain functions to different modules


 Restrict communications between some areas of the program
 Check data integrity for critical variables
 Later version of the software will incorporate encryption techniques in the
user/license authentication process.

1 Communication needs to be restricted when the application is validating the


user or license. (i.e., using https).
4.5 Software Quality Attributes

The Quality of the System is maintained in such a way so that it can be very user
friendly to all the users.

The software quality attributes are assumed as under:

 Accurate and hence reliable.


 Secured.
 Fast speed.
 Compatibility.
CHAPTER 5

SYSTEM DESIGN

5.1 Introduction

System development can generally be thought of as having two major components: system
analysis and system design. System design is the process of planning a new business system or
one to replace an existing system. Before this can be done, we must thoroughly understand the
old system and determine how computer and software can be used to make the operation
effective. System analysis and Design refers to the process of examining business situation
with the intent of improving it through better procedures and methods. System analysis
and Design relates to shaping organizations, improving performance and achieving objectives
for profitability and growth. The emphasis is on system in action, the relationship among
subsystem and their contribution to meeting a common goal.

5.2 Methodology

This study relied on information obtained from secondary sources especially online materials,
documents of relevant agencies like NITDA. From these documents required information was
obtained on the performance computer based test in CCNA Certifications. The author
also examined reports, academic research papers, articles and newspaper reports on essence of
CBT in Cisco Networking Academy. The obtained information enables the critical review of
current state of Cisco Training Centre in Prof. Iya Abubukar Resource Centre, Bauchi in which
Object Oriented Analysis and Design (OOAD) methodology was used during the software
development.
Object Oriented Analysis and Design methodology is a software engineering approach that
modules a system as a group of interacting object. OOAD models are pictures that illustrate
the system’s objects from various perspectives such as structures and behaviors. Two stages are
involved in the approach; Object Oriented Analysis and Object Oriented Design. Unified
Modeling Language (UML) notation is the design tool used for modeling in this research.UML
used in the research includes: Use Case diagrams, Data Flow diagrams and Class diagrams.

5.3 Context Diagram

This diagram represents what are the bounders and scope of On-Line Exam System project.
It describes the main objective of the system and its entities involved.

Administrator
Administrator
Faculty
Student Faculty
Student

On-Line
On-LineExam
Exam
system
system
The Administrator can be done the following:

 Create/delete accounts (add a list of faculty names and list of his student)

 Change password for Faculty/Student

 Create/ delete/update courses (subject).

The Student can be done the following:

 Change password.

 Choose exam.

 See his exam mark.

 View other material.

5.4 Unified Modeling Language UML


UML includes a set of graphic notation techniques to create visual models of object-
oriented software-intensive systems.UML offers a standard way to visualize a system's
architectural blueprints, including elements such as:

 activities
 actors
 business processes
 database schemas
 (logical) components
 programming language statements
 Reusable software components.
5.3.1 Diagrams in UML

UML 2.2 has 14 types of diagrams divided into two categories.

The following figure explain the diagrams types

Fig (1)

Hierarchy of UML diagrams shows as class diagram


5.4.2 Use Case Diagrams

Use case diagrams are used during requirements collection and analysis as a graphical means
of representing the functional requirements of the system. Use cases focus on the behaviour of
the system from external point of view. Use cases are developed during requirement collection
and are further refined and corrected as they are reviewed (by stakeholders) during
analysis.Also, this diagram shows a set of use cases, actors and relationships. Actors are
external entities that interact with the system. Examples of actors include users and
administrator, bank and customer …etc., or another system like central database.

View reports

Student registeration

Set paper

Admin Student

Give paper

Edit paper
5.5 Data Flow Diagram

1st Level DFD

User

Add student
Admin Student

Login Register Register Login

Exam
Exam System
System
2nd Level DFD

Student Admin

Register Login Login

Select Add
test Course

List Of Courses
Start
test

Answer the
questions

Get Score
3rd Level DFD

Users

View

Student Admin

Edit Profile

Profile Details
 Personal Information
 Test Completed/Pending

Score
5.6 Entity – Relationship Diagram

It is a graphical representation of entities and their relationships to each other, typically used in
computing in regard to the organization of data within databases or information systems. An
entity is a piece of data-an object or concept about which data is stored.A relationship is how the
data is shared between entities.

There are three types of relationships between entities:


i. One - to - one
ii. One - to - many
iii. Many - to – many

Diagram
5.7 Application Structure
5.8 Database Design

The overall objective in the development of database technology has been to treat data as an
organizational resource and as an integrated whole. DBMS allow data to be protected and
organized separately from other resources. Database is an integrated collection of data. The most
significant form of data as seen by the programmers is data as stored on the direct access storage
devices. This is the difference between logical and physical data.

Database files are the key source of information into the system. It is the process of designing
database files, which are the key source of information to the system. The files should be
properly designed and planned for collection, accumulation, editing and retrieving the required
information.

SERVER database.

This database contains tables, where each table corresponds to oneparticular type of information.
Each piece of information in table is called a field or column. A table also contains records,
which is a set of fields. All records in a table have the same set of fields with different
information. There are primary key fields that uniquely identify a record in a table. There are
also fields that contain primary key from another table called foreign keys.
exam System uses the following database structure for storing user data , test data ,questions
data etc.

Tables in MySql:

1. User –

Field Type Constraint

User_id Int Primary key


Password Varchar
User_type Varchar

2. Exam –

Field Type Constraint

Exam_id Int Primary key


subject Varchar
Questions Int

3. Questions –

Field Type Constraints

Qid Int Primary Key

Question Varchar
Type

Question Varchar

Option1 Varchar

Option2 Varchar

Option3 Varchar

Option4 Varchar

CA Varchar
CHAPTER 6

HARDWARE AND SOFTWARE PLATFORM

6.1– Development Requirements


Software Requirement

 Netbeans 8.0
 SQL Server 2008
 Microsoft .NET Framework
 Notepad++ 6
 DevComponent
 UML Modes
 Windows 10

Hardware Requirements

o Ram memory 4 G.B


o Secondary storage 500 G.B
o CPU speed 100 MH
o Wireless Network or other network
6.2– End-User Requirements
Software Requirement

DevComponent Runtime

SQL Server 2008 Runtime

Microsoft .NET Framework 4

Windows 7 or higher for windows application

Hardware Requirements

Ram memory 1 G.B

Secondary storage 240 G.B

CPU speed 100 MH

Wireless Network or other network


CHAPTER 7

SCREENSHOTS

1. Login
2. Admin Dashboard
3. Register New Student
4. Set Question Paper
5. Set Questions
6. View Scores
CHAPTER 8

CODING

1. Login

package techquiz.gui;

import java.sql.SQLException;
import javax.swing.JOptionPane;
import techquiz.dao.UserDao;
import techquiz.pojo.UserPojo;
import techquiz.pojo.UserProfile;

/**
*
* @author DELL
*/
public class LoginFrame extends javax.swing.JFrame {

private String username;


private String password;
public LoginFrame() {
initComponents();
this.setLocationRelativeTo(null);
}

/**
* This method is called from within the constructor to initialize the
form.
* WARNING: Do NOT modify this code. The content of this method
is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

buttonGroup2 = new javax.swing.ButtonGroup();


jPanel1 = new javax.swing.JPanel();
txtUsername = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jrAdmin = new javax.swing.JRadioButton();
jrStudent = new javax.swing.JRadioButton();
txtPassword = new javax.swing.JPasswordField();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
getContentPane().setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setLayout(new
org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.add(txtUsername, new
org.netbeans.lib.awtextra.AbsoluteConstraints(219, 150, 350, 40));

jButton1.setBackground(new java.awt.Color(0, 204, 204));


jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText("LOGIN");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(180, 360, 390, 40));
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel2.setText("USERNAME");
jPanel1.add(jLabel2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(114, 154, 70, 20));

jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N


jLabel3.setText("PASSWORD");
jPanel1.add(jLabel3, new
org.netbeans.lib.awtextra.AbsoluteConstraints(90, 210, 110, 30));

jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


jLabel4.setText("MEMEBER LOGIN");
jPanel1.add(jLabel4, new
org.netbeans.lib.awtextra.AbsoluteConstraints(270, 50, 170, 40));

buttonGroup2.add(jrAdmin);
jrAdmin.setText("admin");
jrAdmin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jrAdminActionPerformed(evt);
}
});
jPanel1.add(jrAdmin, new
org.netbeans.lib.awtextra.AbsoluteConstraints(240, 290, -1, -1));
buttonGroup2.add(jrStudent);
jrStudent.setText("user");
jrStudent.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jrStudentActionPerformed(evt);
}
});
jPanel1.add(jrStudent, new
org.netbeans.lib.awtextra.AbsoluteConstraints(460, 290, -1, -1));

txtPassword.setText("jPasswordField1");
jPanel1.add(txtPassword, new
org.netbeans.lib.awtextra.AbsoluteConstraints(230, 210, 350, 40));

jLabel1.setBackground(new java.awt.Color(0, 51, 255));


jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/hh.jpg")))
; // NOI18N
jLabel1.setOpaque(true);
jPanel1.add(jLabel1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(-290, 0, 990, 570));

getContentPane().add(jPanel1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 710, 580));
pack();
}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent


evt) {
boolean isValidInput=validateInputs();
if(isValidInput==false)
{
JOptionPane.showMessageDialog(null, "Username or Password
cannot be left blank!","Error!",JOptionPane.ERROR_MESSAGE);
return;
}
String userType=getUserType();
if(userType==null)
{
JOptionPane.showMessageDialog(null, "Please Choose User
Type","Error!",JOptionPane.ERROR_MESSAGE);
return;
}

try
{
UserPojo user = new UserPojo();
user.setUserid(username);
user.setPassword(password);
user.setUsertype(userType);
boolean isValidUser=UserDao.validateUser(user);
if(isValidUser)
{
JOptionPane.showMessageDialog(null, "Login
Accepted!","Welcome
"+username,JOptionPane.INFORMATION_MESSAGE);
UserProfile.setUsername(username);
UserProfile.setUsertype(userType);
if(user.getUsertype().equalsIgnoreCase("admin"))
{

NewJFrame3 adminFrame=new NewJFrame3();


adminFrame.setVisible(true);
}
else
{
StudentOptions studentFrame=new StudentOptions();
studentFrame.setVisible(true);
}
this.dispose();
}

else
JOptionPane.showMessageDialog(null, "Invalid
UserId/Password","Login Denied!",JOptionPane.ERROR_MESSAGE);

}
catch(SQLException sq)
{
JOptionPane.showMessageDialog(null, "Error while connecting
to DB!","Exception!",JOptionPane.ERROR_MESSAGE);
sq.printStackTrace();
} // TODO add your handling code here:
}

private void jrAdminActionPerformed(java.awt.event.ActionEvent


evt) {
// TODO add your handling code here:
}

private void jrStudentActionPerformed(java.awt.event.ActionEvent


evt) {
// TODO add your handling code here:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting
code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with
the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.htm
l
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(LoginFrame.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(LoginFrame.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(LoginFrame.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(LoginFrame.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the form */


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

// Variables declaration - do not modify


private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton jButton1;
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.JRadioButton jrAdmin;
private javax.swing.JRadioButton jrStudent;
private javax.swing.JPasswordField txtPassword;
private javax.swing.JTextField txtUsername;
// End of variables declaration

private boolean validateInputs() {


username=txtUsername.getText().toLowerCase();
char []pwd=txtPassword.getPassword();

if(username.isEmpty()|| pwd.length==0 )
return false;
else
{
password=String.valueOf(pwd);
return true;
}
}
private String getUserType() {
if(jrAdmin.isSelected())
return jrAdmin.getText();
else if(jrStudent.isSelected())
return jrStudent.getText();
else
return null;
}

}
2. Admin Dashboard

package techquiz.gui;

import java.awt.Color;
import java.awt.Image;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import techquiz.pojo.UserProfile;

/**
*
* @author DELL
*/
public class NewJFrame3 extends javax.swing.JFrame {

int sec1,count,min1;
public NewJFrame3() {
initComponents();
this.setLocationRelativeTo(null);
jLabel4.setIcon(new ImageIcon(new
javax.swing.ImageIcon(getClass().getResource("abc.png")).getImage().getScaledInstance(150,
170, Image.SCALE_SMOOTH)));
jLabel4.setHorizontalAlignment(JLabel.CENTER);
jLabel4.setVerticalAlignment(JLabel.CENTER);
jLabel8.setHorizontalAlignment(JLabel.CENTER);
jLabel8.setVerticalAlignment(JLabel.CENTER);
jLabel5.setHorizontalAlignment(JLabel.CENTER);
jLabel5.setVerticalAlignment(JLabel.CENTER);
jLabel11.setHorizontalAlignment(JLabel.CENTER);
jLabel11.setVerticalAlignment(JLabel.CENTER);
jMenu1.setText(UserProfile.getUsername());
new Thread(){
public void run(){
for(sec1=Calendar.SECOND;true;){
Calendar cal=new GregorianCalendar();
int hour=cal.get(Calendar.HOUR);
int min=cal.get(Calendar.MINUTE);
int sec=cal.get(Calendar.SECOND);
if(sec1!=sec){
if(count>59){
count=0;
min1++;

}
count++;
}
sec1=sec;
int AM_PM=cal.get(Calendar.AM_PM);
String time="";
if(AM_PM==0){
time=hour+":"+min+":"+sec+" AM";
Clock.setText(time);
}
else{
time=hour+":"+min+":"+sec+" PM";
Clock.setText(time);

}
}
}

}.start();

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jLabel2 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
Clock = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jMenuBar2 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBounds(new java.awt.Rectangle(0, 0, 720, 660));
setMinimumSize(new java.awt.Dimension(720, 660));
setResizable(false);
setSize(new java.awt.Dimension(720, 660));
getContentPane().setLayout(null);

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


jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel2.setText("ADMINISTRATOR MENU");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 0, 140, 30));

jLabel4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/abc.png"))); // NOI18N
jLabel4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel4MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel4MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel4MouseExited(evt);
}
});
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 110, 230,
190));

jLabel6.setText("DESIGN QUESTION SET");


jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 310, -1, -1));

jLabel10.setText("REGISTER STUDENT");
jPanel1.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 290, -1,
30));
jLabel5.setBackground(new java.awt.Color(153, 153, 153));
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/icons8-
management-96.png"))); // NOI18N
jLabel5.setFocusTraversalPolicyProvider(true);
jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel5MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel5MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel5MouseExited(evt);
}
});
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 100, 270,
230));

jLabel9.setText("EDIT QUESTION SET");


jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 570, -1, -1));

jLabel8.setBackground(new java.awt.Color(153, 153, 153));


jLabel8.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/technical-support (2).png"))); //
NOI18N
jLabel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel8MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel8MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel8MouseExited(evt);
}
});
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 380, 250,
220));

jLabel13.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


jLabel13.setText("VIEW SCORES");
jPanel1.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 570, 100,
30));

jLabel11.setBackground(new java.awt.Color(153, 153, 153));


jLabel11.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/exam.png"))); // NOI18N
jLabel11.setFocusTraversalPolicyProvider(true);
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel11MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel11MouseExited(evt);
}
});
jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 380, 270,
230));

Clock.setFont(new java.awt.Font("DS-Digital", 1, 22)); // NOI18N


Clock.setForeground(new java.awt.Color(0, 0, 204));
jPanel1.add(Clock, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 30, 140, 30));

jLabel12.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/exam.jpg"))); // NOI18N
jPanel1.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 690, 620));

getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 690, 630);

jMenu1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/icons8-
male-user-32.png"))); // NOI18N

jMenuItem1.setText("Log Out");
jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenuItem1MouseClicked(evt);
}
});
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);

jMenuBar2.add(jMenu1);

setJMenuBar(jMenuBar2);

pack();
}// </editor-fold>

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


jLabel5.setBackground(Color.ORANGE);
jLabel5.setSize(275, 236);

}
private void jLabel5MouseExited(java.awt.event.MouseEvent evt) {
jLabel5.setBackground(Color.GRAY);
jLabel5.setSize(270, 230);

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


jLabel4.setSize(235, 195);

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


RegisterStudentFrame r=new RegisterStudentFrame();
r.setVisible(true);
this.dispose();
}

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


SetPaperFrame p=new SetPaperFrame();
p.setVisible(true);
this.dispose();
}

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


jLabel8.setBackground(Color.ORANGE);
jLabel8.setSize(255,225);

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


EditPaperFrame e=new EditPaperFrame();
e.setVisible(true);
this.dispose();
}
private void jLabel8MouseExited(java.awt.event.MouseEvent evt) {
jLabel8.setBackground(Color.GRAY);
jLabel8.setSize(250,220);
}

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


ViewScoresFrame v=new ViewScoresFrame();
v.setVisible(true);
this.dispose();
}

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

jLabel11.setSize(275,235);

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

jLabel11.setSize(270,230);

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


jLabel4.setSize(270, 190);

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


LoginFrame f=new LoginFrame();
f.setVisible(true);
this.dispose();
}
private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {
LoginFrame f=new LoginFrame();
f.setVisible(true);
this.dispose();
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(NewJFrame3.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NewJFrame3.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame3.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame3.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


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

// Variables declaration - do not modify


private javax.swing.JLabel Clock;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
3. Register Student

package techquiz.gui;

import java.sql.SQLException;
import javax.swing.JOptionPane;
import techquiz.dao.UserDao;
import techquiz.pojo.UserPojo;

/**
*
* @author DELL
*/
public class RegisterStudentFrame extends javax.swing.JFrame {

private String userid;


private String password;
public RegisterStudentFrame() {
initComponents();
this.setLocationRelativeTo(null);

}
private int validateInput(){
userid=txtUserid.getText();
char []pwd=txtPassword.getPassword();
char []repwd=txtReTypePassword.getPassword();
if(userid.isEmpty()|| pwd.length==0 || repwd.length==0 )
return 0;
else
{
password=String.valueOf(pwd);
String repassword=String.valueOf(repwd);
if(userid.length()<4 || pwd.length<4)
return -2;
if(password.equals(repassword)==false)
return -1;
else
return 1;
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
txtReTypePassword = new javax.swing.JPasswordField();
txtPassword = new javax.swing.JPasswordField();
txtUserid = new javax.swing.JTextField();
lblUserName = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();

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

jPanel1.setBackground(new java.awt.Color(204, 204, 204));


jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setBackground(new java.awt.Color(204, 204, 204));


jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 153, 0));
jLabel1.setText("STUDENT REGISTERATION");
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 50, -1, -1));

jLabel2.setBackground(new java.awt.Color(0, 0, 0));


jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 102, 0));
jLabel2.setText("Register new student");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 110, -1, -1));

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


jLabel3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 51, 0));
jLabel3.setText("user id");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 160, -1, -1));

jLabel4.setBackground(new java.awt.Color(0, 0, 0));


jLabel4.setForeground(new java.awt.Color(255, 51, 0));
jLabel4.setText("password");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 210, -1, -1));

jLabel5.setBackground(new java.awt.Color(0, 0, 0));


jLabel5.setForeground(new java.awt.Color(255, 102, 0));
jLabel5.setText("ReType password");
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 270, -1, -1));

jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 370, -1, -1));

txtReTypePassword.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtReTypePasswordActionPerformed(evt);
}
});
jPanel1.add(txtReTypePassword, new org.netbeans.lib.awtextra.AbsoluteConstraints(130,
270, 82, -1));
jPanel1.add(txtPassword, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 210, 82,
-1));

txtUserid.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtUseridActionPerformed(evt);
}
});
jPanel1.add(txtUserid, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 160, 82,
-1));

lblUserName.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/techquiz/gui/JJ.jpg"))); // NOI18N
jPanel1.add(lblUserName, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 690,
510));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 690,


510));

jMenu1.setText("Back");
jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenu1MouseClicked(evt);
}
});
jMenuBar1.add(jMenu1);

setJMenuBar(jMenuBar1);

pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int response=validateInput();
if(response==0)
{
JOptionPane.showMessageDialog(null, "Username or Password cannot be left
blank!","Error!",JOptionPane.ERROR_MESSAGE);
return;
}
if(response==-1)
{
JOptionPane.showMessageDialog(null, "Password and Retype Password do not
match!","Error!",JOptionPane.ERROR_MESSAGE);
return;
}
if(response==-2)
{
JOptionPane.showMessageDialog(null, "Userid and Password should be atleast 4
characters long!","Error!",JOptionPane.ERROR_MESSAGE);
return;
}
try
{
UserPojo user=new UserPojo();
user.setUserid(userid);
user.setPassword(password);
user.setUsertype("user");
boolean status=UserDao.addUser(user);
if(status)
{
JOptionPane.showMessageDialog(null, "Registration Done!","Userid:
"+userid+"\nPassword:"+password,JOptionPane.INFORMATION_MESSAGE);
clearAll();
}
else
JOptionPane.showMessageDialog(null, "Userid Already Present","Registration
Denied!",JOptionPane.ERROR_MESSAGE);

}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, "Error while connecting to
DB!","Exception!",JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}

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


// TODO add your handling code here:
}
private void txtReTypePasswordActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

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


NewJFrame3 n=new NewJFrame3();
n.setVisible(true);
this.dispose();
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(RegisterStudentFrame.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(RegisterStudentFrame.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(RegisterStudentFrame.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(RegisterStudentFrame.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


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

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
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.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel lblUserName;
private javax.swing.JPasswordField txtPassword;
private javax.swing.JPasswordField txtReTypePassword;
private javax.swing.JTextField txtUserid;
// End of variables declaration

public void clearAll(){

txtUserid.setText("");
txtPassword.setText("");
txtReTypePassword.setText("");

}
CHAPTER 9

PROJECT LMITATION AND FUTURE WORK

9.1 Limitations

 On-line Exam system is designed for Educational Institutes (like schools,


universities, training centers).

 The system handles all the operations, and generates reports as soon as the test is
finish, that includes name, mark, time spent to solve the exam.

 Allow students to see or display his answers after the exam is finish.

 The type of questions is only multiple choice or true and false.


9.2 Future Work

 In additional to develop the system by adding more reports and functions and using
indexing techniques to improve search process and increase the efficiency.

 And development of web site by adding more functions by the web

 And development of the android app to add more function and communication system to
student

 And develop windows phone apps


CHAPTER 10

REFRENCES

Geeks for geeks https://www.geeksforgeeks.org/


ORACLE https://www.oracle.com/in/database/
Tutorial point www.tutorialspoint.com/java/

Вам также может понравиться