course management system
DESCRIPTION
projectTRANSCRIPT
1. INTRODUCTION
This project titled Online Course Portal for a Campus is a web
based application for the online implementation which can be used for a
campus or organization for proving it for usage by all the people means to use
it at any moment and at any time from any place.
The project serve administrator to view the details of faculty and
students and maintain their database in an efficient and effective manner so
that their maintenance will be easy.
The services providing for administrator are approving the faculty and
students, maintain the personal details of faculty and students, add/delete the
courses, consign a announcement regarding the course, activate the exam
paper for a test, view the discussion board and feedbacks, provides
certification to the students and salaries to the faculty.
The services provided to the faculty are the faculty can view and
update their personal details, upload the content for a course, conduct a test for
the students, and places key and results of a test, view the discussion board
and feedbacks and reply to the students.
The services provided to the students are view and update their details,
view the content of a course, take a test and view the key and result of a exam,
add/view the discussion, gives feedback to the admin or faculty.
Whenever anything is modified by the users, then the modified data,
about the person who updated is maintained in the database. By this we are
providing security to the users.
1
The Online Course Portal for a Campus systems will include
1.1 ADMINISTRATOR
To create a course, by providing the course title and description.
To approve faculty members for a Course.
To maintain the details of faculty members and student of a
Course.
To view all the students and faculty members.
To view and publish announcements regarding course.
To view discussion board.
To view the course content.
Scheduling the work.
Receiving the Feedbacks.
1.2 FACULTY
To view their profile.
To view their salary details.
To view all the students of a course.
Providing the course content to the students.
To view the course content.
To create course announcements.
To view discussion board.
Conducting tests of multiple choice questions to the students of a
course.
To maintain exam key and exam result.
2
1.3 STUDENT
To view / update their profile.
To update their password.
To register to a course.
To view announcements and discussion board.
To take a test.
To view contents of a course.
To mail feedback.
3
2. SOFTWARE AND HARDWARE REQUIREMENTS
2.1 HARDWARE REQUIREMENTS
Server
Ram : 512MB
Hard Disk : 40GB
Processor : Pentium– II processor or equivalent
Client
Ram : 128MB
Hard Disk : 20GB
Processor : Any Processor
2.2 SOFTWARE REQUIREMENTS
Server
Operating System : Windows NT /95/98/XP
Database : Oracle8i
Web Server : Apache Tomcat 4.0/0.5
Client
Operating System : Any Operating System with
IE 5.0/0.6 is supported.
Browser : Internet Explorer Version 5.0/0.6
4
3. SOFTWARE REQUIREMENT ANALYSIS
3.1 FEASIBILITY STUDY
Feasibility study is an important phase in the software development
process. It enables the developer to have an assessment of the product being
developed It refers to the feasibility study of the product in terms of outcomes
of the product, operational use and technical support required for
implementing it.
Feasibility study should be performed on the basis of various criteria
and parameters. The various feasibility studies are:
Economic Feasibility
Operational Feasibility
Technical Feasibility
3.1.1 ECONOMIC FEASIBILITY
It refers to the benefits or outcomes we are deriving from the product
compared to the total cost we are spending for developing the product. If the
benefits are more or less the same as the older system, then it is not feasible to
develop the product.
In the present system, the development of the new product greatly
enhances the accuracy of the system and cuts short the delay in the processing
of application.
5
The errors can be greatly reduced and at the same time providing a
great level of security. Here we don’t need any additional equipment except
memory of required capacity. No need for spending money on client for
maintenance because the database used is web enabled database.
3.1.2 OPERATIONAL FEASIBILITY
It refers to the feasibility of the product to be operational. Some
products may work very well at design and implementation but may fail in the
real time environment. It includes the study of additional human resource
required and their technical expertise.
In the present system, all the operations can be performed easily
compared to existing system and supports for the backlog data. Hence there is
need for additional analysis. It was found that the additional modules added
are isolated modules as far as the operational is concerned, so the Developed
system is operationally feasible.
3.1.3 TECHNICAL FEASIBILITY It refers to whether the software that is available in the market fully
supports the present application. It studies the pros and cons of using
particular software for the development and its feasibility. It also studies the
additional training needed to be given to the people to make the application
work.
In the present system, the user interface is user friendly and does not
require much expertise and training. It just needs a mouse click to do any sort
of application. The software that is used for developing is server pages fully
are highly suitable for the present application since the users require fast
access to the web pages and with a high degree of security. This is achieved
through integration of web server and database server in the same
environment.
6
3.2 IMPLEMENTATION PLAN
The main plan for the system developed is to upgrading existing
system to the proposed system. There are mainly 4 methods of upgrading the
existing system to proposed
Parallel Run System
Direct Cut-Over System
Pilot System
Phase-in Method
3.2.1 PARALLEL RUN SYSTEM
It is the most secure method of converting from an existing to new
system. In this approach both the systems run in parallel for a specific period
of time. During that period if any serious problems were identified while using
the new system, the new system is dropped and the older system is taken at the
start point again.
3.2.2 DIRECT CUT -OVER METHOD
In this approach a working version of the system is implemented in one
part of the organization such as single work area or department. When the
system is deemed complete it is installed through out the organization either
all at once (direct cut-over) or gradually (phase-in).
3.2.3 PHASE-IN METHOD
In this method a part of the system is first implemented and over time
other remaining parts are implemented.
7
3.3 IMPLEMENTATION PLANED USED
The workflow Management system is developed on the basis of
“Parallel Run Method” because we upgraded the system, which is already in
use to fulfill the requirements of the client. The system already in use is
treated as the old system and the new system is developed on the basis of the
old system and maintained the standards processed by the older system. The
upgraded system is working well and is implemented on the client
successfully.
3.3.1 GENERAL METHODOLOGY IN DEVELOPING SOFTWARE PROJECT
The general methodology in developing a system in involved in
different phases, which describe the system’s life cycle model for developing
software project. The concept includes not only forward motion but also have
the possibility to return that is cycle back to an activity previously completed.
This cycle back or feedback may occur as a result of the failure with the
system to meet a performance objective or as a result of changes in
redefinition of system activities. Like most systems that life cycle of the
computer-based system also exhibits distinct phases.
Those are,
1. Requirement Analysis Phase
2. Design Phase
3. Development Phase
4. Coding Phase
5. Testing Phase
8
3.3.1.1 REQUIREMENT ANALYSIS PHASE
This phase includes the identification of the problem, in order to
identify the problem; we have to know information about the problem, the
purpose of the evaluation for problem to be known. We have to clearly know
about the client’s requirements and the objectives of the project.
3.3.1.2 DESIGN PHASE
Software design is a process through which the requirements are
translated into a representation of software. One of the software requirements
have been analyzed and specified, the software design involves three technical
activities: design, coding generation and testing. The design of the system is
in modular form i.e. the software is logically partitioned into components that
perform specific functions and sub functions. The design phase leads to
modules that exhibit independent functional characteristics.
It even leads to interfaces that reduce the complexity of the
connections between modules and with the external environment. The design
phase is of main importance because in this activity, decisions ultimately
affect the success of software implementation and maintenance.
3.3.1.3 DEVELOPMENT PHASE
The development phase includes choosing of suitable software to solve
the particular problem given. The various facilities and the sophistication in
the selected software give a better development of the problem.
3.3.1.4 CODING PHASE
The coding phase is for translating the design of the system-produced
during the design phase into code in a given programming language, which
can be executed by a computer and which performs the computation specified
by the design.
9
3.3.1.5 TESTING PHASE
Testing is done in various ways such as testing the algorithm,
programming code; sample data debugging is also one of following the above
testing.
3.4 EXISTING SYSTEM
Up to now the existing system is a system in which every thing is used
to maintain manually by the institution.
Drawbacks of Existing System
Limited to classroom.
Possibility of missing lectures.
At times, hesitation in asking doubts.
Major problem is to maintain the information of all the registered
users.
Conducting exam and announcing results for such courses is very hard
and it is a time consuming process.
Providing content for number of courses at a time is a tedious task.
3.5 PROPOSED SYSTEM
The proposed system is fully computerized, which removes all the
drawbacks of existing system. Proposed system is an online application that
can be accessed throughout the organization and outside as well with proper
login provided.
10
Advantages of the proposed system
Simulates an international classroom.
No possibility of missing lectures.
Discussion board will help u ask doubts in privacy.
All the information about the faculty and students can be maintained in
an efficient and effective manner.
Saves a lot of time by conducting exams at a time for particular courses.
Because this is also done in online.
The system contains all the up-to-date information and stores
information about all the latest courses and registered users.
11
4. SOFTWARE DESIGN
4.1 DESIGN
Design of software involves conceiving, planning out and specifying
the externally observable characteristics of the software product. We have data
design, architectural design and user interface design in the design process.
These are explained in the following section. The goal of design process is to
provide a blue print for implementation, testing and maintenance activities.
The primary activity during data design is to select logical
representations of data objects identified during requirement analysis and
software analysis. A data dictionary explicitly represents the relationships
among data objects and constraints on the elements of the data structure. A
data dictionary should be established and used to define both data and program
design.
Design process is in between the analysis and implementation process.
The following design diagrams (Data Flow Diagrams and E-R Diagrams)
make it easy to understand and implement
The design process for software system has two levels.
1. System Design or Top Level Design.2. Detailed Design or Logical Design.
12
4.1.1 SYSTEM DESIGN OR TOP LEVEL DESIGN
In the system design the focus is on deciding which modules are
needed for the system, the specification of these modules and how these
modules should be interconnected.
4.1.2 DETAILED DESIGN OR LOGICAL DESIGN
In detailed design the interconnection of the modules or how the
specifications of the modules can be satisfied is decided.
Some properties for a software system design are
Verifiability.
Completeness.
Consistency.
Trace ability.
Simplicity/Understandability.
4.2 CLIENT SERVER MODEL
When an architect designs a building, he has a vision of the finished
product and produces a result based on that vision. Client – server, on the
other hand, is more like Darwinian model of evolution of a living species. No
one has a vision of the finished products; rather, day-today events and gradual
changes affect it over time in reaction to those events.
In the beginning, application was fairly simple, reading input
transaction in a ‘batch’, processing them against a data store, and the output
was paper. Record retrieval was usually a set of subroutines embedded in the
updating program.
13
Common functions gradually migrated from the application to the
operating system. Database processing was one of the first major functions to
be removed from application control. Much of the time database functions in
the application included retrieval, replacement and insertion. Since it was
function had to be introduced database administration. This new function was
separated from the application code and involved defining the structure of the
database, value ranges backup, rollback, and so forth.
Advantages of Client – Server Model
The hardware and software can be placed where it will do the most
good.
In Client – Server model PCs, the power can be spread across the client
and the server.
On client side, an Active X object is used to present data
By having the client side it can do more work
The client software supplies the interface (Such as windowed program)
and the knowledge of how to pass the request to the server and the
format of the data for the user when it’s returned from the server. The
server’s job is to manipulate the data according to the user’s request.
14
4.3 UML DIAGRAMS
UML APPROACH
UML stands for Unified Modeling Language. UML is a language for
specifying, visualizing and documenting the system. This is the step while
developing any product after analysis. The goal from this is to produce a
model of the entities involved in the project which later need to be built. The
representation of the entities that are to be used in the product being developed
need to be designed.
Software design is a process that gradually changes as various new,
better and more complete methods with a broader understanding of the of the
whole problem in general come into existence. There are various kinds of
methods in software design.
They are as follows :
Use case Diagram
Sequence Diagram
Activity Diagram
Class Diagram
State Chart Diagram
15
4.3.1 USECASE DIAGRAMS
Use case diagrams model behavior within a system and helps the
developers understand of what the user require. The stick man represents
what’s called an actor.
An actor represents an outside entity- either human or technological. In
this example its human (Stick man). Notice the curved rectangle on the
diagram this represents the system boundary everything inside that is part of
that system, and everything outside are actors (basically not part of system).
Use case diagrams can be useful for getting an overall view of the
system and clarifying who can do and more importantly what they can’t do.
Use case Diagram consists of use cases and actors and shows the
interaction between the use case and actors.
The purpose is to show the interactions between use cases and actor.
To represent the system requirements from user’s perspective.
It must be remembered that the use-cases are the functions that are to be performed in the module.
An actor could be the end-user of the system or an external system.
16
4.3.1.1 USECASE FOR ADMINISTRATOR
Login
Create a Course
Approve Faculty
View Students/Faculty
Publish Announcements
View CourseContent
Schedule Work
Recieve Feedback
Payment of Salary
Admin
17
4.3.1.2 USECASE FOR FACULTY
Register for a Course
Approval from Admin
Login
View/Update Profile
View Salary Details
Provide Content
View Diccussion/Clarify Doubts
Conduct Test
View Results
View StudentsFaculty
18
4.3.1.3 USECASE FOR STUDENT
Study Course Content
Login
Register
Update/View Profile
View Announcement/diccussions
Take test
Feedback
Student
19
4.3.1.4 USECASE FOR SYSTEM
Student
login view faculty approve faculty
add/delete students
Upload Content
View Content
Publish annoncement
Discussion board
Feedback
Faculty
faculty login
add/delete courses
payment
Admin
payment
exam
20
The table below offers a consolidated view of the Use-Cases. Detailed
descriptions of the use cases are given in the Use-Case Specification section
following this table.
Use-Case ID Use-Case
Name
Priority1 Stability2 Verifiability3
1. Login High Stable Verifiable
2. View Faculty High Stable Verifiable
3. Approve
Faculty
High Stable Verifiable
4. Faculty Login High Stable Verifiable
5. View Courses High Stable Verifiable
6. Payments High Stable Verifiable
7. Add/delete
Students
High Stable Verifiable
1 Priority: High, Medium or Low2 Stability: Stable / Unstable3 Verifiability: Verifiable / Not Verifiable
21
8. Add/delete
Courses
High Stable Verifiable
9. Upload course
content
High Stable Verifiable
10. View Contents High Stable Verifiable
11. Publish
Announcement
s
High Stable Verifiable
12. Discussion
Board
High Stable Verifiable
13. Exams High Stable Verifiable
14. Feedbacks High Stable Verifiable
4.3.2 SEQUENCE DIAGRAM
22
The purpose is to show of the functioning through a use case. In other Words, we call it mapping processes in terms of data transfers from the actor through corresponding objects.
To represent the logical flow of data with respect to a
process.
It must be remembered that the sequence diagram display Objects and not the classes.
4.3.2.1 SEQUENCE DIAGRAM FOR REGISTRATION
23
Admin Faculty Student
View Faculty
Approve Faculty
View Students
add/delete students
Recieves payment
4.3.2.2 EXAM
24
Admin Faculty Student
Take a test
Place Reults
Announcement for Exam
Set the paper for Exam
Activate Exam
View Results
4.3.2.3 DISCUSSIONS
25
Admin Faculty Student
Publish Announcements
Add Feedback
Publish Announcements
Publish announcements
Queries
View Feebacks
View Feedbacks
Upload Content
View Conents
Place Answers
4.3.3 ACTIVITY DIAGRAM
26
Activity diagrams describe the workflow behavior of a system. The activity diagrams are similar to state diagrams because activities are the state of doing something .The diagrams describe the State of activities by showing the sequence of activities performed. Activity diagrams can show activities that are conditional or parallel.
Login
View Faculty
View Profile
login for fac
Update Details
View Course Category
View Students
Register
Login for Student
View Profile
Stu Update Details
Upload Content
View Content
Conduct Exam
Take a Exam
Place Results
View Results
Schedule Tasks
Add announcement
View Announcements
Add/view discussion
View discussions
Add Feedback
View Feedback
Logout
Payme...
delete fac
Faculty student
StudentAdmin
Faculty
Student
Approve Fac
4.3.4 CLASS DIAGRAM
27
This is one of the most important of the diagrams in development.
The diagram break the class into three layers. One has the name ,the
second describes its attributes and the third its methods.
The private attributes are represented by a padlock to left of the name.
The relationships are drawn between the classes.
Developers use the Class Diagram to develop the classes.
Analyses use it to show the details of the system.
Architects look at class diagrams to see if any class has too many functions
and see if they are required to be split.
.
CourseDetails
Name : StringPrice : Integer
DiscussionBoard
CourseName : StringQuery : String
1:N
Admin
LoginId : StringPassword : String
createCourse()approveFaculty()publishAnnouncements()scheduleWork()payment()
(from directory)
<<Interface>>
Course
Coursecode : StringCouseName : StringPrice : Integer
addtoCart()remove()
N:M
N:M
1:M
N:1
Faculty
FacId : StringPswd : StringName : StringCourse : StringEmailId : StringAddress : StringQualificatin : :String
register()provideContent()conductTest()viewResults()viewDiscussion()
Student
Name : StringStudId : StringPswd : StringEmail : StringAddress : String
register()studyContent()takeExam()viewResult()placeDicussion()
Registration
Name : StringLoginId : StringPswd : StringEmailId : StringAddress : String
1:M
4.3.5 STATE TRANSITION DIAGRAM
28
The purpose is to model various states in which an object can exist.
Most of the objects in a complex system maintain states, depending
upon which modifies its behavior.
Implementation takes start state and stop state.
It is method for describing the system’s architecture in detail on
various behaviors of the component.
The details are not used for generating the code by Rational Rose, they are
Merely for documentation.
4.3.5.1 ADMINISTRATOR
Login View Details
Update Details
Place Announcement
View Disussion
Approve Faculty
View Faculty
Recieves Payments
Add/delete Students
View Feedback
Logout
Login View Details
Update Details
Place Announcement
View Disussion
Approve Faculty
View Faculty
Recieves Payments
Add/delete Students
View Feedback
LogoutIdle
ADMIN
29
4.3.5.2 FACULTY
Login Register
View Details
Update Details
Update Content
Conduct Exam
Place Results
Add/view Discussion
View Feedback
Logout
Login Register
View Details
Update Details
Update Content
Conduct Exam
Place Results
Add/view Discussion
View Feedback
Logout
Idle
Faculty
4.3.5.3 STUDENT
Login Register Update Details
View LogoutTeke a Exam
View Result
Add/view Disussion
Add Fedback
Login Register Update Details
View Logout
idle
STUDENT
Teke a Exam
View Result
Add/view Disussion
Add Fedback
30
4.3.6 DATAFLOW DIAGRAMS
4.3.6.1 DATAFLOW DIAGRAMS
4.3.6.2 MODULE FOR ADMINISTRATOR
31
32
4.3.6.3 MODULE FOR FACULTY
33
34
4.3.6.4 MODULE FOR STUDENT
35
36
4.3.7 E-R DIAGRAM
37
4.4 DATA BASE DESIGN
4.4.1 PHYSICAL DATA BASE DESIGN
Data dictionaries are integral component of structured analysis, since
data flow diagrams by themselves not fully describe the subject of the
investigation. The data dictionary provides additional information about the
system. A data dictionary is a catalog – repository provides additional
information about the system.
A data dictionary is a catalog – repository of the elements in a system.
In a data dictionary we will find a list of all elements composing the data
flowing through the system. The major elements are data flows, data stores
and process. The data dictionary stores details and descriptions of those
elements.
Why is a data dictionary important?
Analysis use data dictionaries for five important reasons:
To manage the details of the large system
To communicate a common meaning for all system elements
To document the features of the system
To facilitate analysis of the details in order to evaluate characteristics
and determine where system changes should be made
To locate errors and omissions in the system
38
4.4.2 LOGICAL DATA BASE DESIGN
4.4.2.1 DATABASE TABLES
Domain Definitions
Seq.
#
Name Format When Used
1 ID Type Varchar2(6) For Columns representing the
database generated Unique id.
39
4.4.2.1.1 TABLE DEFINITIONS
Table No.: 1
Table Name:login
Table
Description:
This table contains all the loginid and password of
admin, student and faculty.
Se
q.
#
Column
Name
Column
Descript
ion
Column
Type
PK/
FK?
Null/
Not Null
Remar
ks
1. Loginid Login id
of user.
Varchar2(7) PK
2. Password Passwor
d of
user.
Varchar2(10
)
Not Null
3. User Type Type of
user
Varchar2(1) Not Null
Relationships: login
Constraints: loginid: primary key.
40
Table No.: 2
Table Name:coursecategory
Table
Description:
This table contains the details of the coursecategory.
Seq.
#
Column
Name
Column
Descripti
on
Column Type PK/
FK?
Null/
Not Null
Remark
s
1. Coursecod
e
Code of
particular
course
category.
Varchar2(10) PK
2. Categoryn
ame
Name of
particular
course
category.
Varchar2(20) Not Null
Relationships: coursecategory.
Constraints: coursecode: primary key.
41
4.5 TECHNOLOGIES USED IN THE PROJECT
WORLD WIDE WEB –WEB TECHNOLOGIES
The World Wide Web is an open ended information system where the
information can be retrieved and is designed to use in the Internet’s distributed
environment. It contains Web pages that provide information and controls.
The World Wide Web initially started as a text only medium but now ranges
of features are added like graphics, sounds, animation and video. A large
portion of internet is organized as the world wide web. A Web application is
defined as multi –tier application based on the internet standards, using a web
browser as client.
HYPER TEXT TRANSFER PROTOCOL
The standard web transfer protocol is HTTP. Each interaction consists
of one ASCII request, followed by one RFC 822 MIME – like response.
Although the use of TCP for the transport connection is very common, it is not
formally required by the standard. HTTP is constantly evolving. Several
versions are in use and others are under development.
THREE TIER ARCHITECTURE
The three-tier software architecture emerged in the 1990s to overcome the limitations of the two-tier architecture The third tier (middle tier server) is between the user interface (client) and the data management (server) components. This middle tier provides process management where business logic and rules are executed and can accommodate hundreds of users (as compared to only 100 users with the two tier architecture) by providing functions such as queuing, application execution, and database staging. The three tier architecture is used when an
42
effective distributed client/server design is needed that provides (when
compared to the two tier) increased performance, flexibility, maintainability,
scalability while hiding the complexity of distributed processing from the user.
These characteristics have made three layer architectures a popular choice for
Internet applications and net-centric information systems.
Tier 1: the client contains the presentation logic, including simple
control and user input validation. This application is also known as a
thin client.
Tier 2: the middle tier is also known as the application server, which
provides the business processes logic and the data access.
Tier 3: the data server provides the business data.
APACHE TOMCAT
Apache Tomcat is a web container developed at the Apache Software Foundation (ASF). Tomcat implements the servlet and the
43
JavaServerPages (JSP) specifications from Sun Microsystems, providing an
environment for Java code to run in cooperation with a web server.
Tomcat is a web server that supports servers and JSPs. The accompanying
Tomcat Jasper Compiler compiles JSPs into servlets. tomcat can also function
as an independent web server. However, that perception no longer exists;
Tomcat is increasingly used as a standalone web server in high traffic, high
availability environments. Tomcat is cross-platform, running on any operating
system that has a Java Runtime Environment.
HTML
The Hyper Text Markup Language (HTML) is a collection of platform
independent styles, indicated by the markup tags that define invented by Tim
Beners Lee while at CERN.HTML documents are plain text that can be
created using text editor. We can also use word processing software if we
remember to save documents as “text only with line breaks”.
The HTML tags <html>, <head>, <title> and <body> and their
corresponding end tags should be used in each HTML file.
<HTML>
This element tells the browser that the file contains HTML coded
information. The file extension “. Html” also indicates this is an HTML
document and must be used.
<HEAD>
The <head> element identifies the part of our HTML coded document that
contains the title. The title is shown as part of the browser’s windows.
44
<TITLE>
The <title> element contains the document title and identifies its
content in global context.
<BODY>
The largest part of the HTML document. This portion of our HTML
code is displayed within the text area of the browser window.
Within the body of a webpage, there are seven basic tags. In fact, you
could get away with only using these seven tags. A few basic tags and you can
create complete web pages.
TABLES
Before HTML tags for tables were finalized, authors had to carefully
format their tabular information within <PRE> tags containing spaces
previewing their output. Tables are very useful for presenting tabular
information and are boon to creative HTML authors who use the table tags to
present their regular web pages.
<TABLE>
The main tag. Defines a table in HTML if the border attributes is
present, the browser displays the table with a border.
<CAPTION>
Defines the caption for the title of the table. The default position of the
title centered at the top of the table.
45
<TR>
Specifies a table row thin a table. We may define default attributes for
the entire row.
The <title> element contains the document title and identifies its
content in global context.
<BODY>
The largest part of the HTML document. This portion of our HTML
code is displayed within the text area of the browser window.
Within the body of a webpage, there are seven basic tags. In fact, you
could get away with only using these seven tags. A few basic tags and you can
create complete web pages.
TABLES
Before HTML tags for tables were finalized, authors had to carefully
format their tabular information within <PRE> tags containing spaces
previewing their output. Tables are very useful for presenting tabular
information and are boon to creative HTML authors who use the table tags to
present their regular web pages.
<TABLE>
The main tag. Defines a table in HTML if the border attributes is
present, the browser displays the table with a border.
46
<CAPTION>
Defines the caption for the title of the table. The default position of the
title centered at the top of the table.
<TR>
Specifies a table row thin a table. We may define default attributes for
the entire row.
<TD>
Defines a table data cell. By default, the text in this cell is aligned left
and concerned vertically. Table data cells may contain other attributes to
determine the characteristics of the cell and its contents.
DYNAMIC HYPERTEXT MARKUP LANGUAGE (DHTML)
With the explosion of interest in the World Wide Web, Hypertext
Markup Language (HTML) has assumed a prominent place in the computer
world. HTML has evolved to meet the increasing demand for eye-catching and
mind-catching web sites. Until recently, however the evolutionary process
mostly involved new and improved tags and attributes.
The end products, static web pages that often required repeated time-
consuming round trips between client and server machines, clearly showed a
new direction was in order.
Dynamic HTML is that new direction. It combines HTML with
Cascading Style Sheets and scripting languages.
47
JAVA SCRIPT
JavaScript is the scripting language developed by Netscape
Communications and is commonly used to create interactive Web pages.
JavaScript v1.2 comes with six predefined classes: Boolean, Number, Date,
Math, String, and Array. Additional classes and objects have been defined to
allow access to portions of the PDF file.
One major use of web-based JavaScript is to write functions that
are embedded in or included from HTML pages and interact with the
Document Object Model (DOM) of the page to perform tasks not possible in
HTML alone.
JAVA’S FEATURE SET
Although the fundamental forces that necessitated the invention of
java are portability and security, other factors also played an important role in
molding the final form of the language and are given by
Simple
Secure
Portable
Object – oriented
Robust
Multithreaded
Architecture – neutral
Interpreted
High performance
Distributed
Dynamic
48
With most programming languages, you either compile or interpret a program
so that you can run it on your computer. The Java programming language is
unusual, in that a program is both compiled and interpreted. With the
compiler, first you translate a program into an intermediate language called
java bytecodes - the platform-independent codes interpreted by the interpreter
on the Java platform. The interpreter parses and runs each Java bytecode
instruction on the computer. Compilation happens just once; interpretation
occurs each time the program is executed.
Java bytecodes help make “write once, run any where” possible. You
can compile your program into bytecodes on any platform that has a Java
compiler. The bytecodes can then be run on any implementation of the JVM.
That means that as long as computer has a JVM, the same program written in
the Java Programming language can run on Windows 2000, a Solaris
workstation, or on an iMac.
THE JAVA PLATFORM
The Java platform has two components:
The Java Virtual Machine (JVM)
The Java Application Programming Interface (Java API)
You’ve already been introduced to the JVM. It’s the base for the Java
platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components
that provide many useful capabilities, such as graphical user interface (GUI).
The Java API is grouped into libraries of related classes and interfaces; these
libraries are known as packages.
49
Native code is code that after you compile it, the compiled code runs
on a specific hardware platform. As a platform-independent environment, the
Java platform can be a bit slower than native code. However, smart compilers,
well-tuned interpreters, and just-in-time byte code compilers can bring
performance close to that of native code without threatening portability.
Java consists of three components
1. Java Programming Language.
2. Java Library of Classes and Interfaces.
3. Java Virtual Machine.
The following sections will say more about their components:
JAVA IS PORTABLE
One of the biggest advantages Java offers is that it is portable.
Applications written in Java will run on all the major platforms. A
programmer no longer has to write one program to rum on a Macintosh,
another program to run on windows machine, still another to run on a UNIX
machine, and so on. These byte codes go to the Java Virtual Machine, which
executes them directly or translate them into the language that is understood
by the machine running it.
JAVA IS OBJECT ORIENTED
The Java programming language is object oriented, which makes
program design focus on what you are dealing with rather than on how you are
going to do something. This makes it more useful for programming in
sophisticated projects because one can break the things down into
understandable components. A big benefit is that these components can then
be reused.
50
JAVA IS EXTENSIBLE
A big plus for Java is the fact it can be extended. It was purposely
written to be lean with the emphasis on doing what is does very well; instead
of trying to do everything from the beginning, it was return so that extending it
is very easy. Programmers can modify existing classes for write their own
new classes or they can write a whole new package.
JAVA IS SECURE
Security becomes an important issue for a language that is used for
programming on Internet. Java systems not only verify all memory access but
also ensure that no viruses are communicated with an applet. The absence of
pointers in java ensures that programs cannot gain access to memory locations
without proper authorization.
JAVA IS MULTI THREADED
Multithreading is simply the ability of a program to do more than one
thing at a time. For example an application could be faxing a document at the
same time it is printing another document. Multithreading is particularly
important in multimedia; a multimedia program might often be running a
movie, running an audio track and displaying text all at the same time.
JAVA SERVER PAGES (JSP)
To make creating dynamic content easier, Sun introduced Java Server
Pages (JSP). While writing servlets developer require a pretty extensive
knowledge of Java, a person who is new to the java can learn some pretty neat
tricks in JSP in a snap. JSP represents an attractive alternative of Microsoft’s
ASP.
51
Java Server Pages is a Java – based technology that simplifies the
process of developing dynamic web sites. With JSP, web designers and
developers can quickly incorporate dynamic elements into web pages using
embedded Java. JSP files contain traditional HTML along with embedded
code that allows the page designer to access data from Java code running on
the Server.
BENEFITS OF JSP
As a Java – based Technology, it enjoys all of the advantages that the
Java language provides with respect to development and deployment.
As an Object Oriented Language with a strong typing encapsulation,
exception handling, and automatic memory management, use of Java
leads to increase programmer productivity and more robust code.
Because compiled Java bytecode is portable across all platforms that
support JVM, use of JSP does not lock you into using specific
hardware platform, operating system, or server software.
JSP is a vendor – neutral, developers and system architects can select
best-of-breed solutions at all stages of JSP deployment.
JSP can readily take advantages of all of the other standard Java APIs,
including those for cross-platform database access, directory services,
distributed computing, and cryptography.
Provides support for a re-useable component such as Java-Beans
Technology.
It provides the easy way to develop the code as compared to Servlet
Technology of the Java.
Quite a lot of things happen behind the scene when a JSP page
is deployed in a web container and is first served to a client request. Deploying
and serving a JSP page involves two distinct phases
52
TRANSLATION PHASE
In this phase the JSP page is transformed into a Java servlet and then
compiled. This phase occurs only once for each JSP page and must be
executed before the JSP page is served.
IMPLEMENTATION CLASS
The translation phase results in a delay when a JSP page is requested
for the first time. To avoid this delay, JSP pages can be precompiled before
they are deployed using tools that perform the translation phase when the
server starts up.
EXECUTION PHASE
This phase (also known as the Request Processing Phase) is executed
each time the JSP page is served by the web container. Request for the JSP
page result in the execution of the JSP page implementation class.
JSP SCRIPTING ELEMENTS
There are three kinds of scripting elements in JSP:
Declarations
Scriptlets
Expressions
DECLARATIONS
Declarations are used to define methods and instance variables. They
do not produce any output that is sent back to the client. Declarations in the
JSP pages are embedded between <%! and %> delimiters.
53
SCRIPTLETS
Scriptlets are used to embed Java code within JSP pages. The
contents of Scriptlets go within the _jspService () method. The lines of code
embedded in JSP pages should compile with the syntactical and semantic
constructs of Java. Scriptlets are embedded between <% and %> delimiters.
EXPRESSIONS
Expressions in JSP pages are used to write dynamic content back to the
browser and are embedded in <%= and %> delimiters. If the output is a Java
object, the result of calling the toString () on the object is written back to the
browser.
DATABASE
JAVA DATA BASE CONNECTIVITY (JDBC)
We can’t assume our java programs without database. If a java
programmer uses J2EE he must uses the JDBC. Without using JDBC he can’t
develop the project.
JDBC is a open specification. Java soft has provided some classes like
Java.sql, DriverManager, Java.sql.Types, Java.sql.Date, Java.sql.Time and set
of interfaces like Connection, Statement, ResultSet etc.,
JDBC
The JDBCTM API provides universal data access from the JavaTm
programming language. Using the JDBC 2.0 API, you can access virtually any
data source, from relational databases to spreadsheets and flat files.
JDBC Technology Drivers
To use the JDBC API with a particular database management system,
you need a JDBC technology based driver to mediate between JDBC
technology and the database. Depending on various factors, a driver might be
54
written purely in the java programming language or in a mixture of the java
programming language and JavaTM Native Inerface (JNI) native methods.
There are four types of JDBC drivers each having it’s own
functionality. Please note that they are not substitute one another. Each having
their own suitability aspects.
They are classified based on how they access the data from the database.
1. Native JDBC Driver: A JDBC driver, which is partly written in and
most of it is 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 this type is easier when compared to
writing other drivers.
2. All Java JDBC Net Drivers: A JDBC net driver when uses a common
network
Protocol to connect an intermediate server. Which in turn employees
native calls to connect to the database. This approach suited for
applets. Where the request must go through the intermediate server.
3. JDBC – ODBC Bridge Driver: A bridge driver provided with JDBC
can Convert the JDBC call into equivalent ODBC calls using the
native methods. Since ODBC provides connection to any type of
database i.e. ODBC complaint, to connect a number of databases
simultaneously is very simple matter this approach is a recommended
one since using ODBC drivers, which are industry standards as of now,
would make an application truly portable across databases.
55
5. TESTING
Testing is the process used to help identify the correctness completeness, security and quality of developed computer software. Testing is a process of technical investigation, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate. This includes, but is not limited to, the process of executing a program or application with the intent of finding errors.
Software Testing is the process of executing software in a controlled
manner; in order to answer the question “Does this software behave as
specified?” Software testing is used in association with Verification and
Validation.
5.1TYPES OF TESTING
5.1.1 UNIT TESTING
Unit testing focuses verification efforts on the smallest unit of the
software design, the module. This is also known as “Module Testing”. The
modules are tested separately. This testing carried out during programming
stage itself. In this testing each module is found to be working satisfactorily as
regards to the expected output from the module.
5.1.2 INTEGRATION TESTING
Data can be grossed across an interface; one module can have adverse
efforts on another. Integration testing is systematic testing for construction the
program structure while at the same time conducting tests to uncover errors
associated with in the interface. The objective is to take unit tested modules
56
and build a program structure. Thus in the integration testing stop, all the
errors uncovered are corrected for the text testing steps.
5.1.3 VALIDATION TESTING
At the conclusion of integration testing software is completely
assembled as a package, interfacing errors have been uncovered and corrected
and a final series of software tests begins, validation test begins. Validation
test can be defined in many ways. But the simple definition is that validation
succeeds when the software function in a manner that can reasonably expected
by the customer. After validation test has been conducted one of two possible
conditions exists.
5.1.4 OUTPUT TESTING
After performing validation testing, the next step is output testing of
the proposed system since no system could be useful if it does not produce the
required output in the specified format. Asking the users about the format
required by them tests the outputs generated by the system under
consideration.
5.2 USER ACCEPTANCE TESTING
User acceptance of a system is the key factor of the success of any
system. The system under study is tested for the user acceptance by constantly
keeping in touch with the prospective system users at the time of developing
and making changes wherever required.
57
6. OUTPUT SCREENS
HOMEPAGE
The homepage of OCP mainly consists of the Member Login via
which three different types of users could login. The homepage as shown
below has 8 buttons showing various activities in home page.
58
The screen below is displayed on selecting the courses button present on the
home page. The courses categories present on the site are displayed.
59
HOW TO REGISTER
The screen below is displayed on selecting the “how to register” button
on the home page. This shows the way of registration process to the courses
on the site.
60
FEEDBACK TO SITE
The screen is displayed when the user clicks on the feedback button on
the homepage. This is provided to the users who visit the site in order to get
feedback from them.
61
BENEFITS OF SITE
This screen is displayed when user clicks on the benefits button on the
home page. This shows the benefits of online education over traditional
education to users.
62
ONLINE CERTIFICATION
This screen is displayed when user clicks on the certification button on
the home page. The details of the certification are show to user through this
button.
63
HELP SCREEN
This is displayed when user clicks on the help button. This “helps” the
users to know about the site and its various activities involved. This mainly
designed on view of a people without minimum knowledge on computers.
64
ADMINISTRATOR MODULE SCREENS
HOMEPAGE FOR ADMIN
The screen below is provided for administrator after Login. The
various services provided to him is displayed to right of the screen.
65
COURSE CATALOGUE
The screen below shows the courses available in the Beginners
category along with the price of the course and its duration.
66
ADD COURSE
The screen below is displayed when admin selects the add course link
via this the admin is able to add new courses to any categories. This screen
shows the addition of course in the beginners category.
67
DELETE COURSE
The screen below is displayed when the admin selects the delete
courses link. The admin is able to delete more than one course at a time.
68
VIEW FACULTY
69
The admin is providing with this service in order to view faculty for
each course. At first course list is provided to make a selection to a course
before he could view faculty for that particular course.
FACULTY MODULE SCREENS
70
UPDATE PROFILE
The faculty is provided with a service to update the details.
VIEW STUDENTS
71
The students assigned to a particular faculty of a particular course are
shown below when faculty.
UPLOAD CONTENT
72
The screen below shows how a faculty could upload contents of a
particular course.
DISCUSSION BOARD
73
The faculty could view the queries posted based on the courses
registered. He could answer to those queries and submit them. The screen
below is of such functionality.
EXAM SECTION
74
The faculty is responsible to set the exam paper of the courses he is
registered. The screen below shows how it is done.
HELP FOR FACULTY
75
The faculty is also provided with a help service through which he
could know functionality of the site more quickly and easily.
EXAM SECTION
76
The admin when selects the activate link the screen below is displayed.
This shown when and what time the exam is activated and of what duration.
EXAM RESULTS
77
The exam result in core java subject is shown.
CERTIFICATION
78
The view of certificate is shown below.
STUDENT MODULE SCREENS
79
HOME PAGE FOR STUDENT
The home page for student is shown below with limited services after a
student is registered.
UPDATE PROFILE
80
The screen below shows how a student could update profile.
COURSE CATALOGUE
81
The student after a selection made to courses displayed all are added to
cart. The view of cart is shown below.
PAYMENT
82
The payment details of the student is taken through his screen.
FEEDBACK FORM
83
The student could give feedback to a particular faculty through this
screen.
7. CONCLUSION
84
The project is able to successfully incorporate all the requirements
specified by the user. Proper care has been taken during database design to
maintain data integrity and to avoid data redundancy.
A client side validation has also been done with utmost care by
considering all the possibilities and the requirements of different users to
avoid data inconsistency.
The user is provided with a very friendly interface, hiding all the
technical intricacies. Design procedures and user manuals are also included in
the project to help the users better understand the system.
The project is designed and coded in such a way that any further
modifications that are needed in the future can be easily implemented without
affecting the functionality of the system. The technical documentation
provided in the project report helps the application developers understand the
internal architecture of the system and thus assists them in enhancing the
system.
This project is purely user friendly and platform independent, so user
can run this tool in any environment. It is very easy to implement or add many
features to this tool. Finally it is a very need full and simple tool for any big
organizations.
85
8. BIBLIOGRAPHY
System Analysis and Design –James A senn
Database System Design –ElmasreeKorth
Modern Databse Management –McFadden,Hoffer,Prescott
Software Engineering Concepts –Robert Pressman
Java Server Programming –Wrox Publications
Websites
www.google.com
www.javasoft.com
www.sun.com
86