You are on page 1of 88

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.

The Online Course Portal for a Campus systems will include

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.

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.

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.

SOFTWARE AND HARDWARE REQUIREMENTS

2.1 HARDWARE REQUIREMENTS


Server Ram Processor Client Ram Processor : 128MB : Any Processor : 512MB : Pentium II processor or equivalent

Hard Disk : 40GB

Hard Disk : 20GB

2.2 SOFTWARE REQUIREMENTS


Server Operating System : Windows NT /95/98/XP Database Web Server Client Operating System : Any Operating System with : Oracle8i : Apache Tomcat 4.0/0.5

IE 5.0/0.6 is supported. Browser : Internet Explorer Version 5.0/0.6

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. The errors can be greatly reduced and at the same time providing a great level of security. Here we dont 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.

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.

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 systems 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

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 clients 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. 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

10

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. 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

12

The design process for software system has two levels. System Design or Top Level Design. 1. Detailed Design or Logical Design.

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

13

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. 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

14

format of the data for the user when its returned from the server. The servers job is to manipulate the data according to the users request.

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

15

Class Diagram State Chart Diagram

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 whats 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 cant 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.

16

To represent the system requirements from users 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.

4.3.1.1 USECASE FOR ADMINISTRATOR

17

L og in C re at e a C ou rs e

A pp ro ve F a c u lt y

V iew S t u de n t s /F a c u lt y

A dm in

P u blis h A nn ou nc em en t s

V iew C o urs e C o nte nt

S c he du le W ork

R ec ie ve F e ed b a c k P a y m e nt o f S a la ry

4.3.1.2 USECASE FOR FACULTY

18

R egis ter fo r a C ou rs e A p prova l fro m A dm in Login

V iew / U pd ate P rofile

V iew S alary D etails

F ac ulty

V ie w S tude nts

P rovide C o ntent

V iew D ic c us s io n/C la rify D oub ts

C on duc t Tes t V iew R es ults

4.3.1.3 USECASE FOR STUDENT

19

Login

Register

Update/View Profile

View Announcement/diccussions

Student Study Course Content

Take test

Feedback

4.3.1.4 USECASE FOR SYSTEM

20

lo g in

vie w fa c u lty

a p p ro ve fac ulty

fa c u lty lo g in a d d /d e le t e c o u rs e s

a dd /d e le t e s t u de n t s

pp ayym ee nt t a m n

U p lo a d C o n te n t V iew C o n ten t A d m in P u b lis h a n n o n c e m e n t

F a c u lt y

D is c u s s io n b o ard

exam

F eedback

S t u den t

21

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. 2. 3.

Login View Faculty Approve Faculty

High High High

Stable Stable Stable

Verifiable Verifiable Verifiable

4. 5. 6. 7.

Faculty Login View Courses Payments Add/delete Students

High High High High

Stable Stable Stable Stable

Verifiable Verifiable Verifiable Verifiable

1 Priority: High, Medium or Low 2 Stability: Stable / Unstable 3 Verifiability: Verifiable / Not Verifiable

22

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

23

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

24

Admin

Faculty

Student

View Faculty

Approve Faculty

View Students

Recieves payment

add/delete students

4.3.2.2 EXAM

25

Admin

Faculty

Student

Announcement for Exam

Set the paper for Exam

Activate Exam

Take a test

Place Reults

View Results

4.3.2.3 DISCUSSIONS

26

Admin

Faculty

Student

Publish Announcements Publish Announcements Publish announcements

Upload Content

View Conents

Queries

Place Answers

Add Feedback

View Feebacks

View Feedbacks

4.3.3 ACTIVITY DIAGRAM

27

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.

Li on g

A i dn m

Sd t t e un

Vw i e Fu a ly ct

Vwo s i Cr e e u Ce r ag y t o

Fu a ly ct Ri t r es ge de f c et a l e l g f rf c on a i o L i fr on g o Sd t t e un

A r vF po a p e c

Vw i e Pfe ri o l Vw i e Sd t t es un

Vw i e Pf e ri o l

Ua pt de Da e is t l

S Ua t pt u de D is el t a

P m. a e y . .

Sd t t e un Ua p d l o Ct n oe n t Vw i e Ct n oe n t

Cd t ou nc Em x a Se l c de hu Tk as s Pc l e a Ru e ls st

Te a a k Em x a

Vw i e Ru e ls st

A d d a o cmt n u ee nn n

Vw i e A o cmt n u ees nn n

Vw i e dcsi n i u o s s s

A /i w dv de dcsi n i u o s s

Vw i e Fd c ebk ea

Fu a ly ct

sd t t e un

A d d Fdc ebk ea

Lo ou gt

4.3.4 CLASS DIAGRAM

28

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.

29

<<Interface>> Admin
(from directory)

CourseDetails Name : String Price : Integer

LoginId : String Password : String createCourse() approveFaculty() publishAnnouncements() scheduleWork() payment() 1:N 1:M

Student Name : String StudId : String Pswd : String Email : String Address : String register() studyContent() takeExam() viewResult() placeDicussion() N:M

N:1

Faculty FacId : String Pswd : String Name : String Course : String EmailId : String Address : String Qualificatin : :String register() provideContent() conductTest() viewResults() viewDiscussion()

Course Coursecode : String CouseName : String Price : Integer 1:M addtoCart() remove() DiscussionBoard CourseName : String Query : String

N:M

Registration Name : String LoginId : String Pswd : String EmailId : String Address : String

4.3.5 STATE TRANSITION DIAGRAM 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.

30

Implementation takes start state and stop state. It is method for describing the systems 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
A D M IN

L o g in

V iew D e t a ils

V ie w F a c u lt y

A p p ro ve F a c u lt y

P lac e A n no u nc e m e nt

V ie w F eedback

Id l e

U p d ate D e t a ils

R e c ie ve s P a y m en ts

A d d / d e le t e S tude nts

V iew D i s u s s io n

Lo g out

31

4.3.5.2 FACULTY
Faculty

Login

Register

Update Details

Conduct E xam

A dd/view Discus sion

Idle V iew Details Update Content Place Res ults V iew Feedbac k

Logout

4.3.5.3 STUDENT
S TUD E NT

L o g in

R e g is t e r

U p d a te D e t a ils

A d d / vie w D is u s s io n

A dd Fedback

id le

V ie w

Te k e a E xam

V ie w R e s u lt

Logout

32

4.3.6 DATAFLOW DIAGRAMS


4.3.6.1 DATAFLOW DIAGRAMS

LEVEL 0

faculty

student

Online Course portal

administrator

4.3.6.2 MODULE FOR ADMINISTRATOR

LEVEL 0: ADMINISTRATOR

- LOGIN SERVICE

administrator

Login id

Login services

valid

services

invalid

33

LEVEL 1: ADMINIS TRATOR -SERVICES


View courses Add a course View content

administrator

access

services

Maintain Details of faculty

Receive feedbacks

View Discussion board

Publish Announcement On a course

LEVEL 2: ADMINIS TRA TOR-A DD A COURSE

administrator

add

Add a course

course

34

4.3.6.3 MODULE FOR FACULTY

LEVEL 0: FACULTY- LOGIN SE RVICE

faculty

Login id

Login services

valid

services

invalid

LEVEL 1: FACULTY- SERVICES

View profile

View students

faculty

access

services

Add content View Discussion board Add Question Paper logout

35

LEVEL 2: FACULTY -ADD QUES TION PAPER SERVICE

Add question paper faculty

Add Question paper

Exam paper

FACULTY -A DD CONTENT SERVICE

Add content faculty

Add content

Course content

36

4.3.6.4 MODULE FOR STUDENT

LEVEL 0 : STUDE NT- LOGIN SE RVICE

Login id student Login

valid Services

invalid

LEVEL 1: STUDENT

-SERVICES
logout View profile View courses

student

services

Register To a course

View Announcem ents Mail feedback View Content of a course

Take a test

37

LEVEL 2: STUDENT - TAKE A TEST SERVICE

access student

Take a test

Exam paper

LEVEL 3: STUDE NT- REGISTE R TO A COURSE SERVICE

student

Register to a course

Course category

Select course

course

38

4.3.7 E-R DIAGRAM

name loginid activate exam Admin approves view result loginid offers add exam na me qualification Courses cid duration course m na e register Exa m pid Paper na me Faculty add/view Contents

loginid

name address

Student

Add/view discus sions

attends Key

39

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

40

4.4.2 LOGICAL DATA BASE DESIGN


4.4.2.1 DATABASE TABLES

Domain Definitions

Seq .# 1

Name

Format

When Used

ID Type

Varchar2(6)

For Columns representing the database generated Unique id.

41

4.4.2.1.1 TABLE DEFINITIONS

Table No.: Table Name:

login

Table Description:

This table contains all the loginid and password of admin, student and faculty.

Se q. # 1.

Column Name

Column ion

Column

PK/F K?

Null/ Not Null

Remar ks

Descript Type

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.

42

Table No.: Table Name:

coursecategory

Table Description: Se q. # Column Name

This table contains the details of the coursecategory. Colum n Descri ption Column Type PK/F K? Null/ Not Null Varchar2(1 0) PK Rema rks

1.

Coursec ode

Code of particul ar course categor y.

2.

Categor yname

Name of particul ar course categor y.

Varchar2(2 0)

Not Null

Relationships: coursecategory. Constraints: coursecode: primary key.

43

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 Internets 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

44

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

45

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 browsers windows.

46

<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.

47

<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.

48

<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 timeconsuming 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.

49

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.

JAVAS 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

50

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)

Youve already been introduced to the JVM.

Its 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).

51

The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. 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

52

understandable components. A big benefit is that these components can then be reused.

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

53

tricks in JSP in a snap. JSP represents an attractive alternative of Microsofts ASP.

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.

54

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

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

55

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. 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 cant assume our java programs without database. 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 If a java

programmer uses J2EE he must uses the JDBC. Without using JDBC he cant

56

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 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 its 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

57

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.

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.

TYPES 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

58

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

59

keeping in touch with the prospective system users at the time of developing and making changes wherever required.

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.

60

The screen below is displayed on selecting the courses button present on the home page. The courses categories present on the site are displayed.

61

HOW TO REGISTER

62

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.

FEEDBACK TO SITE

63

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.

BENEFITS OF SITE

64

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.

ONLINE CERTIFICATION

65

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.

HELP SCREEN

66

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.

ADMINISTRATOR MODULE SCREENS

67

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.

COURSE CATALOGUE

68

The screen below shows the courses available in the Beginners category along with the price of the course and its duration.

ADD COURSE

69

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.

DELETE COURSE

70

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.

VIEW FACULTY

71

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

72

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

VIEW STUDENTS

73

The students assigned to a particular faculty of a particular course are shown below when faculty.

UPLOAD CONTENT

74

The screen below shows how a faculty could upload contents of a particular course.

DISCUSSION BOARD

75

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

76

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

77

The faculty is also provided with a help service through which he could know functionality of the site more quickly and easily.

EXAM SECTION

78

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

79

The exam result in core java subject is shown.

CERTIFICATION

80

The view of certificate is shown below.

STUDENT MODULE SCREENS

81

HOME PAGE FOR STUDENT The home page for student is shown below with limited services after a student is registered.

UPDATE PROFILE

82

The screen below shows how a student could update profile.

COURSE CATALOGUE

83

The student after a selection made to courses displayed all are added to cart. The view of cart is shown below.

PAYMENT

84

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

FEEDBACK FORM

85

The student could give feedback to a particular faculty through this screen.

7. CONCLUSION

86

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.

87

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

88

You might also like