E-Learning (Web Based Learning System) : in Computer Science and Engineering
E-Learning (Web Based Learning System) : in Computer Science and Engineering
E-Learning (Web Based Learning System) : in Computer Science and Engineering
Degree of
Bachelor of Engineering
in
Computer Science and Engineering
by
Yashraj Nigam (0832CS141182)
Vinay Nagar (0832CS141174)
Shubham Rathore (0832CS141174)
Session: 2017-18
Department of Computer Science & Engineering
Chameli Devi Group of Institutions, Indore
452 020 (Madhya Pradesh)
I
DECLARATION
We certify that the work contained in this report is original and has been done by us under the
guidance of my supervisor(s).
a. The work has not been submitted to any other Institute for any degree or diploma.
b. We have followed the guidelines provided by the Institute in preparing the report.
c. We have conformed to the norms and guidelines given in the Ethical Code of Conduct
of the Institute.
d. Whenever we have used materials (data, theoretical analysis, figures, and text) from
other sources, we have given due credit to them by citing them in the text of the report
and giving their details in the references.
II
CHAMELI DEVI GROUP OF INSTITUTIONS, INDORE
CERTIFICATE
Certified that the project report entitled, “E-Learning (web based learning system)” is a
bonafide work done under my guidance by Shubham Rathore, Vinay Nagar,Yashraj
Nigam in partial fulfillment of the requirements for the award of degree of Bachelor of
Engineering in Computer Science And Engineering.
Guide
__________________________ _________________________
__________________________ _________________________
III
CHAMELI DEVI GROUP OF INSTITUTIONS
INDORE
ACKNOWLEDGEMENT
We have immense pleasure in expressing our sincerest and deepest sense of gratitude towards
our guide Mrs. Ankita Singh for the assistance, valuable guidance and co- operation in
carrying out this Project successfully. We have developed this project with the help of
Faculty members of our institute and we are extremely grateful to all of them. We also take
this opportunity to thank Head of the Department Prof. Shailendra Kumar Mishra, and Dean
of Chameli Devi Group of Institutions, Dr. K.S. Jairaj , for providing the required facilities in
completing this project. We are greatly thankful to our parents, friends and faculty members
for their motivation, guidance and help whenever needed.
2. Vinay Nagar…………………………………………………………….
3. Shubham Rathore…………………………………………………………….
IV
LIST OF FIGURES
LIST OF TABLES
V
TABLE OF CONTENTS
Chapter-3
Analysis & Design 8
3.1 System Design of E-learning …………………………………………… 8
3.2 General task involved in the design process ……………………………...... 8
3.3 Project Category………………………..…………………………………………………. 9
3.4 Project Planning……………………………………………………………………………. 10
3.5 Steps for successful software project………………………………………….. 11
3.6 Project Scheduling……………………………………………………………………… 12
3.7 Project Profile……………………………………………………………………………… 13
3.8 Use Case Model of the Project…………………………………………………… 14
VI
3.9 Dataflow Diagram…………………………………………………………………………. 16
3.10 E-R Diagram……………………………………………………………………………….. 18
Chapter-4
Construction 20
4.1 Implementation and Software Specification Testing…………………… 20
4.2 Programming and testing……………………………………………………………… 20
4.3 Steps of software testing……………………………………………………………… 22
4.4 System Testing……………………………………………………………………………… 23
4.5 Existing System of E-learning………………………………………………………… 24
4.6 Proposed System of E-learning………………………………………………….. 24
4.7 Description of Technology Used………………………………………………… 25
4.8 Tools And Platform……………………………………………………………………. 28
Chapter-5
Conclusion & Future Works 29
5.1 Conclusion of the Project E-learning …………………………………………… 29
5.2 Future Scope of the Project ………………………………..…………………...... 30
Chapter-6
Codes & Snapshots 32
6.1 JSP Codes …………………………………………………………………………………… 32
6.2 Snapshots of the project ………………………………..…………………...... 45
References 58
Notes 60
VII
Introduction
Chapter-1
Introduction of the Project E-learning Management System
The "E-learning Management System" has been developed to override the problems
prevailing in the practicing manual system. This software is supported to eliminate and in
some cases reduce the hardships faced by this existing system. Moreover this system is
designed for the particular need of the company to carry out operations in a smooth and
effective manner.
The application is reduced as much as possible to avoid errors while entering the data. It
also provides error message while entering invalid data. No formal knowledge is needed
for the user to use this system. Thus by this all it proves it is user-friendly. E- Learning
Management System, as described above, can lead to error free, secure, reliable and fast
management system. It can assist the user to concentrate on their other activities rather to
concentrate on the record keeping. Thus it will help organization in better utilization of
resources.
Every organization, whether big or small, has challenges to overcome and managing the
information of Student, Assignment, QUIZ, CLASS, and QUESTION. Every E-learning
Management System has different Assignment needs, therefore we design exclusive
employee management systems that are adapted to your managerial requirements. This is
designed to assist in strategic planning, and will help you ensure that your organization is
equipped with the right level of information and details for your future goals. Also, for
those busy executive who are always on the go, our systems come with remote access
features, which will allow you to manage your workforce anytime, at all times. These
systems will ultimately allow you to better manage resources.
The purpose of E-learning Management System is to automate the existing manual system
by the help of computerized equipment’s and full-fledged computer software, fulfilling
their requirements, so that their valuable data/information can be stored for a longer period
with easy accessing and manipulation of the same. The required software and hardware are
easily available and easy to work with. E-learning Management System, as described
above, can lead to error free, secure, reliable and fast management system. It can assist the
user to concentrate on their other activities rather to concentrate on the record keeping.
Thus it will help organization in better utilization of resources. The organization can
maintain computerized records without redundant entries. That means that one need not be
distracted by information that is not relevant, while being able to reach the information.
• E-learning Management System also manage the CLASS details online for QUIZ
details, QUESTION details, Assignment.
Our project aims at Business process automation, i.e. we have tried to computerize
various processes of E-learning Management System.
• In computer system the person has to fill the various forms & number of
copies of the forms can be easily generated at a time.
• To assist the staff in capturing the effort spent on their respective working
areas.
• The system generates types of information that can be used for various
purposes.
• Be expandable
• You can easily export PDF for the Assignment, CLASS, and QUIZ
• You can also export the report into csv format for Assignment, Student, and
QUESTION.
Focused Modules:
o Registration:-
In this, first the interested students get registered by selecting their desired username and
password and by providing the necessary details.
Then each user profile will be maintained which can be edited by the user when desired.
Each person will register only one time. Details of each person along with their username
and password is saved permanently in the database.
o Login:-
After providing the correct username and password, the user log’s in to the e-Learning
system’s homepage. There the user can select the available subjects to further learn about
them. If user enter wrong username or password then they block their account temporary
and after some security verification they will able to access their account.
o Homepage:-
After providing the correct username and password, the user log’s in to the e-Learning
system’s homepage. Here at the homepage there are many choice for user to learn different
languages like C, C++ ,Java etc.
o Quiz: - user play the quiz on appropriate language and immediately take the
result. On each question user get the marks, there is no negative marking in
quiz.
1.5 Objective
The main objective behind this project is to provide a user friendly environment to provide
knowledge and give everyone a chance to learn, irrespective of where they are, provided
they register themselves with the system.
The main features that the system provides can be made use of, once the registered people
select their interested subject and take a starter test. This helps to establish incremental
learning process. After taking this, based on their level of competence, they can take
available tutorials, take online tests and also discuss an issue/topic by posting messages in
the discussion forum. Along with this they can also take real time simulations of the most
widely known competitive exams.
Chapter-2
Requirement Engineering
• System needs to help the internal staff to keep information of Student and find
them as per various queries.
Chapter-3
Analysis & Design
In this phase, a logical system is built which fulfils the given requirements. Design phase
of software development deals with transforming the client’s requirements into a
logically working system. Normally, design is performed in the following in the
following two steps:
In this phase, the system is designed at block level. The blocks are created on the basis of
analysis done in the problem identification phase. Different blocks are created for
different functions emphasis is put on minimizing the information flow between blocks.
Thus, all activities which require more interaction are kept in one block.
G. System reviews.
1) Within the organization: How the project is to be implemented? What are various
constraints (time, cost, and staff)? What is market strategy?
2) With respect to the customer: weekly or timely meetings with the customer with
presentation on status reports. Customer’s feedback is also taken and further modification
and developments are done. Project milestones and deliverables are also presented to the
customer.
3.5 For a successful software project the following steps can be followed:
Select a project
Identifying project's aims and objectives.
Understanding requirements and specification
Methods Of analysis, design and implementation
Testing techniques
Documentation
Project milestones and deliverables
Budget allocation
o Exceeding limits within control
Project Estimates
o Cost
o Time
o Size of code
o Duration
Resource Allocation
o Hardware
o Software
o Previous relevant project information
o Digital Library
Risk Management
o Risk avoidance
o Risk detection
An elementary Gantt chart or Timeline chart for the development plan is given below. The
plan explains the tasks versus the time (in weeks) they will take to complete.
There has been continuous effort to develop tools, which can ease the process of software
development. But, with the evolving trend of different programming paradigms today's software
developers are really challenged to deal with the changing technology. Among other issues,
software re-engineering is being regarded as an important process in the software development
industry. One of the major tasks here is to understand software systems that are already developed
and to transform them to a different software environment. Generally, this requires a lot of manual
effort in going through a program that might have been developed by another programmer.
This project makes a novel attempt to address the issue of program analysis and generation of
diagrams, which can depict the structure of a program in a better way. Today, UML is being
considered as an industrial standard for software engineering design process. It essential provides
several diagramming tools that can express different aspects/ characteristics of program such as
Use cases: Elicit requirement from users in meaningful chunks. Construction planning is
built around delivering some use cases n each interaction basis for system testing.
Class diagrams: shows static structure of concepts, types and class. Concepts how users
think about the world; type shows interfaces of software components; classes shows
implementation of software components.
State diagram: show how single object behaves across many use cases.
Activity Diagram: shows behavior with control structure. Can show many objects over
many uses, many object in single use case, or implementation methods encourage parallel
behavior etc. The end-product of this project is a comprehensive tool that can parse any
vb.net program and extract most of the object oriented features inherent in the program
such as polymorphism, inheritance, encapsulation and abstraction.
What is UML?
UML stands for Unified Modeling Language is the successor to the wave of Object Oriented
Analysis and Design (OOA&D) methods that appeared in the late 80's. It most directly unifies the
methods of Booch, Rumbaugh (OMT) and Jacobson. The UML is called a modeling language,
not a method. Most methods consist at least in principle, of both a modeling language and a
process. The Modeling language is that notation that methods used to express design.
Class-Diagram:
The class diagram technique has become truly central within object- oriented methods. Virtually
every method has included some variation on this technique. Class diagram is also subject to the
greatest range of modeling concept. Although the basic elements are needed by everyone,
advanced concepts are used less often.
A class diagram describes the types of objects in the system and the various kinds of static
relationship that exist among them. There are two principal kinds of static relationship:
• Association
• Subtype
Class diagram also show the attributes and operations of a class and the constraints that apply to
the way objects are connected.
The use case model for any system consists of "use cases". Use cases represent
different ways In which the system can be used by the user. A simple way to find
all the use case of a system is to ask the questions "What the user can do using the
system?" The use cases partition the system behavior into transactions such that
each transaction performs some useful action from the users' point of view.
The purpose of the use case to define a piece of coherent behavior Without
revealing the internal structure of the system. An use case typically represents a
sequence of interaction between the user and the system. These interactions consists
of one main line sequence is represent the normal interaction between the user and
the system. The use case model is an important analysis and design artifact
(task).Use cases can be represented by drawing a use case diagram and writing an
accompany text elaborating the drawing.
In the use case diagram each use case is represented by an ellipse with the name of
use case written inside the ellipse. All the ellipses of the system are enclosed with
in a rectangle which represents the system boundary. The name of the system being
module appears inside the rectangle. The different users of the system are
represented by using stick person icon. The stick person icon is normally referred
to as an Actor. The line connecting the actor and the use cases is called the
communication relationship. When a stick person icon represents an external
system it is annotated by the stereo system>>.
Data flow diagram IS the starting point of the design phase that functionally decomposes
the requirements specification. A DFD consists of a series of bubbles joined by lines. The
bubbles represent data transformation and the lines represent data flows in the system. A
DFD describes what data flow rather than how they are processed, so it does not hardware,
software and data structure.
This basic DFD can be then disintegrated to a lower level diagram demonstrating smaller
steps exhibiting details of the system that IS being modeled. On a DFD, data Items flow
from an external data source or an internal data store to an internal data store or an external
data sink, via an internal process. It is common practice to draw a mntext-level data flow
diagram first, which shows the interaction between the system and external agents, which
act as data sources and data sinks. On the context diagram (also known as the Level O
DFD'), the system's Interactions With the outside world are modeled purely in terms of
data flows across the system boundary. The context diagram shows the entire system as a
Single process, and gives no clues as to its internal organization.
This context-level DFD is next "exploded", to produce a Level 1 DFD that shows some of
the detail of the system being modeled. The Level 1 DFD shows how the system is divided
into sub-systems (processes), each of which deals with one or more of the data flows to or
from an external agent, and which together provide all of the functionality of the system as
a whole. The level 1 DFD is further speeded and split into more descriptive and detailed
description about the project as level 2 DFD. The level 2 DFD can be a number of data
flows which will finally show the entire description of the software project.
Entity Relationship Diagram: E-R Model is a popular high level conceptual data
model. This model and its variations are frequently used for the conceptual design of
database application and many database design tools employ its concept.
• Attributes
• Relations
o Many-to-many
o Many-to-one
o One-to-many
o One-to-one
• Weak entities
Chapter-4
Construction
Detailed Design of Implementation: This phase of the systems development life cycle
refines hardware and software specifications, establishes programming plans, trains
users and implements extensive testing procedures, to evaluate design and operating
specifications and/or provide the basis for further modification.
• Technical Design: This activity builds upon specifications produced during new
system design, adding detailed technical specifications and documentation.
This activity encompasses actual development, writing, and testing of program units or
modules.
User Training
This activity encompasses writing user procedure manuals, materials, conducting training
programs, and testing procedures.
Acceptance Test
A final procedural review to demonstrate a system and secure user approval before a
system becomes operational.
Installation phase
In this phase the new Computerized system is installed, the conversion to new procedures
is fully implemented, and the potential of the new system is explored.
System Installation
The process of starting the actual use of a system and training user personnel in its
operation.
Review Phase
This phase evaluates the successes and failures during a systems development project, and
to measure the results of a new Computerized Transystem in terms of benefits and savings
projected at the start of the project.
Development Recap
Post-Implementation Review
A review, conducted after a new system has been in operation for some time, to evaluate
actual system performance against original expectations and projections for cost-benefit
improvements. Also identifies maintenance projects to enhance or improve the system.
b) Preparation of the possible test data with all the validation checks.
The unit testing done included the testing of the following items:
After completing the Unit testing of all the modules, the whole system is integrated with
all its dependencies in that module. While System Integration, We integrated the modules
one by one and tested the system at each step. This helped in reduction of errors at the time
of the system testing.
Preparation of the possible test data with all the validation checks.
4.4 The System Testing done included the testing of the following items:
3. Testing the dependent modules together with all the possible test data scripts.
In the existing system the exams are done only manually but in proposed system we have
to computerize the exams using this application.
Time consuming.
The aim of proposed system is to develop a system of improved facilities. The proposed
system can overcome all the limitations of the existing system. The system provides proper
security and reduces the manual work.
Security of data.
Greater efficiency.
Better service.
1) Java Server Pages (JSP) :- java server pages as compared to the servlet are more
comfortable and less complex when we deal with the html logics.
Java server pages in java are also dynamic pages.
Java server pages are pure HTML by default but it support java code too.
Java Server Pages are built on top of the Java Servlets API,
So like Servlets, JSP (Java Server Pages) also has access to all the powerful Enterprise
java APIs, including the JDBC, JNDI, EJB or etc.
JSP pages can be used in combination with servlets that handle the business logic, the
model supported by Java servlet template engines.
2) Eclipse
3) Tomcat-Server
Tomcat is reference implementation of the JSP and Servlet specifications
Its open source development model helps fix bugs by the developers themselves
Apache Tomcat, often referred to as Tomcat Server, is an open-source Java
servlet Container developed by the Apache Software Foundation(ASF).
4) HTML
HTML is the standard markup language for creating Web pages. HTML stands
for Hyper Text Markup Language. HTML describes the structure of Web pages
using markup. HTML elements are the building blocks
of HTML pages. HTML elements are represented by tags.
5) CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the
presentation of a document written in a markup language.
6) JAVA-SCRIPT
JavaScript is a lightweight, interpreted programming language. It is designed for
creating network-centric applications. It is complimentary to and integrated with
Java.
JavaScript is very easy to implement because it is integrated with HTML. It is
open and cross-platform.
Chapter-5
Conclusion & Future Works
Our project is only a humble venture to satisfy the needs to manage their project work. Several
user friendly coding have also adopted. This package shall prove to be a powerful package in
satisfying all the requirements of the school. The objective of software planning is to provide
a frame work that enables the manger to make reasonable estimates made within a limited time
frame at the beginning of the software project and should be updated regularly as the project
progresses.
In a nutshell, it can be summarized that the future scope of the project circles around
maintaining information regarding:
The above mentioned points are the enhancements which can be done to increase the
applicability and usage of this project. Here we can maintain the records of Assignment
and Student. Also, as it can be seen that now-a-days the players are versatile, i.e. so there
is a scope for introducing a method to maintain the E-learning Management System.
Enhancements can be done to maintain all the Assignment, Student, TEACHER, QUIZ,
QUESTION.
We have left all the options open so that if there is any other future requirement in the
system by the user for the enhancement of the system then it is possible to implement them.
ln the last we would like to thanks all the persons involved in the development of the system
directly or indirectly. We hope that the project will serve its purpose for which it is develop
there by underlining success of process.
Chapter-6
Codes & Snapshots
A. register.jsp
<%@page import="java.sql.*"%>
pageEncoding="ISO-8859-1"%>
<html>
<head>
<meta charset="utf-8">
<script src=js/jquery-3.2.0.min.js></script>
<script src="js/bootstrap.js"></script>
</head>
<body style="background-color:wheat">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div id=to1>
</div>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<li><a href="login.html">Login</a></li>
<li><a href="index.html">Signup</a></li>
</ul>
</div>
</div>
</nav>
<h5 >You have registered successfully you can login by clicking login
button.</h5>
</div>
<%
String u=request.getParameter("uid");
String p=request.getParameter("pwd");
String m=request.getParameter("mail");
String c=request.getParameter("cno");
String f=request.getParameter("fn");
String l=request.getParameter("ln");
String d=request.getParameter("dob");
try
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/learning","root","12345
6");
ps.setString(1, u);
ps.setString(2, p);
ps.setString(3, m);
ps.setString(4, c);
ps.setString(5, f);
ps.setString(6, l);
ps.setString(7, d);
int i=0;
i=ps.executeUpdate();
if(i==0)
%>
<jsp:forward page="register.html"></jsp:forward>
<%
else
%>
<br>
<hr>
<li>
</li>
</ul>
</div>
<%
catch(Exception e)
%>
</body>
</html>
B. dologin.jsp
<%@page import="java.sql.*"%>
pageEncoding="ISO-8859-1"%>
<html>
<head>
</head>
<body>
<%
String t=request.getParameter("txt");
String p=request.getParameter("pwd");
try
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/learning","root","12
3456");
ps.setString(1, t);
ps.setString(2, p);
ResultSet rs=ps.executeQuery();
if(rs.next())
session.setAttribute("idkey",t);
%>
<jsp:forward page="learn.jsp"></jsp:forward>
<%
else
%>
<jsp:forward page="login.html"></jsp:forward>
<% }
catch(Exception e)
%>
</body>
</html>
C. Exam.jsp
pageEncoding="ISO-8859-1"%>
<html>
<head>
<meta charset="utf-8">
<script src=js/jquery-3.2.0.min.js></script>
<script src="js/bootstrap.js"></script>
</head>
<body style="background-color:wheat">
<%!
ResultSet rs=null;
%>
<%
try
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/learning","root","12
3456");
rs=ps.executeQuery();
if(rs.next())
%>
<div class=container>
<%
do
%>
<h4>Q. <%=rs.getString(2)
%></h4><br>
<ul>
<li1><input type="radio"
name="<%=rs.getString(1) %>" value="a" id="<%=rs.getString(1) %>a" />
<%=rs.getString(3) %></li><br>
<li1><input type="radio"
name="<%=rs.getString(1) %>" value="b" id="q1b"/><%=rs.getString(4)
%></li><br>
<li1><input type="radio"
name="<%=rs.getString(1) %>" value="c" id="q1c"/><%=rs.getString(5)
%></li><br>
<li1><input type="radio"
name="<%=rs.getString(1) %>" value="d" id="q1d"/><%=rs.getString(6) %></li>
</ul>
<select>
<option
><%=rs.getString(7)%></option>
</select>
<hr>
<%
}while(rs.next());
%>
</form>
</section>
</div>
<%
else
%>
<h1 align="center">Wrong</h1>
<%
catch(Exception e)
e.printStackTrace();
%>
<div class=container>
<div class="navbar-header">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
</ul>
</div>
</div>
</div>
<div class=container-fluid>
<p class="bg-primary">Here, You can also read prepared Questions based on the
programming languages.</p>
</div>
</div>
</body>
</html>
6.2 Appendix A
<<Snapshots of the project>>
Snapshot 1 Signup
Snapshot 2 Features
Snapshot 6 Courses
REFERENCES
Kalantzis, Mary and Bill Cope. 2015. "Learning and New Media." Pp. 373-387
in The Sage Handbook of Learning, edited by D. Scott and E. Hargreaves.
Thousand Oaks CA: Sage. | download
Cope, Bill and Mary Kalantzis. 2015. "Assessment and Pedagogy in the Era of
Machine-Mediated Learning."
NOTES