course management system

113
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 1

Upload: anuj-singh

Post on 16-Apr-2015

109 views

Category:

Documents


3 download

DESCRIPTION

project

TRANSCRIPT

Page 1: Course Management System

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

Page 2: Course Management System

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

Page 3: Course Management System

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

Page 4: Course Management System

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

Page 5: Course Management System

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

Page 6: Course Management System

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

Page 7: Course Management System

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

Page 8: Course Management System

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

Page 9: Course Management System

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

Page 10: Course Management System

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

Page 11: Course Management System

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

Page 12: Course Management System

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

Page 13: Course Management System

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

Page 14: Course Management System

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

Page 15: Course Management System

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

Page 16: Course Management System

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

Page 17: Course Management System

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

Page 18: Course Management System

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

Page 19: Course Management System

4.3.1.3 USECASE FOR STUDENT

Study Course Content

Login

Register

Update/View Profile

View Announcement/diccussions

Take test

Feedback

Student

19

Page 20: Course Management System

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

Page 21: Course Management System

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

Page 22: Course Management System

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

Page 23: Course Management System

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

Page 24: Course Management System

Admin Faculty Student

View Faculty

Approve Faculty

View Students

add/delete students

Recieves payment

4.3.2.2 EXAM

24

Page 25: Course Management System

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

Page 26: Course Management System

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

Page 27: Course Management System

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

Page 28: Course Management System

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

Page 29: Course Management System

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

Page 30: Course Management System

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

Page 31: Course Management System

4.3.6 DATAFLOW DIAGRAMS

4.3.6.1 DATAFLOW DIAGRAMS

4.3.6.2 MODULE FOR ADMINISTRATOR

31

Page 32: Course Management System

32

Page 33: Course Management System

4.3.6.3 MODULE FOR FACULTY

33

Page 34: Course Management System

34

Page 35: Course Management System

4.3.6.4 MODULE FOR STUDENT

35

Page 36: Course Management System

36

Page 37: Course Management System

4.3.7 E-R DIAGRAM

37

Page 38: Course Management System

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

Page 39: Course Management System

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

Page 40: Course Management System

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

Page 41: Course Management System

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

Page 42: Course Management System

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

Page 43: Course Management System

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

Page 44: Course Management System

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

Page 45: Course Management System

<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

Page 46: Course Management System

<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

Page 47: Course Management System

<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

Page 48: Course Management System

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

Page 49: Course Management System

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

Page 50: Course Management System

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

Page 51: Course Management System

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

Page 52: Course Management System

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

Page 53: Course Management System

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

Page 54: Course Management System

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

Page 55: Course Management System

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

Page 56: Course Management System

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

Page 57: Course Management System

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

Page 58: Course Management System

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

Page 59: Course Management System

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

Page 60: Course Management System

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

Page 61: Course Management System

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

Page 62: Course Management System

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

Page 63: Course Management System

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

Page 64: Course Management System

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

Page 65: Course Management System

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

Page 66: Course Management System

COURSE CATALOGUE

The screen below shows the courses available in the Beginners

category along with the price of the course and its duration.

66

Page 67: Course Management System

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

Page 68: Course Management System

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

Page 69: Course Management System

VIEW FACULTY

69

Page 70: Course Management System

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

Page 71: Course Management System

UPDATE PROFILE

The faculty is provided with a service to update the details.

VIEW STUDENTS

71

Page 72: Course Management System

The students assigned to a particular faculty of a particular course are

shown below when faculty.

UPLOAD CONTENT

72

Page 73: Course Management System

The screen below shows how a faculty could upload contents of a

particular course.

DISCUSSION BOARD

73

Page 74: Course Management System

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

Page 75: Course Management System

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

Page 76: Course Management System

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

Page 77: Course Management System

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

Page 78: Course Management System

The exam result in core java subject is shown.

CERTIFICATION

78

Page 79: Course Management System

The view of certificate is shown below.

STUDENT MODULE SCREENS

79

Page 80: Course Management System

HOME PAGE FOR STUDENT

The home page for student is shown below with limited services after a

student is registered.

UPDATE PROFILE

80

Page 81: Course Management System

The screen below shows how a student could update profile.

COURSE CATALOGUE

81

Page 82: Course Management System

The student after a selection made to courses displayed all are added to

cart. The view of cart is shown below.

PAYMENT

82

Page 83: Course Management System

The payment details of the student is taken through his screen.

FEEDBACK FORM

83

Page 84: Course Management System

The student could give feedback to a particular faculty through this

screen.

7. CONCLUSION

84

Page 85: Course Management System

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

Page 86: Course Management System

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