Académique Documents
Professionnel Documents
Culture Documents
1.ABSTRACT
Online Examination System is a software solution, which allows a particular
company or institute to arrange, conduct and manage examinations via an online
environment. This can be done through the Internet, Intranet and/or Local Area Network
environments.
Some of the problems faced by manual examination systems are delays in result
processing, filing poses a problem, filtering of records is not easy, The chance of loss of
records is high and also record searching is difficult. Maintenance of the system is also very
difficult and takes lot of time and effort.
I intend to use the systems development life cycle (SDLC) which is a conceptual
model used in project management that describes the stages involved in an information
system development project.
Java will be used to achieve the project because of its flexibility and English-Like
Syntax. MYSQL Server will be used as the database management system.
1.1 Introduction
Online Examination System is a software solution, which allows a particular
company or institute to arrange, conduct and manage examinations via an online
environment. This can be done through the Internet, Intranet and/or Local Area Network
environments.
Some of the problems faced by manual examination systems are delays in result
processing, filing poses a problem, filtering of records is not easy, The chance of loss of
records is high and also record searching is difficult. Maintenance of the system is also very
difficult and takes lot of time and effort. There are Four Module in this project and can
several sub Module.
Login
Admin
Teacher
Student
The Role of the Admin is to create Teacher, View the Teacher and Update and delete
the Teacher, and also Create , view, update and delete the exam for the Student. He Can view
Result of the all Student. He can also Create , view , update and delete the award Details for
the Student.
The Role of the Teacher is Create Student , View , update and Delete the Students.
And he can also Prepare the Question and Answer. Then he can Results of the all Students.
The Role the Students is Take the Exam for the particular Exam and Subject. Finally
View the Results.
Lack of space
Filling poses a problem
Filtering is not Easy
Result processing is slow due to paper work and requirement of staff.
Login
Admin
Teacher
Student
LOGIN:
In this module Admin, Teacher and Student enters the username & password which
can be checked in the database and will be reject to home page if the user is already exists, if
not it will reply the error.
Admin:
The Role of the Admin is to create Teacher, View the Teacher and Update and delete
the Teacher, and also Create , view, update and delete the exam for the Student. He Can view
Result of the all Student. He can also Create , view , update and delete the award Details for
the Student.
Create Teacher
View Teacher
Create Exam
View Exam
View Results
Create Award
View Award
Teacher :
The Role of the Teacher is Create Student , View , update and Delete the Students.
And he can also Prepare the Question and Answer. Then he can Results of the all Students.
4
Create Student
View Student
Question & Answer
Results
Students :
The Role the Students is Take the Exam for the particular Exam and Subject. Finally
View the Results.
Take Exam
Results
3. REQUIREMENT ANALYSIS
Ram
2gb
5
Hard disk
160 gb
Monitor
LCD monitor
Input units
Windows 7
Web Browser
Front-End Tool
Java
Back-End Tool
Mysql
IDE Tool
4. SOFTWARE ENVIRONMENT:
ABOUT JAVA
Java technology is both a programming language and a platform. The Java
ProgrammingLanguageThe Java programming language is a high-level language that can be
characterized by all of the following buzzwords:
6
Simple
Object oriented
Distributed
Multithreaded
Dynamic
Architecture neutral
Portable
High performance
Robust
Secure
Each of the preceding buzzwords is explained in The Java Language Environment , a white
paper written by James Gosling and Henry McGilton. In the Java programming language, all
source code is first written in plain text files ending with the .java extension. Those source
files are then compiled into .class files by the javac compiler. A .class file does not contain
code that is native to your processor; it instead contains bytecodes the machine language
of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application
with an instance of the Java Virtual Machine.
and Mac OS. Most platforms can be described as a combination of the operating system and
underlying hardware. The Java platform differs from most other platforms in that it's a
software-only platform that runs on top of other hardware-based platforms.
TM
API, Java
Naming and Directory InterfaceTM ("J.N.D.I.") API, Java RMI, and Java Remote
Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP
Technology) enable database access and manipulation of remote objects.
Java is Simple
Java was designed to make it much easier to write bug free code. According to Sun's
Bill Joy, shipping C code has, on average, one bug per 55 lines of code. The most important
part of helping programmers write bug-free code is keeping the language simple.
Java has the bare bones functionality needed to implement its rich feature set. It does
not add lots of syntactic sugar or unnecessary features. The language specification for Java
is only about eighty pages long compared to a couple of hundred pages for C and even more
for C++. Despite its simplicity Java has considerably more functionality than C.
Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as
common as obfuscated C. There aren't a lot of special cases or tricks that will confuse
beginners.
About half of the bugs in C and C++ programs are related to memory allocation and
deallocation. Therefore the second important addition Java makes to providing bug-free
code is automatic memory allocation and deallocation. The C library memory allocation
functions malloc() and free() are gone as are C++'s destructors.
Java is an excellent teaching language, and an excellent choice with which to learn
programming. The language is small so it's easy to become fluent in it. The language is
interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is
eliminated entirely.) The runtime environment provides automatic memory allocation and
garbage collection so there's less for the programmer to think about. Java is object-oriented
(unlike Basic) so the beginning programmer doesn't have to unlearn bad programming habits
when moving into real world projects. Finally, it's very difficult (if not quite impossible) to
write a Java program that will crash your system, something that you can't say about any
other language.
10
Java is Object-Oriented
Object oriented programming was the catch phrase of computer programming in the
1990's. Although object oriented programming has been around in one form or another since
the Simula language was invented in the 1960's, it really took hold in modern GUI
environments like Windows, Motif and the Mac. In object-oriented programs data is
represented by objects. Objects have two sections, fields (instance variables) and methods.
Fields tell you what an object is. Methods tell you what an object does. These fields and
methods are closely tied to the object's real world characteristics and behavior. When a
program runs messages are passed back and forth between objects. When an object receives
a message, it responds accordingly as defined by its methods.
Object oriented programming is alleged to have a number of advantages including:
In practice object-oriented programs have been just as slow, expensive and buggy as
traditional non-object-oriented programs. In large part this is because the most popular
object-oriented language is C++. C++ is a complex, difficult language that shares all the
obfuscation of C while sharing none of C's efficiencies. It is possible in practice to write
clean, easy-to-read Java code. In C++ this is almost unheard of outside of programming
textbooks.
11
A Java program never really executes natively on the host machine. Rather a special
native program called the Java interpreter reads the byte code and executes the
corresponding native machine instructions. Thus to port Java programs to a new platform,
all you need to do is run it with an interpreter written for the new platform. You don't even
need to recompile. Even the compiler is written in Java. The byte codes are precisely
defined, and remain the same on all platforms.
The second important part of Java's cross-platform savvy is the elimination of
undefined and architecture dependent constructs. Integers are always four bytes long, and
floating point variables follow the IEEE 754 standard for computer arithmetic exactly. You
don't have to worry that the meaning of an integer is going to change if you move from a
Pentium to a PowerPC. In Java everything is guaranteed.
However the virtual machine itself and some parts of the class library must be
written in native code. These are not always as easy or as quick to port as pure Java
programs. This is why for example, there's not yet a version of Java 1.2 for the Mac.
Java is Safe
Java was designed from the ground up to allow for secure execution of code across a
network, even when the source of that code was untrusted and possibly malicious.
This required the elimination of many features of C and C++. Most notably there are no
pointers in Java. Java programs cannot access arbitrary addresses in memory. All memory
access is handled behind the scenes by the (presumably) trusted runtime environment.
Furthermore Java has strong typing. Variables must be declared, and variables do not change
types when you aren't looking. Casts are strictly limited to casts between types that make
sense. Thus you can cast an int to a long or a byte to a short but not a long to a Boolean or an
int to a String.
Java implements a robust exception handling mechanism to deal with both expected and
unexpected errors. The worst that a Java program can do to a host system is bringing down
the runtime environment. It cannot bring down the entire system.
12
Most importantly Java applets can be executed in an environment that prohibits them from
introducing viruses, deleting or modifying files, or otherwise destroying data and crashing
the host computer. A Java enabled web browser checks the byte codes of an applet to verify
that it doesn't do anything nasty before it will run the applet.
However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic
worms transmitted by Outlook Express. It's not even insiders erasing their hard drives and
quitting your company to go to work for your competitors. No, the biggest security issue in
computing today is bugs. Regular, ordinary, non-malicious, unintended bugs are responsible
for more data loss and lost productivity than all other factors combined. Java, by making it
easier to write bug-free code, substantially improves the security of all kinds of programs.
Java is Multi-Threaded
Java is inherently multi-threaded. A single Java program can have many different processes
executing independently and continuously. Three Java applets on the same page can run
simultaneously with each getting equal time from the CPU with very little extra effort on the
13
part of the programmer. This makes Java incredibly responsive to user input. It also helps to
contribute to Java's robustness and provides a mechanism whereby the Java environment can
ensure that a malicious applet doesn't steal all of the host's CPU cycles.
Unfortunately multithreading is so tightly integrated with Java, that it makes Java rather
difficult to port to architectures like Windows 3.1 or the PowerMac that don't natively
support preemptive multi-threading.
There is another cost associated with multi-threading. Multi-threading is to Java what
pointer arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in
simple programs it's possible to leave multi-threading alone and normally be OK.
14
interpreted,
architecture-neutral,
cross-platform,
buzzword-compliant
programming language.
AWT
The Abstract Window Toolkit (AWT) package enables you to create GUIs in your applets
and applications. Different Windows API from different platforms were looked at and
components were identified that were common to all of them. The AWT API communicates
with the platform's native API's as to give your application the native look and feel. Because
they associate with their own native screen resources, AWT components are called
heavyweight components. Swing components do not associate with native resources and are
called lightweight components. The AWT consists of components, both container and noncontainer ones (eg. Button, Checkbox, Choice, ...) Container components (eg. Frame,
Dialog, Window, Panel) control the layout of other components. As containers are
themselves components, they can be placed inside other containers. Check out these links
and subcategories on how to create and work with these containers and components.
Subcategories
Button
15
Insets
Canvas
Choice
Label
Color
Layout Managers
List
Dialog
Menu, MenuItem
Robot
Event
Scrollbar
Font
ScrollPane
Frame
Textfield, TextArea
Graphics
Toolkit
Swing
Swing is not an acronym. It packages a set of GUI components. Unlike AWT components,
that are associated to native screen resources (heavyweight), Swing components draw
themselves on the screen (lightweight). This results in slower execution but a Swing
application will look the same on all platforms. Because Swing supports pluggable lookand-feel, you could have a Windows look in your Unix environment (if you would ever want
that). Check out the numerous subcategories for code examples for each component!
Subcategories
16
javax.swing.border.*
Atomic
Controls
JCheckBox,
javax.swing.text.*
javax.swing.undo.*
JComponent
Top-Level
JList,
JMenu,
JSlider, JTextField)
Uneditable
Atomic
Controls
(JApplet,
General-Purpose
(JDesktop,
Atomic
Containers
JInternalFrame,
JLayeredPane, JRootPane)
Controls
JFileChooser,
Containers
JTabbedPane, JToolBar)
Special-Purpose
Editable
(JColorChooser,
JTree)
JRadioButton,
JComboBox,
(JButton,
HTMLEditorKit
RTFEditorKit
Swing Events
Netbeans Ide
NetBeans is an integrated development environment (IDE) for developing primarily
with Java, but also with other languages, in particularPHP, C/C++, and HTML5.[2] It is also
an application platform framework for Java desktop applications and others. The NetBeans
IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms
supporting a compatible JVM.
The NetBeans Platform allows applications to be developed from a set of modular software
components called modules. Applications based on the NetBeans Platform (including the
NetBeans IDE itself) can be extended by third party developers.
17
The NetBeans Team actively support the product and seek feature suggestions from the
wider community. Every release is preceded by a time for Community testing and feedback
NetBeans Platform
Framework for simplifying the development of Java Swing desktop applications. The
NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans
plugins and NetBeans Platform based applications; no additional SDK is required.
Applications can install modules dynamically. Any application can include the Update
Center module to allow users of the application to download digitally signedupgrades and
new features directly into the running application. Reinstalling an upgrade or a new release
does not force users to download the entire application again.
The platform offers reusable services common to desktop applications, allowing developers
to focus on the logic specific to their application. Among the features of the platform are:
Window management
NetBeans IDE is a free, open-source, cross-platform IDE with built-in-support for Java
Programming Language.
18
NetBeans IDE
NetBeansIDE is an open-source integrated development environment. NetBeans
IDE
supports
development
of
all
Java
application
types(JavaSE(including JavaFX), JavaME, web, EJB and mobile applications out of the box.
Among
other
features
are
an Ant-based
Modularity:
All the functions of the IDE are provided by modules. Each module provides a well
defined function, such as support for the Java language, editing, or support for
the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java
development in a single download, allowing the user to start working immediately. Modules
also allow NetBeans to be extended. New features, such as support for other programming
languages, can be added by installing additional modules. For instance, Sun Studio, Sun
Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based
on the NetBeans IDE.
License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common
Development and Distribution License (CDDL), a license based on the Mozilla Public
License (MPL). In October 2007, Sun announced that NetBeans would henceforth be
offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL
linking exception for GNU Classpath..
Integrated modules :These modules are part of the NetBeans IDE.
NetBeans Profiler
The NetBeans Profiler is a tool for the monitoring of Java applications: It helps
developers find memory leaks and optimize speed. Formerly downloaded separately, it is
integrated into the core IDE since version 6.0.
19
The Profiler is based on a Sun Laboratories research project that was named JFluid.
That research uncovered specific techniques that can be used to lower the overhead of
profiling a Java application. One of those techniques is dynamic bytecode instrumentation,
which is particularly useful for profiling large Java applications. Using dynamic bytecode
instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime
information on applications that are too large or complex for other profilers. NetBeans also
support Profiling Points that let you profile precise points of execution and measure
execution time NetBeans GUI Builder.
20
Bootstrap is a free collection of tools for creating websites and web applications. It
contains HTML and CSS-based design templates for typography, forms, buttons, navigation
and other interface components, as well as optional JavaScript extensions. It is the most
popular project on GitHub and has been used by NASA and MSNBC among others.
Ature
Bootstrap is compatible with the latest versions of all major browsers. It gracefully degrades
when used on older browsers such as Internet Explorer 8.
Since version 2.0 it also supports responsive design. This means the layout of web pages
adjusts dynamically, taking into account the characteristics of the device used (PC, tablet,
mobile phone).
Bootstrap is open source and available on GitHub. Developers are encouraged to participate
in the project and make their own contributions to the platform.
Recently, community members have translated Bootstrap's documentation into various
languages, including Chinese, Spanish and Russian.[6]
21
adjusts, if necessary, the values of various options to their needs. The subsequently
generated package already includes the pre-built CSS style sheet.
Grid system and responsive design comes standard with a 940 pixel wide, grid layout.
Alternatively, the developer can use a variable-width layout. For both cases, the toolkit has
four variations to make use of different resolutions and types of devices: mobile phones,
portrait and landscape, tablets and PCs with low and high resolution. Each variation adjusts
the width of the columns.
Re-usable components
In addition to the regular HTML elements, Bootstrap contains other commonly used
interface elements. These include buttons with advanced features (e.g. grouping of buttons
or buttons with drop-down option, make and navigation lists, horizontal and vertical tabs,
navigation, breadcrumb navigation, pagination, etc.), labels, advanced typographic
capabilities, thumbnails, warning messages and a progress bar.
JavaScript components
Bootstrap comes with several JavaScript components in the form of jQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels.
They also extend the functionality of some existing interface elements, including for
example an auto-complete function for input fields. In version 2.0, the following JavaScript
plugins are supported: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button,
Collapse, Carousel and Typeahead.
22
MY SQL DATABASE:
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by Oracle Corporation.
The SQL part of MySQL stands for Structured Query Language. SQL is the most
common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a languagespecific API that hides the SQL syntax.
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving
since 1986 and several versions exist. In this manual, SQL-92 refers to the standard
released
in
to
the
standard
released
in
1999,
and SQL:2003 refers to the current version of the standard. We use the phrase the
SQL standard to mean the current version of the SQL Standard at any time.
24
can adjust the settings to take advantage of all the memory, CPU power, and I/O capacity
available. MySQL can also scale up to clusters of machines, networked together.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL Server
today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.
in
to
the
standard
released
in
1999,
and SQL:2003 refers to the current version of the standard. We use the phrase the
SQL standard to mean the current version of the SQL Standard at any time.
26
today offers a rich and useful set of functions. Its connectivity, speed, and security make
MySQL Server highly suited for accessing databases on the Internet.
Database:
27
A database is simply a collection of used data just like phone book. MySQL database
include such objects as tables, queries, forms, and more.
Tables:
In MySQL tables are collection of similar data. With all tables can be organized
differently, and
contain mostly different information- but they should all be in the same database file. For
instance we may have a database file called video store. Containing tables named
members,tapes, reservations and so on. These tables are stored in the same database file
because they are
often used together to create reports to help to fill out on screen forms.
Fields
Fields are places in a table where we store individual chunks of information.
28
Forms:
Forms are on screen arrangement that make it easy to enter and read data. we can
also print the
forms if we want to. We can design form our self, or let the access auto form feature.
Reports:
Reports are paper copies of dynaset. We can also print reports to disk, if we like. Access
helps us to create the reports. There are even wizards for complex printouts.
Properties:
Properties are the specification we assigned to parts of our database design. We can define
properties for fields, forms, controls and most other access objects.
5. DESIGN
29
External Entity
30
Process
Specifies the transformation that is applied to the input to produce output.
External Entity
This represents any outside agency, which interacts with the system. Usually this is
an element, from that the system inputs or to which the system outputs go. A common.
Example if external entity is person or a group of persons.
Data Flow
This represents the flow of data between two processes or between a process and an
external entity or between a process and a data store.
Admin Module:
login
31
Username, password
login
Admin
Teacher
create
Exam
view
create
Result
view
Awards
View
create
view
view
award
login
exam
store
store
End Process
Teacher Module:
32
login
result
store
Username,password
login
Teacher
Students
create
view
Question
Results
Create
Question
View Result
store
student
question
End
Process
Student Module:
33
result
login
view
Take Exam
question
student
store
Result
View Result
34
Login
Create Teacher
Teacher
Create Student
Create Exam
Students
Admin
Question Prepare
Take Test
Results
Awards
35
Admin - Login
username : Varchar
Password : Varchar
role : Varchar
Submit()
Create Teacher
firstname : Varchar
Lastname : Varchar
email : Varchar
username : Varchar
Password : Varchar
Add Teacher()
Reset()
View Teacher
firstname : Varchar
Lastname : Varchar
email : Varchar
username : Varchar
password : Varchar
Create Exam
exame name : Varchar
Subject : Varchar
Date : Date
Create Award
award name : Varchar
Exam : Varchar
Price : double
View Result
regno : Integer
Exam name : Varchar
Subject : Varchar
Marks : Integer
add exam()
reset()
add award()
reset()
Result()
view Exam
Exam Name : Varchar
Subject : Varchar
Date : Date
View Award
award name : Varchar
Exam : Varchar
price : double
Edit()
Delete()
Edit()
Delete()
Edit()
Delete()
Teacher-Login
username : Varchar
Password : Varchar
Role : Varchar
Submit()
Clear()
Create Student
Name : Varchar
Registerno : String
Gender : Varchar
Date of Birth : Date
email : Varchar
username : Varchar
Password : Varchar
mobile no : Integer
Create Exam
examname : Varchar
Subject : Varchar
Question : Varchar
choice A : Varchar
Choice B : Varchar
Choice C : Varchar
Choice D : Varchar
Answer : Varchar
Add Student()
Reset()
Add Question()
Reset()
View Student
Name : Varchar
Register No : String
Gender : Varchar
Date of Birth : Date
Email : Varchar
username : Varchar
Password : Varchar
Contact no : Integer
Edit()
Delete()
result
Register no : Integer
exam : Varchar
Subject : Varchar
Mark : Integer
View()
Student - Login
username : Varchar
Password : Varchar
Role : Varchar
Submit()
Clear()
Exam Prepage
Select Exam : Varchar
Select Subject : Varchar
Submit()
Take Question
Question : Varchar
Choice A : Varchar
Choice B : Varchar
Choice C : VArchar
Submit()
results
mark : Integer
View()
Table Design
Table design is a collection of interrelated data items. The table for the new
system is designed by the techniques of the relational tables management System. It
provides flexibility in the storage and retrieval of the data in the order to anticipate the need
to meet unexpected requirements. Normalization can be done which is a process of
simplifying the relationship between data elements to produce successive simple and
manageable record structures. The following tables are used in the system.
Table - 1
Table Name: Login
Primary Key - id
S.NO
1
FIELd NAME
Id
DATA TYPE
Int
SIZE
5
Fname
Varchar
30
Lname
Varchar
30
Varchar
30
Username
Varchar
30
Password
Varchar
30
Role
Varchar
30
Table 2
39
DESCRIPTION
Unique id for each
record
First Name for the
Admin or Teacher
or Student
Last Name for the
Admin or Teacher
or Student
Email Id for the
Admin or Teacher
or Student
User Id for the
Admin or Teacher
or Student
Password for the
Admin or Teacher
or Student
Role
Field Name
Data Type
Size
Description
Id
int
11
Name
Varchar
30
Subject
varchar
30
Date
Date
10
Unique id for
each record
Name for
Exam
Subject for
Exam
Date
Table Name -3
Table Name:question
Primary Key: id
S.No
1
Field Name
Id
Data Type
Int
Size
5
2
3
4
5
6
7
8
9
Question
Subject
Choice1
Choice2
Choice3
Choice4
Answer
Exam
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
30
30
30
30
30
30
30
30
Table Name -4
40
Description
Unique Id for
Each Record
Question
Subject
Choice
Choice
Choice
Choice
Answer
Exam
Table Name:student
Primary Key: id
S.No
1
Field Name
Id
Data Type
Int
Size
5
Regno
Inter
Name
Varchar
30
Gender
Varchar
30
Dob
Varchar
30
Varchar
30
Username
Varchar
30
Password
Varchar
30
Contactno
Bigint
10
Description
Unique Id for
Each Record
Regno for
Student
Name for the
Student
Gender for
Students
Date of Birth
for Students
Email for
Students
Username for
Students
Password for
Students
Contact
Number for
Students
Table 5
Table Name: result
Primary Key- id
S.No
Field Name
Data Type
Size
Description
Id
int
11
Exam
Varchar
30
Subject
varchar
30
Regno
Int
Mark
Int
Unique id for
each record
Name for
Exam
Subject for
Exam
Register
Number for
Students
Marks for
students
41
Table 6
Table Name: Award
Primary Key- id
S.No
Field Name
Data Type
Size
Description
Id
int
11
Name
Varchar
30
Exam
varchar
30
Unique id for
each record
Name for
Students
Exam
Price
Big int
10
Price
42
6. SYSTEM IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is turned into
a working system and is giving confidence on the new system for the users that it will work
effectively. The last and the most important phase of the system Development Life Cycle is
the system implementation. It involves careful planning, investigation of the current system
and its constraints on implementation, design of methods to achieve the change over, an
evaluation, of change over methods.
Apart from planning major task of preparing the implementations are education and
training of users. The more complex the system being implemented, the more involved will
be the system analysis, and the design effort, required just for implementation. An
implementation coordination committee based on policies of individual organization has
been appointed. The implementation process begins with repairing a plan for the
implementation of the system.
After the system is implemented successfully, training of the users is one of the most
important subtasks of the developer. For this purpose user manuals are prepared and handled
over to the user to operate the developed system. Both the Hardware and software securities
are made to run the developed systems successfully in future.
43
7. SYSTEM TESTING
Result And Discussion
Data accuracy
Speed
Data Manipulation
Desired Results and so on..
Testing
Software testing represents the ultimate review of specification, design and coding.
Glen Myres states a number of rules that can serve well as testing objectives.
at the module level and works outward towards the integration of the entire
software.
Thus a series of testing are performed for the proposed system before the
system is ready for user acceptance. It involves the following activities.
Testing Strategies
Unit Testing
Unit testing focuses on testing the individual module. In this testing tests are
performed for individual entity or elements in order to rectify the very minor errors.
Unit testing focuses verification effort on the smallest unit of software design i.e.,
the software module. It is done at the very grass root level. The candidate system is
subjected to this test and the results are verified. Each module is checked for its
consistency. Data validation is checked to avoid incorrect flow of data with in the
system. The system is subjected to this test and the results are verified.
Each of the entry screens and reports were tested with data. Boundary
conditions are tested to ensure that modules operate properly at boundary. Execution
time and response time for each module were checked and they were found to be a
few seconds. The modules were checked by giving some unexpected inputs for
which the appropriate error messages were displayed and such entries were not
accepted by the application.
45
Integration Testing
Integration testing is a systematic testing for constructing the program structure. The
relationship between different modules is checked in integration testing for the overall
performance of the system.
In this test the integration of various models are tested for their inter-navigational
ease of use and their compatibility with each other.
It is a systematic technique for constructing the program structure while at the same
time conducting tests to uncover errors associated with interfacing. The major emphasis lies
on the effects of modification if any are made to any one of the module are there any change
in the performance of the remaining modules and study of their effects and rectifying them.
The testing operation conducted after combining all the system modules to check for
the correctness of the output is called Integration Testing. Even though a successful unit
testing is performed, it is necessary to check the output of the system after the successful
integration, since the links of integrity may lead to erroneous results. This test is done using
test cases and the results are proved to be consistent.
46
System Testing
Integration testing is a systematic technique for constructing the program structure,
while at the same time conducting tests to uncover errors associated with Interfacing. That
is the program is constructed and tested in small segments, which makes it easier to isolate
and correct.
System testing is actually a series of different tests, whose primary purpose is to test
the completed system in its entirely as a whole exercise. Although each test has different
purpose, we should verify that all the system elements have been properly integrated and
perform the allocated functions.
Performance Testing
Performance test was conducted to identify the bottlenecks involved in the system
and the evaluated the amount of execution time spent on various parts of the unit. The
response time for each of the activities performed by the verified and is found to reasonable.
This test is conducted to check for the performance of the system with varying volume of
data. The system is made to function on all week-days with varying volumes of inputs. The
output is verified and the results are accurate.
Functional Testing
Functional testing involves excising the code with nominal input values of with input
values of which the expected values are known i.e., the functions of specified module are
verified with these by using the result of which are known and then results are obtained and
compared with the results expected. Functional tests were performed for each module to test
whether the functional requirement of each of the module is satisfied. The functional test
ensures that the system produces the required results for the given inputs under typical
operating conditions.
47
Verification
Verification
correctly. It should verify whether the software satisfies all the requirements that are
expected by the users. During design to use imaginary data for testing, but after to verify
whether the software function works correctly for the real data.
Validation
Validation testing is used to check whether the data given, as input is a valid data or
not. The wordpad is checked by performing the various word processing tasks. The video
and audio player is checked by play the different format of video and audio files. The
picture viewer is checked by viewing the different types of images. In this way validation is
performed in this project.
48
8. Coding:
packagedao;
importbeans.Beans;
importjava.math.BigInteger;
importjava.security.SecureRandom;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.Random;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importutil.Utility;
public class Dao {
Connection con = null;
PreparedStatementpstmt = null;
ResultSetrs;
publicArrayList<Beans>login(Beans bean) throws SQLException{
ArrayList<Beans> list = new ArrayList<Beans>();
try{
//log.info("Before checking Admin login Details..");
con = Utility.createConnection();
String query;
if(bean.getRole().equals("Student")){
query= "select * from student where username=? and password=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, bean.getUsername());
pstmt.setString(2, bean.getPassword());
rs = pstmt.executeQuery();
while(rs.next()){
Beans bean1= new Beans();
con = Utility.createConnection();
String query = "insert into exam(name,subject,date) values(?,?,?)";
//log.info("Before checking Admin login Details..");
49
51
bean1.setPassword(rs.getString("password"));
bean1.setFname(rs.getString("fname"));
bean1.setLname(rs.getString("lname"));
bean1.setEmail(rs.getString("email"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showexamname(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
bean1.setExamname(rs.getString("name"));
bean1.setSubject(rs.getString("subject"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showexam(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
53
bean1.setExamname(rs.getString("name"));
bean1.setId(rs.getInt("id"));
bean1.setSubject(rs.getString("subject"));
bean1.setDate(rs.getDate("date"));
list.add(bean1);
}
return list;
}
publicArrayList<Beans>showresult(String query) throws SQLException{
Statement st;
ArrayList<Beans> list = new ArrayList<Beans>();
try{
con = Utility.createConnection();
st= con.createStatement();
rs=st.executeQuery(query);
}
catch(Exception ex){
ex.printStackTrace();
}
while(rs.next()){
Beans bean1= new Beans();
bean1.setRegno(rs.getString("regno"));
try{
con = Utility.createConnection();
pstmt = con.prepareStatement(query);
pstmt.setInt(1, bean.getId());
rs=pstmt.executeQuery();
System.out.println(bean.getId());
while(rs.next()){
Beans bean1= new Beans();
bean1.setExamname(rs.getString("name"));
bean1.setSubject(rs.getString("subject"));
bean1.setDate(rs.getDate("date"));
list.add(bean1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
54
list.add(bean1);
}
}
catch(Exception ex){
ex.printStackTrace();
}
return list;
}
publicbooleandeleteteacher(int id){
try {
con = Utility.createConnection();
String query = "delete from login where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
publicbooleandeleteexam(int id){
try {
con = Utility.createConnection();
String query = "delete from exam where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
publicbooleandeleteaward(int id){
try {
con = Utility.createConnection();
String query = "delete from awad where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
56
}
return true;
}
publicbooleandeletestudent(int id){
try {
con = Utility.createConnection();
String query = "delete from student where id=?";
pstmt=con.prepareStatement(query);
pstmt.setInt(1, id);
pstmt.execute();
} catch (Exception ex) {
Logger.getLogger(Dao.class.getName()).log(Level.SEVERE, null, ex);
}
return true;
}
classpasswordgenerator{
privateSecureRandom random = new SecureRandom();
public String nextSessionId()
{
return new BigInteger(130, random).toString(32);
}
}
57
9. Screen Shots:
Home Page:
Login:
58
Create Teacher:
60
View Teacher:
61
Create Exam:
62
View Exam:
63
Edit Exam:
64
Delete Exam:
65
Create Award
66
67
Create Student:
68
View Student:
69
Delete Student:
70
Create Question:
71
View Result:
72
73
74
Student Results:
75
10. Conclusion
Computerization is needed in this Shrinking world, where centralization is also
required with globalization. Conducting online test is a step in this direction to ease the
current structure of examination. This way of conducting test on one of the most secure
operating system and with highly sophisticated technology is cost effective and save time
too.
This way of conducting test not only save time but also lessens students and
teachers frustration. It is an easier way of giving examination, any person across the globe
can appear for the examination.
76
It has vast future scope, as it is not made for client server level so we can make it
for client server level too.
Every type of exam can be conducted online and it will lessen the teachers
frustration.
We can also conduct tests for various subjects and various difficulty levels.
77
12. Biblography
Books:
The Complete Reference Java2
By:-Herbert Schildt
Programming with Java
By:-E Balagurusamy
Websites:
www.java.sun.com
www.google.co.in
www.en.wikipedia.org
78
79