Course Management System
Course Management System
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.
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.
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.
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.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.
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.
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
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.
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.
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 :
15
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.
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
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
18
F ac ulty
V ie w S tude nts
P rovide C o ntent
19
Login
Register
Update/View Profile
View Announcement/diccussions
Take test
Feedback
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
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.
4. 5. 6. 7.
1 Priority: High, Medium or Low 2 Stability: Stable / Unstable 3 Verifiability: Verifiable / Not Verifiable
22
8.
Add/delete Courses
High
Stable
Verifiable
9.
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
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.
24
Admin
Faculty
Student
View Faculty
Approve Faculty
View Students
Recieves payment
add/delete students
4.3.2.2 EXAM
25
Admin
Faculty
Student
Activate Exam
Take a test
Place Reults
View Results
4.3.2.3 DISCUSSIONS
26
Admin
Faculty
Student
Upload Content
View Conents
Queries
Place Answers
Add Feedback
View Feebacks
View Feedbacks
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
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)
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
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
LEVEL 0
faculty
student
administrator
LEVEL 0: ADMINISTRATOR
- LOGIN SERVICE
administrator
Login id
Login services
valid
services
invalid
33
administrator
access
services
Receive feedbacks
administrator
add
Add a course
course
34
faculty
Login id
Login services
valid
services
invalid
View profile
View students
faculty
access
services
35
Exam paper
Add content
Course content
36
valid Services
invalid
LEVEL 1: STUDENT
-SERVICES
logout View profile View courses
student
services
Register To a course
Take a test
37
access student
Take a test
Exam paper
student
Register to a course
Course category
Select course
course
38
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
attends Key
39
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.
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
Domain Definitions
Seq .# 1
Name
Format
When Used
ID Type
Varchar2(6)
41
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?
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
42
coursecategory
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
2.
Categor yname
Varchar2(2 0)
Not Null
43
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.
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.
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.
53
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.
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.
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.
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.
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
CERTIFICATION
80
81
HOME PAGE FOR STUDENT The home page for student is shown below with limited services after a student is registered.
UPDATE PROFILE
82
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
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
88