You are on page 1of 76

A

Project Report
on
“JAVA E-CODER”
In partial fulfillment of requirements for the degree of

Bachelor of
Computer Application
Under the Guidance of:-
Miss. Ishita Maheshwari
(Assistant Professor)

BCA DEPARTMENT

Submitted By:-
Ramesh Gharami

(Roll No:- 1667330010)

1
CERTIFICATE

This is certify that project work entitled “JAVA E-CODER” is a bonafide work carried out in the
sixth semester in partial for the award of Bachelor of Computer Application From Droan College
of Education & Technology affiliated to Kumaun University Nainital during the academic year
2018-2019. Who carried out of the project work under the guidance and no part of this work has been
submitted earlier for the award of any degree.

Ramesh Gharami

Miss. Ishita Maheshwari


(Project Guide)

Mr. Shamsher Singh


(Head of Department)

2
ACKNOWELEDGEMENT

I have taken efforts in this project. However, it would not have been possible without the kind of
support and help of many individuals and organizations. I would like to extend my sincere thanks to
all of them.

I would like to express my gratitude towards our parents for their kind co-operation and
encouragement, which help me in completion of this project.

I would like to express our special and gratitude and thanks to college staff for giving me such attention
and time.

I am highly indebted to Mr. Kishor Kumar (Chairman), Mr. Shamsher Singh (H.O.D.) for
providing us the desired platform and deliver the learning in effective and efficient manner.

My thanks and appreciations also go to my project guide “Miss Ishita Maheshwari” in completing
the project and people who have willingly helped me out with their abilities.

3
ABSTRACT

The current scenario of the software industry relating to software programming languages is
you have an huge collection of programming languages wherein the importance of one cannot be
underlined with the other and every language presents some features which makes a given language
more suitable than the other for a given set of domains thereby a programmer has to confront the need
to write code in different languages for example a program needs to write code in java, html, java
script etc. to name a few and each of these language has its own syntax ,code formatting and
commenting techniques.

E-Coder is aimed to help a programmer in editing code in these languages different tool vendors
provide their own individual editors so now to use these tools a programmer should be fully aware of
the features supported by different editors in these scenario a need for a single unified editor which
can support editing of multiple programming language code is extremely felt.

E-CODER is a powerful, pure Java text editor primarily targeted for use by programmers. For this
reason, E-CODER provides many useful programming functions: syntax colorization, auto
indentation, a source code browser, a class browser, and an integrated console. Other users will find
some additional advanced E-CODER functions useful. These include: HTML editing, the ability to
send mail directly, scripting, and a configurable clip library. Lastly, E-CODER is fully customizable
with the help of plugins and XML configuration files. This enables anyone to easily translate E-
CODER from English into other languages.
Thus, the project work principles have been successfully implemented to the better service to
the user. The further details of the project software are discussed in the later chapters.

4
INDEX

Certificates
Acknowledge
Abstract
1. INTRODUCTION.............................................................................................. 07
1.1.1 PURPOSE……………………………………………………………………………...08
1.1.2 SCOPE…………………………………………………………………………………08
1.1.3 ABOUT THE PROJECT…………………………………………………...09
1.1.4 EXTERNAL INTERFACE REQUIREMENTS .......................................................... 09
1.3.3 LOGIN INTERFACE ................................................................................................ 09
1.3.2 REGISTRATION INTERFACE ................................................................................. 10
1.3.4 EXAMINATION INTERFACE ................................................................................. 10
1.3.5 CONTACT INTERFACE ........................................................................................... 11

2 TECHNIQUES USED ........................................................................................ 12


2.1 PHP: HYPERTEXT PREPROCESSOR ........................................................................... 13
2.2 HTML( INCLUDING CSS & JAVA SCRIPT ) .................................................................. 14
2.3 MySQL ……………………………………………………………………………………18

3. ANALYSIS ........................................................................................................ 19
3.1 SYSTEM ANALYSIS ....................................................................................................20
3.2 SYSTEM SPECIFICATIONS .........................................................................................21

4. SOFTWARE DEVELOPMENT METHODOLOGY....................................... 22


4.1 SOFTWARE DEVELOPMENT MODEL ...................................................................... 23
4.1.1 WATERFALL MODEL ........................................................................................... 24

5
4.2 INTRODUCTION TO DESIGN ..................................................................................... 29
4.3 DATA FLOW DIAGRAMS ........................................................................................... 29
4.4 E-R DIAGRAMS ........................................................................................................... 33

5. TESTING............................................................................................................37
6.1. INTRODUCTION TO TESTING .................................................................................... 38
6.1.1. BLACK-BOX TESTING ......................................................................................... 38
6.1.2. WHITE-BOX TESTING .......................................................................................... 40
6.2. TESTING STRATEGIES ............................................................................................... 41
2. 6.2. TESTING DOCUMENTATIOM .................................................................................... 42

6. SNAPSHOTS ...................................................................................................... 44
6.1 DECLARATION PAGE................................................................................................. 45
6.1.1 DECLINE PAGE ..................................................................................................... 46
6.2 HOME PAGE .................................................................................................................. 47
6.3 LOGIN PAGE ................................................................................................................. 48
6.3.1 EXAMINATION WELL COME PAGE ................................................................. 49
6.3.1.1 SUBJECT SELECTION PAGE ...................................................................... 50
7.3.1.1 EXAMINATION PAGE ........................................................................... 51
7.3.1.1 RESULT PAGE ..................................................................................... 52
6.3.2 REGISTRATION PAGE ........................................................................................ 53
6.3.2.1 REGISTRATION SUCCESS PAGE ............................................................ 54
6.4 CONTACT US PAGE ..................................................................................................... 55
6.4.1 CONTACT REQUEST SUBMIT PAGE ................................................................ 56
6.5 ABOUT DEVELOPER PAGE .........................................................................................57
6.6 ALARTS SCREEN......................................................................................................... 58

7. CONCLUSION ................................................................................................. 62
8. FUTURE ENHANCEMENTS .......................................................................... 64
9. BIBILIOGRAPHY ............................................................................................ 66

6
4
 What is a text editor? :-
Software used to create and edit files that contain only text; for example, batch files, address
lists and source language programs. Text editors produce raw ASCII or EBCDIC text files, and unlike
word processors, they may not support formatting (word wrap, fonts, bold, italic, etc.).

Editors that are part of a development environment are designed for writing source code and
provide automatic indention and multiple windows into the same file. They also display-reserved
words of a particular programming language in bold or in a different typeface, and any of these layout
codes that are embedded in the file are bypassed when the program is compiled.

E-Coder is being launched because a need for a destination that is beneficial for both individual
and team. With this application, both individual and group can register and create effective programming
environment. Users can protect their projects and coordinates with their teammates. This application
is an attempt to remove the existing flaws in the manual system of programming.

 Purpose:-
E-Coder fulfills the requirements of the programmers. A text editor that is specialized for
writing software. A source code editor may be a stand-alone program or part of an integrated
development environment (IDE). They make writing and reading the source code easier by
differentiating the elements and routines so programmers can more easily look at their code. Using a
regular text editor, large programs would be more cumbersome to review later.

4
 About the Project:-
E-CODER is a Java application built on top of Swing E-CODER is a powerful, pure Java text
editor primarily targeted for use by programmers. For this reason, E-CODER provides many useful
programming functions: syntax colorization, auto indentation, a source code browser, a class browser,
and an integrated console. Other users will find some additional advanced E-CODER functions
useful. These include: HTML editing, the ability to send mail directly, scripting, and a configurable
clip library. Lastly, E-CODER is fully customizable with the help of plugins and XML configuration
files. This enables anyone to easily translate E-CODER from English into other languages.

E-CODER is full of useful shortcuts, which will help improve your productivity. After having
read this documentation, you will be able to make the most of all of E-CODER's many features.

The source code is very simple to understand.


 Users should be comfortable with the English Language
 Users should have prior information regarding the programming languages.
 Users should have basic knowledge and should be comfortable using general purpose
applications on computers.

4
4
JAVA
Java is a programming language and a platform. Java is a high level, robust, object-oriented and
secure programming language. Platform: Any hardware or software environment in which a program
runs, is known as a platform. Since Java has a runtime environment (JRE) and API, it is called a
platform.

 History of Java:-
Java was originally designed for interactive television, but it was too advanced technology for the
digital cable television industry at the time. The history of java starts with Green Team. Java team
members (also known as Green Team), initiated this project to develop a language for digital devices
such as set-top boxes, televisions, etc. However, it was suited for internet programming.

Later, Netscape incorporated Java technology. The principles for creating Java programming were
"Simple, Robust, Portable, Platform-independent, Secured, High Performance, Multithreaded,
Architecture Neutral, Object-Oriented, Interpreted and Dynamic".

Currently, Java is used in internet programming, mobile devices, games, e-business solutions, etc.
There are given the significant points that describe the history of Java.

 James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in
June 1991. The small team of sun engineers called Green Team.

 Originally designed for small, embedded systems in electronic appliances like set-top boxes.

 Firstly, James Gosling called it “Green talk”, and file extension was “.gt”.

 After that, it was called Oak and was developed as a part of the Green project.

 Why Java named "Oak"? :-


 Oak is a symbol of strength and chosen as a national tree of many countries like U.S.A.,
France, Germany, Romania, etc.

 Firstly, James Gosling called it “Green talk”, and file extension was “.gt”.

 In 1995, Oak Technologies renamed Oak as “Java” because it was already a trademark.

4
 The team gathered to choose a new name. The suggested words were "dynamic",
"revolutionary", "Silk", "jolt", "DNA", etc. They wanted something that reflected the
essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell
and fun to say.

 According to James Gosling, "Java was one of the top choices along with Silk". Since Java
was so unique, most of the team members preferred Java than other names.

 Java is an island of Indonesia where first coffee was produced (called java coffee).

 Notice that Java is just a name, not an acronym.

 Initially developed by James Gosling at Sun Microsystems (which is now a subsidiary of


Oracle Corporation) and released in 1995.

 In 1995, Time magazine called Java one of the Ten Best Products of 1995.

 JDK 1.0 released in(January 23, 1996).

 Java Version History:-

Many java versions have been released till now. The current stable release of Java is Java SE
10.

 JDK 1.0 released in(January 23, 1996).

 JDK Alpha and Beta (1995)

 JDK 1.0 (23rd Jan 1996)

 JDK 1.1 (19th Feb 1997)

 J2SE 1.2 (8th Dec 1998)

 J2SE 1.3 (8th May 2000)

 J2SE 1.4 (6th Feb 2002)

 J2SE 5.0 (30th Sep 2004)

 Java SE 6 (11th Dec 2006)

4
 Java SE 7 (28th July 2011)

 Java SE 8 (18th March 2014)

 Java SE 9 (21st Sep 2017)

 Java SE 10 (20th March 2018)

 Features of Java:-

The primary objective of Java programming language creation was to make it portable, simple and
secure programming language. Apart from this, there are also some excellent features, which play an
important role in the popularity of this language. The features of Java are also known as
java buzzwords.

A list of most important features of Java language is given below.

 Java SE 10 (20th March 2018)

 Simple

 Object-Oriented

 Portable

 Platform independent

 Secured

 Robust

 Architecture neutral

 Interpreted

 High Performance

 Multithreaded

 Distributed

 Dynamic

4
OOP’s Concept
Java is an object-oriented programming language. Everything in Java is an object. Object-
oriented means we organize our software as a combination of different types of objects that
incorporates both data and behavior.

Object-oriented programming (OOPs) is a methodology that simplifies software development


and maintenance by providing some rules.
Basic concepts of OOPs are:

 Object

 Class

 Inheritance

 Polymorphism

 Abstraction

 Encapsulation

Object:-
Any entity that has state and behavior is known as an object. For example a chair, pen, table,
keyboard, bike, etc. It can be physical or logical.
An Object can be defined as an instance of a class. An object contains an address and takes up
some space in memory. Objects can communicate without knowing the details of each other's data or
code. The only necessary thing is the type of message accepted and the type of response returned by
the objects.
Example: A dog is an object because it has states like color, name, breed, etc. as well as behaviors
like wagging the tail, barking, eating, etc.

Classes:-
Collection of objects is called class. It is a logical entity.
A class can also be defined as a blueprint from which you can create an individual object. Class
does not consume any space.
When one object acquires all the properties and behaviors of a parent object, it is known as
inheritance. It provides code reusability. It is used to achieve runtime polymorphism.

4
Polymorphism:-
If one task is performed by different ways, it is known as polymorphism.
For example: to convince the customer differently, to draw something, for example, shape,
triangle, rectangle, etc.
In Java, we use method overloading and method overriding to achieve polymorphism.
Another example can be to speak something; for example, a cat speaks meow, dog barks woof,
etc.
Abstraction:-
Hiding internal details and showing functionality is known as abstraction. For example
phone call, we don't know the internal processing.
In Java, we use abstract class and interface to achieve abstraction.

Encapsulation:-
Binding (or wrapping) code and data together into a single unit are known as encapsulation.
For example capsule, it is wrapped with different medicines.
A java class is the example of encapsulation. Java bean is the fully encapsulated class because
all the data members are private here.

4
Java AWT
Java AWT (Abstract Window Toolkit) is an API to develop GUI or window-based
applications in java.
Java AWT components are platform-dependent i.e. components are displayed according to
the view of operating system. AWT is heavyweight i.e. its components are using the resources of OS.
The java.awt package provides classes for AWT api such as TextField, Label, TextArea,
RadioButton, CheckBox, Choice, List etc.

 Java AWT Hierarchy:-


The hierarchy of Java AWT classes are given below.

Container:-
The Container is a component in AWT that can contain another components like buttons,
textfields, labels etc. The classes that extends Container class are known as container such as Frame,
Dialog and Panel.

4
Window:-
The window is the container that have no borders and menu bars. You must use frame, dialog
or another window for creating a window.

Panel:-
The Panel is the container that does not contain title bar and menu bars. It can have other
components like button, textfield etc.

Frame:-
The Frame is the container that contain title bar and can have menu bars. It can have other
components like button, textfield etc.

4
Event and Listener
Changing the state of an object is known as an event. For example, click on button, dragging
mouse etc. The java.awt.event package provides many event classes and Listener interfaces for event
handling.

 Java Event classes and Listener interfaces:-

Event Classes Listener Interfaces

ActionEvent ActionListener

MouseEvent MouseListener and MouseMotionListener

MouseWheelEvent MouseWheelListener

KeyEvent KeyListener

ItemEvent ItemListener

TextEvent TextListener

AdjustmentEvent AdjustmentListener

WindowEvent WindowListener

ComponentEvent ComponentListener

ContainerEvent ContainerListener

FocusEvent FocusListener

 Steps to perform Event Handling:-


Following step are required to perform event handling:
 Register the component with the Listener

Registration Methods:-
For registering the component with the Listener, many classes provide the registration
methods. For example:
 Button

4
o public void addActionListener(ActionListener a){}

 MenuItem

o public void addActionListener(ActionListener a){}

 TextField

o public void addActionListener(ActionListener a){}


o public void addTextListener(TextListener a){}

 TextArea

o public void addTextListener(TextListener a){}

 Checkbox

o public void addItemListener(ItemListener a){}

 Choice

o public void addItemListener(ItemListener a){}

 List

o public void addActionListener(ActionListener a){}


o public void addItemListener(ItemListener a){}

4
Java Swing Tutorial
Java Swing tutorial is a part of Java Foundation Classes (JFC) that is used to create window-
based applications. It is built on the top of AWT (Abstract Windowing Toolkit) API and entirely
written in java.
Unlike AWT, Java Swing provides platform-independent and lightweight components.
The javax.swing package provides classes for java swing API such as JButton, JTextField,
JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser etc.

 Difference between AWT and Swing:-


There are many differences between java AWT and swing that are given below.

No. Java AWT Java Swing

1 AWT components are platform- Java swing components are platform-


dependent. independent.

2 AWT components are heavyweight. Swing components are lightweight.

3 AWT doesn't support pluggable look Swing supports pluggable look and
and feel. feel.

4 AWT provides less components than Swing provides more powerful


Swing. componentssuch as tables, lists,
scrollpanes, colorchooser, tabbedpane
etc.

5 AWT doesn't follows MVC(Model Swing follows MVC.


View Controller) where model
represents data, view represents
presentation and controller acts as an
interface between model and view.

 JFC:-
The Java Foundation Classes (JFC) are a set of GUI components, which simplify the
development of desktop applications.

4
 Hierarchy of Java Swing classes:-

The hierarchy of java swing API is given below.

4
 Commonly used Methods of Component class:-
The methods of Component class are widely used in java swing that are given below.

Method Description

public void add(Component c) add a component on another component.

public void setSize(int width,int height) sets size of the component.

public void setLayout(LayoutManager m) sets the layout manager for the component.

public void setVisible(boolean b) sets the visibility of the component. It is by


default false.

4
MySQL
 MySQL Introduction:-
There are a large number of database management systems currently available, some
commercial and some free. Some of them: Oracle, Microsoft Access, Mysql and PostgreSQL. These
database systems are powerful, feature-rich software, capable of organizing and searching millions
of records at very high speeds.
Understanding Databases, Records, and Primary Keys Every Database is composed of one or
more tables. These Tables, which structure data into rows and columns, Impose organization on the
data.
The records in a table (below) are not arranged in any particular order. To make it easy to
identify a specific record, therefore, it becomes necessary.
Standing Relationships and Foreign Keys (RDBMS), you already know that a single database
can hold multiple tables. In a Relational database management system (RDBMS), these tables can be
linked to each other by one or more common fields, called foreign keys.

 Database administrator (DBA):-


Database administrator is the super user of database; he has unrestricted rights and privileges to
access database, grant permission to other database users.

 Database user (DBU):-


Database user is the person who uses the database in a restricted privileges, provided by database
administrator.

Download MySQL Database


If you don’t have then download mysql database from herehttp://www.mysql.com

4
INTRODUCTION TO JDBC

 JDBC:-
JDBC (Java Database Connectivity) is a front-tool for connecting to a server and is similar to
ODBC in the respect. However, JDBC can connect only Java clients and uses ODBC for the
connectivity. JDBC is essentially a low-level Application, Programming Interface. It is called a low-
level API since any data manipulation, storage and retrieval has to be done by the program itself.
Some tools that provide a higher-level abstraction are expected shortly.

 JDBC Driver types: -


There are four types of JDBC drivers each having its own functionality. Please note that, they
do not substitute one another, each having their own suitability aspects. They are classified based on
how they access data from the database.

 Native Jdbc driver:-


A JDBC driver, which is partly written in Java and most of each, implemented using native
methods to access the database. This is useful in case of Java application that can run only on some
specific platforms. Writing these type drivers is easier compare to writing other drivers

 All Java JDBC Net Drivers:-


JDBC net drivers that uses a common network protocol to connect to an intermediate server,
which is turn employee’s native calls to connect to the database.
This approach is used for applets where the request must go through the intermediate server.

 JDBC-ODBC bridge driver:-


A bridge driver provided with JDBC can convert. The Jdbc calls in to equaling ODBC calls
using the native methods. Since ODBC provides for connection to any type of database that is ODBC
compliant, to connect a number of databases simultaneously, it is very simple matter. This approach
is a recommended once since using ODBC drivers, which are industry standard as of now, would
make an application truly portable across the databases.

 Native Protocol ALL Java Drivers:-


This type of Jdbc driver is written completely in Java and can access the database by
making use of native protocols of the database. This method of data access is suitable in case
of Intranets were carry every thing can run as an application instead of an applet.

4
 JDBC ARCHITECTURE:-
JDBC architecture is shown below. Components of JDBC are
 JDBC Driver Manager
 JDBC Driver
 JDB-ODBC Bridge
 Applications.

4
SQL Driver Manager
 JDBC Driver Manager:-
Function of the driver manager is to find out available drivers in the system and
connects the application to the appropriate database. Whenever a connection is requested.
However, to help the driver manager identify different types of drivers, each driver should be
registered with the driver Manager.

 JDBC Driver:-
Function of the JDBC Driver is to accept the SQL calls from the application and
convert them into native calls to the database. However, in this process it may take help some
other drivers or even servers, which depends on the type of Jdbc Driver we are using. Also,
it is possible that the total functionality of the database server could be built into the driver
itself.

 JDBC-ODBC Bridge:-
Sunsoft provides a special JDBC Driver called JDBC-ODBC bridge driver, which can
be used to connect to any existing database, that is ODBC complaint.

4
4
SYSTEM ANALYSIS
 EXISTING SYSTEM:-
Editors or text editors are software programs that enable the user to create and edit text files.
In the field of programming, the term editor usually refers to source code editors that include many
special features for writing and editing code.
Features normally associated with text editors are: - moving the cursor, deleting, replacing,
pasting, finding, finding and replacing, saving etc.

 Proposed System:
The online test created for taking online test has following features:

 In comparison to the present system the proposed system will be less time
consuming and is more efficient.
 Analysis will be very easy in proposed system as it is automated
 Result will be very precise and accurate and will be declared in very short span
of time because calculation and evaluations are done by the simulator itself.
 The proposed system is very secure as no chances of leakage of question paper
as it is dependent on the administrator only.
 The logs of appeared candidates and their marks are stored and can be backup
for future use

20
PAge
Online Examination System

 Objective of the System:

 User-friendly system
 Offering several types of questions
 Auto exam publish
 Automatically checked answers
 Group report performance analysis

System Specifications

Hardware Requirements:-

 Pentium-core i3 processor
 4 GB Ram
 512 KB Cache Memory
 Hard disk 500 GB
 Microsoft Compatible 101 or more Key Board

Software Requirements: -

 Operating System : Windows

 Web-Technology: PHP

 Front-End: HTML,CSS

 Back-End: MySQL

 Web Server: Wamp SERVER.


21
PAge
Online Examination System

22
PAge
Online Examination System

Software Development Model


 Software engineering definition
 Software engineering is a systematic and disciplined approach towards the
development of the software operation and maintenance.
 Characteristics of a software
 Software should achieve a good quality in design and meet all the specifications
of the customer.
 Software should be inherently complex.
 Software must be efficient i.e. the ability of the software to use system resources
in an effective and efficient manner.
 Software must be integral i.e. it must prevent from unauthorized access to the
software or data.

 Software engineering - Layered technology


 Software engineering is a fully layered technology.
 To develop a software, we need to go from one layer to another.
 All these layers are related to each other and each layer demands the fulfillment of the
previous layer.
The layered technology consists of:

Software Development Life Cycle (SDLC)-


Software Development Life Cycle (SDLC) is a process used by the software
industry to design, develop and test high quality software. The life cycle defines a
methodology for improving the quality of software and the overall development
process.
23
PAge
Online Examination System
Life Cycle Models

There are various life cycle models to improve the software processes.
WATERFALL MODEL
PROTOTYPE MODEL
ITERATIVE ENHANCEMENT MODEL
EVOLUTIONARY MODEL
SPIRAL MODEL

WATERFALL MODEL

Waterfall model is the simplest model of software development paradigm. It says


the all the phases of SDLC will function one after another in linear manner. That is,
when the first phase is finished then only the second phase will start and so on.

This model assumes that everything is carried out and taken place perfectly as planned
in the previous stage and there is no need to think about the past issues that may arise
in the next phase. This model does not work smoothly if there are some issues left at
the previous step. The sequential nature of model does not allow us go back and undo
or redo our actions. This model is best suited when developers already have designed
and developed similar software in the past and are aware of all its domains

24
PAge
Online Examination System

 Feasibility study
When the client approaches the organization for getting the desired product
developed, it comes up with rough idea about what all functions the software must
perform and which all features are expected from the software. Referencing to this
information, the analysts does a detailed study about whether the desired system
and its functionality are feasible to develop. This study analyses whether the
software product can be practically materialized in terms of implementation,
contribution of project to organization, cost constraints and as per values and
objectives of the organization. It explores technical aspects of the project and
product such as usability, maintainability, productivity and integration ability.

The system has been tested for feasibility in the following points.
o TECHNICAL FEASIBILTIY
The technically feasibility study basically centers on alternatives for hardware,
software and design approach to determine the functional aspects of system.
This project on Online Examination will be platform independent since it is being
coded in HTML (using JSP and SERVLETS) is used to create web pages
MySQL database will be used for storing data.
Only authorized person would be able to use the website so it would be secure.

o OPERATIONAL FEASIBILTY
Operational Feasibility is a measure of how people are able to work with
system. This type of feasibility demands if the system will work when
developed and installed. Since website is very user friendly so users will find it
comfortable to work on this site.

o ECONOMICAL FEASIBILITY
Economic analysis is the most frequently used evaluating the effectiveness
of proposed system, more commonly known as Benefit analysis. The Benefit
analysis is to determine benefits and savings which are expected from
candidate system and compare them with cost. If the benefits are more than
the cost, then decision is made to design and implement the system. The cost
and benefits may be direct or indirect and tangible or intangible.
25
PAge
Online Examination System

 Requirement Gathering

If the feasibility report is positive towards undertaking the project, next phase
starts with gathering requirements from the user. Analysts and engineers
communicate with the client and end-users to know their ideas on what the
software should provide and which features they want the software to include.

 System Analysis And SRS

At this step the developers decide a roadmap of their plan and try to bring up the
best software solution model suitable for the project and make roadmap
documentation with the help of SRS. SRS is a document created by system analyst
after the requirements are collected from various stakeholders. SRS defines how
the intended software will interact with hardware, external interfaces, speed of
operation, response time of system, portability of software across various
platforms, maintainability, speed of recovery after crashing, Security, Quality,
Limitations etc.

SRS should come up with following features:


 User Requirements are expressed in natural language.
 Technical requirements are expressed in structured language, which is used
inside the organization.
 Design description should be written in Pseudo code.
 Format of Forms and GUI screen prints.
 Conditional and mathematical notations for DFDs etc.

 Design
Next step is to bring down whole knowledge of requirements and analysis on the
desk and design the software product. The inputs from users and information
gathered in requirement gathering phase are the inputs of this step. The output of
this step comes in the form of two designs; logical design and physical design.
26
PAge
Online Examination System
 Coding

This step is also known as programming phase. The implementation of software


design starts in terms of writing program code in the suitable programming
language and developing error-free executable programs efficiently.

 Testing

An estimate says that 50% of whole software development process should be


tested. Errors may ruin the software from critical level to its own removal.
Software testing is done while coding by the developers and thorough testing is
conducted by testing experts at various levels of code such as module testing,
program testing, product testing, in-house testing and testing the product at user’s
end.

 Operation and Maintenance

This phase confirms the software operation in terms of more efficiency and less
errors. If required, the users are trained on, or aided with the documentation on
how to operate the software and how to keep the software operational. The
software is maintained timely by updating the code according to the changes taking
place in user end environment or technology. This phase may face challenges from
hidden bugs and real-world unidentified problems.

27
PAge
Online Examination System

28
PAge
Online Examination System

Introduction to Design

In order to design a website, the relational database must be designed first.


Conceptual design can be divided into two parts: The Data Model and the Process Model.
The data model focuses on what data should be stored in the database while the process
model deals with how the data is processed. To put this in the context of the relational
database, the data model is used to design the relational tables. The process model is used
to design the queries that will access and perform operations on those tables.

DATA FLOW DIAGRAMS:

The DFD takes an input-process-output view of a system i.e. data objects flow
into the software, are transformed by processing elements, and resultant data objects
flow out of the software
DFD also known as ‘bubble chart’, has the purpose of clarifying system
requirements and identifying major transformations. It shows the flow of data
through a system. These notations are given below:-
DATA FLOW:-
The data flow is used to describe the movement of information from one part of the
system to another part. Data flow is represented by an arrow.

PROCESS:-
A circle or bubble represents a process that transforms incoming data to outgoing
data. Process shows a part of the system that transform inputs to outputs.
29
PAge
Online Examination System

EXTERNAL ENTITY:-
A square defines a source or destination of system data. External entities represent
any entity that supplies or receive information from the system but is not a part of the
system.

DATA STORE:-
The data store represents a logical file. A logical file can represent either a data store
symbol which can represent either a data structure or a physical file on disk. The data
store is used to collect data at rest or a temporary repository of data. It is represented
by open rectangle.

OUTPUT:-
The output symbol is used when a hard copy is produced and the user of the copies
cannot be clearly specified or there are several users of the output.

Output

RULES FOR DFD:

 Fix the scope of the system by means of context diagrams.


 Organize the DFD so that the main sequence of the actions
 Reads left to right and top to bottom.
 Identify all inputs and outputs.
 Identify and label each process internal to the system with Rounded circles.
30
PAge
Online Examination System

 A process is required for all the data transformation and Transfers. Therefore,
never connect a data store to a data Source or the destinations or another data
store with just a Data flow arrow.
 Do not indicate hardware and ignore control information.
 Make sure the names of the processes accurately convey everything the
process is done.
 There must not be unnamed process.
 Indicate external sources and destinations of the data, with Squares.
 Number each occurrence of repeated external entities.
 Identify all data flows for each process step, except simple Record retrievals.
 Label data flow on each arrow.
 Use details flow on each arrow.
 Use the details flow arrow to indicate data movements.

DATAFLOW DIAGRAMS:

LEVEL ‘0’ DFD FOR ONLINE EXAMINATION

STUDENT EXAM TEST RECORD

Result Statements
31
PAge
Online Examination System

LEVEL ‘1’ DFD

STUDENT

Registr
Login Invalid User ation

Failed

Successfully
Students Profile Registered

Authenticate

Login Record
Welcome to
Examination

TAKE EXAM

No. of Questions
Compute

Subjects Selection

Calculate
Result

Student’s Name ,
Result Statements Semester, Subject,
Marks
32
PAge
Online Examination System

HOW THIS PROJECT WORKS?

STUDENT
WELCOME LOGIN IF (NOT REGISTER) -REGISTRATION CONTACT ABOUT US

DECIDE
IF (LOGIN) - EXAM
SUBJECT

NO OF
TAKE EXAM
QUESTIONS

RESULT

E-R Diagrams:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976
[Chen76] as a way to unify the network and relational database views. Simply stated
the ER model is a conceptual data model that views the real world as entities and
relationships. A basic component of the model is the Entity-Relationship diagram which
is used to visually represents data objects. Since Chen wrote his paper the model has
been extended and today it is commonly used for database design For the database
designer, the utility of the ER model is:

 it maps well to the relational model. The constructs used in the ER model can easily
be transformed into relational tables.

 it is simple and easy to understand with a minimum of training. Therefore, the model
can be used by the database designer to communicate the design to the end user.

 In addition, the model can be used as a design plan by the database developer to
implement a data model in a specific database management software.
33
PAge
Online Examination System

Binary Relationship and Cardinality

A relationship where two entities are participating is called a binary relationship.


Cardinality is the number of instance of an entity from a relation that can be associated
with the relation.

 One-to-one − When only one instance of an entity is associated with the


relationship, it is marked as '1:1'.

 One-to-many − When more than one instance of an entity is associated with a


relationship, it is marked as '1:N'.

 Many-to-one − When more than one instance of entity is associated with the
relationship, it is marked as 'N:1'.

 Many-to-many − When more than one instance of an entity on the left and more
than one instance of an entity on the right can be associated with the relationship.
It depicts many-to-many relationship.
34
PAge
Online Examination System
Participation Constraints

 Total Participation − Each entity is involved in the relationship.


 Partial participation − Not all entities are involved in the relationship.

ER Notation:

There is no standard for representing data objects in ER diagrams. Each


modeling methodology uses its own notation. The original notation used by Chen is
widely used in academics texts and journals but rarely seen in either CASE tools or
publications by non-academics. Today, there are a number of notations used, among
the more common are Bachman, crow's foot, and IDEFIX.

All notational styles represent entities as rectangular boxes and relationships as


lines connecting boxes. Each style uses a special set of symbols to represent the
cardinality of a connection. The notation used in this document is from Martin. The
symbols used for the basic ER constructs are:

 entities are represented by labeled rectangles. The label is the name of the entity.
Entity names should be singular nouns.
 relationships are represented by a solid line connecting two entities. The name of
the relationship is written above the line. Relationship names should be verbs
 attributes, when included, are listed inside the entity rectangle. Attributes which
are identifiers are underlined. Attribute names should be singular nouns.
 cardinality of many is represented by a line ending in a crow's foot. If the crow's
foot is omitted, the cardinality is one.
 existence is represented by placing a circle or a perpendicular bar on the line.
Mandatory existence is shown by the bar (looks like a 1) next to the entity for an
instance is required. Optional existence is shown by placing a circle next to the
entity that is optional
35
PAge
Online Examination System

ER DIAGRAMS:

Application
Address

Process

Use
Home Page
Name of Org. MITHUN
contact

JODHVEER
User About Us

Password login Register


Data Strucrure

Registration

Password
Examination Perform

Re-Password

Country
E-mail Add.
Compute

Process Result
Process

36
PAge
Online Examination System

37
PAge
Online Examination System

Software Testing is evaluation of the software against requirements gathered from


users and system specifications. Testing is conducted at the phase level in software
development life cycle or at module level in program code. Software testing comprises
of Validation and Verification.

Target of the test are -

• Errors - These are actual coding mistakes made by developers. In addition, there
is a difference in output of software and desired output, is considered as an error.
• Fault - When error exists fault occurs. A fault, also known as a bug, is a result of
an error which can cause system to fail.
• Failure - failure is said to be the inability of the system to perform the desired task.
Failure occurs when fault exists in the system.

Testing Approaches
Tests can be conducted based on two approaches –

• Functionality testing - When functionality is being tested without taking the actual
implementation in concern it is known as black-box testing.
• Implementation testing- The Implementation testing is known as white-box testing
where not only functionality is tested but the way it is implemented is also analyzed.

Black-box testing

It is carried out to test functionality of the program. It is also called ‘Behavioral’ testing.
The tester in this case, has a set of input values and respective desired results. On
providing input, if the output matches with the desired results, the program is tested
‘ok’, and problematic otherwise. Black box testing is designed to validate functional
requirements without regard to the internal workings of a program.
38
PAge
Online Examination System

In this testing method, the design and structure of the code are not known to the tester,
and testing engineers and end users conduct this test on the software.

Black-box testing techniques:


• Equivalence class –
The input is divided into similar classes. If one element of a class passes the test, it
is assumed that all the class is passed.
• Boundary values –
The input is divided into higher and lower end values. If these values pass the test, it
is assumed that all values in between may pass too.
• Cause-effect graphing –
In both previous methods, only one input value at a time is tested. Cause (input) –
Effect (output) is a testing technique where combinations of input values are tested
in a systematic way.
• Pair-wise Testing –
The behavior of software depends on multiple parameters. In pairwise testing, the
multiple parameters are tested pair-wise for their different values.
• State-based testing –
The system changes state on provision of input. These systems are tested based on
their states and input.
39
PAge
Online Examination System

White-box testing

It is conducted to test program and its implementation, in order to improve code


efficiency or structure. It is also known as ‘Structural’ testing. White box testing focus
on the program control structure. Test cases are derived to ensure that all statements in
the program have been executed at least once during testing and that all logical
conditions have been executed.

In this testing method, the design and structure of the code are known to the tester.
Programmers of the code conduct this test on the code.

The below are some White-box testing techniques:

• Control-flow testing –

The purpose of the control-flow testing to set up test cases which covers all statements
and branch conditions. The branch conditions are tested for both being true and false,
so that all statements can be covered.

• -pt
• Data-flow testing -

This testing technique emphasis to cover all the data variables included in the program.
It tests where the variables were declared and defined and where they were used or
changed.
Online Examination System

Testing Strategies

Testing separately is done just to make sure that there are no hidden bugs or issues left
in the software. Software is tested on various levels –

 Unit Testing
While coding, the programmer performs some tests on that unit of program to know
if it is error free. Testing is performed under white-box testing approach. Unit
testing helps developers decide that individual units of the program are working as
per requirement and are error free.

 Integration Testing
Even if the units of software are working fine individually, there is a need to find
out if the units if integrated together would also work without errors. For example,
argument passing and data updating etc.

 System Testing
The software is compiled as product and then it is tested as a whole. This can be
accomplished using one or more of the following tests:-
 Functionality testing - Tests all functionalities of the software against the
equirement.
 Performance testing - This test proves how efficient the software is. It tests the
effectiveness and average time taken by the software to do desired task.
Performance testing is done by means of load testing and stress testing where the
software is put under high user and data load under various environment
conditions.
 Security & Portability - These tests are done when the software is meant to
work on various platforms and accessed by number of persons.

 Acceptance Testing
When the software is ready to hand over to the customer it has to go through last
phase of testing where it is tested for user-interaction and response. This is
important because even if the software matches all user requirements and if user
does not like the way it appears or works, it may be rejected.
Online Examination System

 Alpha testing - The team of developer themselves perform alpha testing by using
the system as if it is being used in work environment. They try to find out how
user would react to some action in software and how the system should respond
to inputs.
 Beta testing - After the software is tested internally, it is handed over to the users
to use it under their production environment only for testing purpose. This is not
as yet the delivered product. Developers expect that users at this stage will bring
minute problems, which were skipped to attend.
 Regression Testing
Whenever a software product is updated with new code, feature or functionality, it is
tested thoroughly to detect if there is any negative impact of the added code. This is
known as regression testing.

Testing Documentation-
Testing documents are prepared at different stages –
Before Testing
Testing starts with test cases generation. Following documents are needed for reference –
 SRS document –
Functional Requirements document
 Test Policy document –
This describes how far testing should take place before releasing the product.
 Test Strategy document –
This mentions detail aspects of test team, responsibility matrix and
rights/responsibility of test manager and test engineer.
 Traceability Matrix document –
This is SDLC document, which is related to requirement gathering process. As
new requirements come, they are added to this matrix. These matrices help testers
know the source of requirement. They can be traced forward and backward.
42
PAge
Online Examination System

While Being Tested


The following documents may be required while testing is started and is being done:
 Test Case document –
This document contains list of tests required to be conducted. It includes Unit test
plan, Integration test plan, System test plan and Acceptance test plan.

 Test description –
This document is a detailed description of all test cases and procedures to execute
them.

 Test case report –


This document contains test case report as a result of the test.

 Test logs –
This document contains test logs for every test case report.

After Testing
The following documents may be generated after testing:
 Test summary –
This test summary is collective analysis of all test reports and logs. It summarizes
and concludes if the software is ready to be launched. The software is released
under version control system if it is ready to launch.

43
PAge
Online Examination System

44
PAge
Online Examination System

1- DECLARATION PAGE

45
PAge
Online Examination System

1.1- DECLINE PAGE

46
PAge
Online Examination System

2- HOME PAGE

47
PAge
Online Examination System

3- LOGIN PAGE

48
PAge
Online Examination System

3.1- EXAMINATION WELL COME PAGE

49
PAge
Online Examination System

3.1.1- SUBJECT SELECTION PAGE

50
PAge
Online Examination System

3.1.1- EXAMINATION PAGE

51
PAge
Online Examination System

3.1.1- RESULT PAGE

52
PAge
Online Examination System

3.2- REGISTRATION PAGE

53
PAge
Online Examination System

3.2.1- REGISTRATION SUCCESS PAGE

54
PAge
Online Examination System

4- CONTACT US PAGE

55
PAge
Online Examination System

4.1- CONTACT REQUEST SUBMIT PAGE

56
PAge
Online Examination System

5- ABOUT DEVELOPER PAGE

57
PAge
Online Examination System

ALARTS SCREEN

1. WITHOUT LOGIN CLICK EXAM ICON

2. ALARTS UNDER EXAM POINT PAGE

58
PAge
Online Examination System

59
PAge
Online Examination System

3. ALARTS UNDR SUBJECT CHOICE PAGE

60
PAge
Online Examination System

4. ALARTS UNDER EXAMINATION PAGE

61
PAge
Online Examination System

62
PAge
Online Examination System

CONCLUSION:

The package was designed in such a way that future modifications can be done
easily. The following conclusions can be deduced from the development of the
project.

 This Web Application provides facility to conduct online examination


worldwide.
 It saves time as it allows number of students to give exam at a time and
display the results as the test gets over, so no need to wait for the result.
 It is automatically generated by the server.
 Automation of the entire system improves the efficiency
 It provides a friendly graphical user interface which proves to be better
when compared to the existing system.
 It gives appropriate access to the authorized users depending on their
permissions.
 System security, data security and reliability are the striking features.
 User can register, login and give the exam with his specific id. and can see
the results as well.
63
PAge
Online Examination System

64
PAge
Online Examination System

FUTURE ENHANCEMENTS:

Developments in software technology are continuing dynamically.


This has forced developers to look for new approaches to design and development.

The future versions of the website will be having a better database to handle larger
number of records, in a more secure way. Time Limit and also separate profile
will be maintained later for all students so that he can view all his previous test
performances.

Well I and my team members have worked hard in order to present an


improved website better than the existing one’s regarding the information about
the various activities. Still, we found out that the project can be done in a better
way.
.

65
PAge
Online Examination System

66
PAge
Online Examination System

BIBLIOGRAPHY

The following books were referred during the analysis and execution phase of
the project

 Books Referred:

 BEGINNING PHP 5
-- DAVE MERCER

 HTML BLACK BOOK


-- STEVEN HOLZNER

 PHP AND MYSQL WEB DEVELOPMENT


-- LUKEWELLING, LAURA

 THE COMPLETE REFERENCE SQL SECOND EDITION


-- JAMES R. GROFF AND PAUL N. WEINBERG

 PHP IN A NUTSHELL
-- PAUL HUDSON

 Websites Referred:

http://www.phptpoit.com
https://www.tutorialspoint.com

Mithun
ndal Digitally signed
by Mithun Mandal

67
Date: 2018.01.11
00:32:25 +05'30'

PAge

You might also like