You are on page 1of 65

COURSE MANAGEMENT SYSTEM

CONTENT
1. INTRODUCTION-

2. RDBMS, FRONT END TOOLS AND OVERVIEW-

RELATIONAL DATABASE
SQL
PL/SQL
ORACLE
FRONT END TOOLS (VISUAL 6.0)

3. RESOURSE METHODOLOGY-

3.1 OBJECT OF STUDY


3.2 LITERATURE SURVEY

4. SYSTEM ANALYSIS-

PROBLEM IDENTIFICATION
PROPOSED SYSTEM
FEASIBILITY STUDY
CONVERSION OF RELATIONS
EXISTING SYSTEM DESIGN

5. SYSTEM DESIGN-

NORMALISATION
DATA DICTIONARY
INPUT DESIGNS

6. CODING, TESTING, IMPLIMENTATION AND MAINTENANCE-

CODING
TESTING
IMPLIMENTATION
MAINTENANCE

7. CONCLUSION-
CONCLUSION AND POSSIBLE FURTHER STUDIES

GLOSSARY, BIBLIOGRAPHY AND INTERNET SITES

1
COURSE MANAGEMENT SYSTEM

INTRODUCTION

The Course Management System project deals with the course


management of Students.
In the Proposed System , The Teachers and Students Can maintain
their courses Online, in a Easy and User friendly environment.

In this System there are Different Modules for different work.

There are 3 Modules for The Admin, Instructor and Students


Respectively.

Admin Module :

Admin Logs in to the System, Admin can create Students and


Instructors and Courses and Can Also delete them.

Instructor Module :

Instructor Module Has Different Classes For Different Works.


i. Instructor Logins to the System.
ii. Instructor Creates Course and Assigns to the Students.
iii. Instructor Checks the Uploaded Homeworks and Grades
The Students.

Student Module :

In Student Module, Student logs in To The System, Checks For


Homeworks That’s Provided To Him/Her.

Than He Completes His/Her Homework and Uploads The


Homework.

He/She Can Also Check The grades provided by the Instructor for
His/Her Homework.

2
COURSE MANAGEMENT SYSTEM

1.2 CONCLUSION:-
Online course portal project is developed
in java platform. The main aim of this system is to implement an
online based mostly portal with education data which is able to
be helpful for faculty students. on-line education is one o f the
quick growing field on internet wherever users will directly solve
issues by visiting web site with none facilitate from academics.
This method had inflated scope of on-line education and on-line
courses. in conjunction with on-line courses this computer are
often updated with alternative data like job updates, on-line
communication details, coming events, government job, and tips
for teaching.

2.1. RELATIONAL MODEL

The relational model is today the primary


data model for commercial data-processing applications. It
has attained its primary position because of its simplicity,
which eases the job of the programmer, as compared to
earlier data models such as the network model. A relational
model provides a very simple yet powerful way of
representing data.
It is one record based data model. A relational database
may be the collection of one or more than one tables.
Generally each table is a relations .The relation is
considered as a table of values. The table has rows and
columns. Each row in the table represents a collection of
related data values, and each row is a record.
STUDENT:
ROLL NAME COURSE
1 Smith CS
2 Black Physics
3 Brown CS
4 John Chemistry
5 George Physics

3
COURSE MANAGEMENT SYSTEM

In the above table student each row corresponds to one


student.

2.1.1. TERMS OF RELATIONAL MODEL:-


(1)DOMAIN: A domain has name, data type and
format. It contains the atomic values. In the above table of
student ROLL is a domain .Precisely speaking each column
in the table is a domain. A domain is a pool of values from
which the actual values appearing in a given column are
drawn.
E.g.,
The values appearing in the roll column of both
student and mark table are drawn from the domain of all
valid roll numbers.
(2)TUPLE: Rows of each table are referred as a tuple. It is
a record..
(3)ATTRIBUTE: Columns are usually referred as
attributes.
(4)RELATION: Tables are usually referred as relations.

2.1.2. RELATIONAL CONSTRAINTS:-


(1)Domain constraints:-In a relation the following domain
of constraints are followed:
 Value of each attribute must be
atomic.
 The datatypes should be standard
data types (integer, real numbers,
fixed length, etc).
 Range of values for the domains.

(2)Key constraints:-Under this are:


(i)Primary key should be in
relation to identify all the entities uniquely.
(ii)Candidate key should be
there if there are more than one keys.
(iii)It has to be defined
whether null values are allowed or not. If null values are
not to be allowed then it should be defined NOT NULL.

4
COURSE MANAGEMENT SYSTEM

(3)Relational data base constraints (or) Relational data


base schema constraints:-A data base contains many
relations with each relation having multiple tuples and the
tuples in the relation are relating in various ways. Relation
are relating in various ways .Relational integrity
constraints is maintained among the relations.
(4)Entity integrity, referential integrity, and foreign
keys:-
(i)Entity integrity:-No primary key value can
be null.
(ii)Foreign key:-Suppose student relation is
having student# and it uses dept# for relating with
department relation and the dept# is the primary fey of the
relation department. Then dept# is the relation Student is
the foreign key for the relation student.

E.g.,
STUDENT DEPT
STUDENT# NAME DEPT# DEPT# DNAME
1 Xxx 10 10 Phy.
2 Yyy 10 20 Chem.
3 Zzz 20 30 CS

(iii)Referential integrity:-This constraint is


specified between two relations and is used to maintain the
consistency among the tuples of the two relations. For referential
integrity foreign key is a must.

2.1.3. RELATIONAL DATABASE LANGUAGES:-


A relational data base language provides notations for deriving
information from the permanent relations in a database. These
are many such languages available. But must of them are based
on one of two fundamental approaches:

1. Relational Algebra: In which specialized


operators are applied to relations.

5
COURSE MANAGEMENT SYSTEM

2. Relational Calculus: Which is based on predicate


calculus and in which queries are expressed by specifying a
predicate that tuple must specify.
2.1.4. RELATIONAL DATABASE
A relational database is a shared repository of data. To make
data from a relational database available to users, we have to address
several issues. One is how users specify request for data: Which of
the various query languages they use? Most widely used query
language is SQL (Structured Query Language). Apart from SQL there
are two other languages, QBE (Query-by-Example) and Datalog,
which offer alternative approaches to querying relational data.
Another issue is data integrity and security; databases need to
protect data from damage by user actions, whether unintentional or
intentional. The integrity maintenance component of a database
ensures that updates do not violate integrity constraints that have
been specified on the data. The security component of a database
include authentication of users, and access control, to restrict the
permissible actions for each user.

2.2. SQL
The formal languages provide concise notation for representing
queries. However, commercial database systems require a query
language that is more users friendly. The most influential
commercially marketed query language is SQL. SQL is a non-
procedural language i.e., the user describes the desired information
without giving a specific procedure for obtaining that information.
SQL user a combination of relational-algebra and relational-calculus
constructs. Although we refer to SQL language as a “query
language,” it can do much more than just query a database. It
can define the structure of the data, modify data in the database,
and specify security constraints.
The SQL language has several parts:
 Data-definition language (DDL). The SQL DDL provides
commands for defining relation schemas, deleting relations, and
modifying relation schemas.
 Interactive data-manipulation language (DML). The SQL
DML includes a query language based on both relational-algebra and
the tuple relational calculus. It includes also commands to insert
tuples into, delete tuples from, and modify tuples in the database.

6
COURSE MANAGEMENT SYSTEM

 View definition. The SQL DDL provides commands for defining


views.
 Transaction control. The SQL includes commands for
specifying the beginning and ending of a transaction.
 Data-control language (DCL). The SQL DCL provides
commands for securing the database.
2.2.1. BASIC STRUCTURE OF SQL
The basic structure of SQL consists of three clauses:
 The select clause corresponds to the projection operation of the
relational-algebra. It is used to list the attributes desired in the result
of the query.
 The from clause corresponds to the Cartesian-product operation
of the relational-algebra. It lists the relations to be scanned in the
evaluation of the expression.
 The where clause corresponds to the selection predicate of the
relational-algebra. It consists of a predicate involving attributes of
the relations that appear in the from clause.

7
COURSE MANAGEMENT SYSTEM

Example:
Select A1,A2,…,An
From T1,T2,…,Tm
Where P
Each Ai represents an attribute, and each Ti represents a
relation. P is a predicate.

2.3. PL/SQL

PL/SQL is an extension of SQL.It uses the procedural techniques


such as coping and branching to process the data. Thus, PL/SQL is
the combination of data manipulating power of procedural languages.

2.3.1. ADVANTAGES OF PL/SQL:-


 PROCEDURAL CAPABILITY: Loops, branching assignments etc
are used in PL/SQL which is used in traditional programming
languages.
 IMPROVED PERFORMANCE: Instead of sending the SQL
statements one by one, In PL/SQL the entire blocks of
statements can be send to the RDBMS at one time.
 ENHANCED PRODUCTIVITY: Instead of using multiple trigger
state the developer can use an entire PL/SQL block as a
trigger.
 PORTABILITY: PL/SQL are portable to any computer hardware
and operating system environment.
 INTEGRATION WITH RDBMS: PL/SQL integrates with any
RDBMS in native datatype declaration.

2.3.2.BASIC STRUCTURE OF PL/SQL BLOCK


 DECLARATION
 EXECUTION OF STATEMENTS
 ERROR HANDLING

8
COURSE MANAGEMENT SYSTEM

EXAMPLE:
declare
xyz number (3);
begin
select 12*12 into xyz
from dual;
insert into temp values (xyz);
end;
Here xyz is an integer declared, dual is a dummy table, and temp is an
existing table.

2.4. ORACLE
Oracle is one of the RDBMS package.
2.4.1. BENEFITS OF USING ORACLE:-
1. Large data bases and space management control:-
Oracle supports the largest of
Databases.
2. Many concurrent database users:-
It supports a large no. of concurrent
Data base users executing a variety of data base
application.
3. Hide transaction process performance:-
Data base users do not suffer from
slow processing performance.
4. High availability:-
In some sites oracle works for 24
hours per day and in normal system operation such data
bases break up and partial computer system failure do not
interrupt data base use.
5. Controlled availability:-
Oracle ca n selectively control the
availability of data at the data base level and sub data level.
6. Industry accepted standards:-
It satisfy the require standard for the
data access languages, operating system user interface and
networking command protocols.

9
COURSE MANAGEMENT SYSTEM

7. Manageable Security:-
To protect against unauthorized
data base access and use Oracle provide fail and safe
security feature to limit and minitror data access.
8. Data base enforce Integrity:-
It enforce data integrity, it
supports client server environment.
9. Distributed Data Base System:-
Oracle combines the data physically
located on different computer to one logical data base that
can be accessed by all data base users. Distributed system
has the same degree of transparency and consistency as in
distributed system and receive the advantages of local data
base management .
10. Portability:-
Application developed for Oracle can be
proved to any operating system with little or no
modification.
11. Connectivity:-
Oracle allows different types of computers
and operating system to share information across networks.

An Oracle database has both the logical and physical structure.


2.4.2. Physical database structure:
An Oracle database physical structure determined by the
OS files that constitute the database. Each Oracle database is
comprised of three types of files.
1. One or more data files.
2. Redo log files.
3. One or more control files.

The files of a database provide the actual physical storage for


database information.
2.4.3. Logical structure:
1. An Oracle database logical structure is determined by one
or more table spaces.
2. The database schema objects.
These are clusters, tables, views, sequences, stored procedures.

10
COURSE MANAGEMENT SYSTEM

Table space:
A database is divided into logical storage units called
table space. A database may have one or more table spaces.
Each table space has one or more data files.
Table:
A table is the basic unit of data storage in an Oracle
database. The tables of the database hold all of the user
accessible data.
Views:
A view is a custom-tailored presentation of the data in
one or more tables. It can also thought as stored query.
Sequence:
A sequence simplifies the application program by
generating a serial list of unique numbers for a numeric column
in database.

3.1 OBJECT OF STUDY

The main aim of research methodology is to enable the


developers to get into the original systems being used by the
users in reality and make the system that would be
computerized more efficient, convenient, and easy to understand
and work on it. By research methodology we can also find out
the difficulties and hiccups in the original system being used
and also we can find out the efficiency of the computerized
system in comparison to the original system. By research
methodology we can also find out the kind of outputs the user
wants and in what format. Research methodology helps
understand the existing system and develop an efficient system.

3.2 LITERATURE SURVEY


In this chapter we learn and experience the
details of the existing system before pursuing any project
activity. The information gathered from the end user is
accounted to form the basis of creating the design strategy.
3.2.1 Existing Systems Investigation
We made a preliminary survey of the Course Management
System of the college i.e., how and what information about a

11
COURSE MANAGEMENT SYSTEM

student is stored, how many different kinds of records are


maintained, in what way they are maintained and what do they
contain. We studied the whole existing process by the following
methods:
3.2.1.1 Interviews
First of all we found out who all are the
administrative staffs dealing with all the information that we
require. Then we took the permission from the administration so
that we can interview the staff members. Then we asked for their
time and availability so that we could interact with them.
Discussions with the staff helped us to find the scope,
functionality and objective of the system. An interactive interview
with the employees and their process of data handlings helped
us find out their requirements and the problems with the
current system.

3.2.1.2 Record Reviews


A variety of journals, reports and official
documents were shown to us to know the status of the existing
system. The different types of reports prepared by the clerks
where also studied to visualize and characterize the system, its
integrated components and operational use.
3.2.1.3 Observations
The project references and manuals were
observed which helped in understanding the system in a better
way. We were also given to observe the type of reports that are
generated and the references made for the generation of those
reports. We also observed the problems faced by the staff
members in all areas of this system.

4.1. Problem Identification


From all the interviews, studies on systems like
record maintenances, report preparations, etc we found many
problems that the staff was facing. They are:
 Wastage Of Time:
The staff was wasting a lot of time in
entering the data into the different type of registers of all
students.

12
COURSE MANAGEMENT SYSTEM

 Wastage Of Paper:
There is a lot of paper wastage because
the staff uses a lot of registers and books to store the data of
hundreds of students every year.
 Data Duplicacy:
Before entering every record they have to make
sure that the same record doesn’t exist. They have to check the
same for every record while entering the data into every register.
 Scattered Data:
When all the data about a particular
student is needed, the employee has to search for all the
scattered records which takes a long time to collect.
 Data Security:
The data stored in the registers and books
is not secure as any unauthorized person can access the data at
anytime without the will and permission of the administration
staff.

 Inefficient Reports:
The report required by the management
cannot be obtained immediately and it requires extensive effort
by the staff and officials to generate a simple report, which is
often error prone.
 Roll Number: The system of roll numbering a student is also
not convenient as the roll numbers are getting repeated every
three years. This may lead to the confusion while retrieving the
data about a particular student unless he mentions his year of
joining. If we use this kind of roll numbering even after
computerization of this Course Management System then we
will face problems for the uniqueness of student as roll number
is the primary key for the identification of the student.

4.2. Proposed Computer System


The effective system management requires well-coordinated
and integrated approach towards various problems with respect
to the system. In order to achieve the maximum contribution to
the efficiency and effectiveness of the Course Management
System (SIS) preparation of PRESIDENCY(A) College,

13
COURSE MANAGEMENT SYSTEM

Berhampur, everything has to be computerized. The proposed


Course Management System shall be capable of performing the
following functions:
 Standardized data collection routines.
 Formatted SIS modules, data input/entry form.
 Efficient information flow, flexibility to the system.
 Efficient management decision supported system flexibility.
 Efficient database, control handling and maintenance
 Effective and efficient data security, consistency, integrity,
and non-redundancy enable.
 Formatted and efficient reports generations as per the
client’s requirements.

4.3. Feasibility Study


An important outcome of the preliminary
investigation is the determination of whether the system
requested is feasible or not. The feasibility study is undergone
through.

4.3.1. Technical Feasibility:


Whether the work for the SIS project can be
done with thr4 current equipment, existing software technology
is required, what is the likelihood to be developed? Technical
feasibility on the key points.
 Software specified
 Hardware specified
 Availability of skilled person to operate the system
4.3.2. Economical Feasibility:
Whether there are sufficient benefits in creating
the system to make the costs acceptable or not and the costs of
not creating so great that the project must be undertaken.
4.3.2.1. Operational Feasibility:
Whether the system will be used after
development and implementations whether there will be
resistance for users that will undermine the possible
applications benefits Operational feasibility depends on the
following key points.

14
COURSE MANAGEMENT SYSTEM

 Sufficient encouragement and support from the management


side regarding the project.
 Enthusiastic end users to use computerized system.
 The proposed system is based on exactness of the current
system.

4.4. CONVERSIONS OF RELATIONS

4.4.1. ENTITY SETS:-

4.4.1.1 STUDETAIL:-
{ Roll no, Name, Date Of Birth,
Registration Number, Tc Number, Sex, Religion, Category,
Nationality, Marital Status, Mother Tongue, Father’s Name,
Father’s Occupation, Course Taken, Staying With, Date Of
Admission, Phone, Present Address, Permanent Address }.
4.4.1.2 ACADEMIC:-
{ Roll no, Class, Name Of Board/University Passed, Name Of
School/College Passed, Maximum Marks, Marks Secured,
Division, Status, Year Of Passing}.

4.4.1.3 SPECIAL:-
{Roll no, Nss, NCC, Sports, Cultural Activities}.
4.4.1.4 COURSE:-
{C_id, C_name}.
4.4.1.5 DUES:-
{Roll no, Year, Fine Clearance, Fees Clearance}.
4.4.1.6 ATTENDANCE:-
{Roll no, Year, Month, Number Of Working Days, Number Of
Days Present}.
4.4.1.7 EXAMINATION
{Roll no, Year, Month, Status (i.e. the Student appeared the
examination or not), Examination Name, C_id, Maxmarks,
Marksec}.

4.4.2. RELATIONSHIP SETS:-


4.4.2.1 WITH:-
It is a one-to-many relationship that associates with the entity
set STUDENT and the entity set ACADEMIC HISTORY.

15
COURSE MANAGEMENT SYSTEM

4.4.2.2. MAY HAVE:-


It is a one-to-many relationship that associates the entity set
STUDENT and the entity set SPECIAL PERFORMANCE.
4.4.2.3. HAVING:-
It is a one-to-many relationship that associates the entity set
STUDENT and the entity set EXAMINATION DETAILS.
4.4.2.4. TAKING:-
It is a one-to-many relationship that associates the entity set
STUDENT and the entity set COURSE.
4.4.2.5. HAS:-
It is a one-to-one relationship set that associates the entity set
STUDENT and the entity set ATTENDANCE.

4.4.2.6. PAY:-
It is a one-to-many relationship set that associates the entity set
STUDENT and the entity set DUES.

4.4.2.7. CONSIST OF:-


It is a one-to-many relationship set that associates the
ntity set EXAMINATION DETAILS and the entity set COURSE.

16
COURSE MANAGEMENT SYSTEM

4.4.3 E-R Diagram


DATA FLOW DIAGRAM

17
COURSE MANAGEMENT SYSTEM

4.5. Existing system design


The Course Management System project deals with the overall
details of the student after admission. Once a student get
admitted the college maintains five different registers to have
his/her data,they are—(i)Admission register (ii)Long Roll register
(iii)Fee Control register (iv)Attendance register (v)Exam Detail
register. These registers are related to each other by the students
roll number. This system contains the student detail, academic
history of the student, the courses taken, due report, attendance
and exam detail.
4.5.1. Student Detail: Necessary information of the student
is maintained or stored by the college. By referring this record
one can get the complete data of the student.
4.5.2. Academic History: College maintains the academic
history of the exams passed by the student. A student can have
more than one academic history according to the class.
4.5.3. Course: College provides different combination of
courses for different streams-Arts/Science/Commerce and wings
+2/+3/P.G.Each course have course name and course id.
4.5.4. Dues: The fee control register deals with the dues of
the student. This shows the clearance status of the student. This
clearance permits a student to appear the examination.
4.5.5. Special Performance: The extra curricular activities of
a student are stored in this record. They are if the student had
taken part in NCC, NSS, Sports or any other cultural activities.
4.5.6.Attendance:The attendance of a student which shows
the regularity of the student is maintained in the attendance
register.
4.5.7.Exam Details: An exam detail report of each student
is maintained, this shows the examination status of the student.
This includes the exam name, the course id, whether appeared

18
COURSE MANAGEMENT SYSTEM

the exam or not, the maximum mark of the exam and the mark
secured by the student.

5.1 NORMALIZATION
5.1.1 STUDETAIL:-
Before normalization the STUDETAIL table was as follows:-
5.1.1.1 STUDETAIL:-

ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT ADDRESS
PERMANENT
ADDRESS
COURSE TAKEN

1NF:

The relation STUDETAIL is not in first normal form


because the attribute COURSE TAKEN is a multivalued
attribute. As for 1NF the attribute of the relation should be
atomic data items. So by making COURSE TAKEN into atomic
data items the relation can be converted into 1NF.
So the table will be as follows:-
5.1.1.2.STUDETAIL:-

19
COURSE MANAGEMENT SYSTEM

ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT
ADDRESS
PERMANENT
ADDRESS
COMPULSORY 1
COMPULSORY 2
OPTIONAL 1
OPTIONAL 2
OPTIONAL 3
FOURTH OPTIONAL
COMPULSORY 1
COMPULSORY 2
COMPULSORY 3
COMPULSORY 4
MAJOR ELECTIVE
MINOR ELECTIVE
CORE COURSE 1
CORE COURSE 2
CORE COURSE 3
CORE COURSE 4
STATUS

2NF:
The relation STUDETAIL is already in 2NF as it is in 1NF
and all non-key attributes are dependent on key attribute
ROLLNO.

20
COURSE MANAGEMENT SYSTEM

3NF:
In this relation, when the record of a +2 student is
entered, then the Compulsory 1, Compulsory 2, Optional 1,
Optional 2, Optional 3 and Fourth Optional fields are filled up
and all other fields are remains empty. Similarly for +3 some
other fields are filled up and all other fields are remaining blank.
As a result, it is observed that most of the column names remain
blank for a specific record.
Hence, the relation STUDETAIL is splitted into the
following relations:-
(I) STUDENT
(II) STUDENT_HIGHER_SECONDARY
(III) STUDENT-DEGREE
Hence, the STUDETAIL
relation is separated into three different tables by which it will be
in 3NF and the relations are as follows:-

5.1.1.3(a) STUDENT-

ROLLNO
NAME
DOB
REGDNO
SEX
RELIGION
CATEGORY
NATION
MS
DOA
MTONGUE
TCNO
FNAME
FOCCUPATION
STAYING WITH
PRESENT ADDRESS
PERMANENT
ADDRESS

5.1.1.3(b) STUDENT-HIGHER-SECONDARY-

21
COURSE MANAGEMENT SYSTEM

ROLLNO
COMPULSORY 1
COMPULSORY 2
OPTIONAL 1
OPTIONAL 2
OPTIONAL 3
FOURTH
OPTIONAL

5.1.1.3(c) STUDENT-DEGREE:-

ROLLNO
STATUS
HONOURS
COMPULSORY 1
COMPULSORY 2
COMPULSORY 3
COMPULSORY 4
MAJOR ELECTIVE
MINOR ELECTIVE
CORE COURSE 1
CORE COURSE 2
CORE COURSE 3

5.1.2. COURSE:-
Before normalization the COURSE table
was as follows:-

5.1.2.1. COURSE:-

C-ID
C_NAM
E

1NF:
The relation COURSE is in 1NF as all its attributes are
atomic data items.

2NF:

22
COURSE MANAGEMENT SYSTEM

It is already in 2NF as it is already in 1NF and the non-key


attribute C_NAME is dependent on key attribute C_ID.
3NF:
It is already in the 3NF as it is already in 2NF and non-key
attribute C_NAME is independent.

Hence, after normalization the table will remain unchanged and


will be as follows:-

5.1.2.2 COURSE:-

C-ID
C_NAM
E

5.1.3 ATTENDANCE:-
Before normalization the table
was as follows:-

5.1.3.1 ATTENDACCE:-

ROLLNO
YEAR
MONTH
NO. OF WORKING
DAYS(NOWD)
1NF:
NO. OF DAYS PRESENT(NODP)
The
relation ATTENDANCE is in 1NF as all its attributes values
are atomic data items.
2NF:
The relation is already in 2NF. Because it is already in
1Nf and non-key attributes NO. OF DAYS PRESENT (NODP),
NO. OF WORKING DAYS (NOWD) and MONTH are fully
functional dependent on the key attributes ROLLNO and
YEAR.
3NF:
It is already in 3NF. Because it is already in 2NF and all
non-key attributes MONTH, NO. OF DAYS PRESENT (NODP)
are independent to each other. Hence, it is in 3NF.

23
COURSE MANAGEMENT SYSTEM

So, after normalization the relation


remains unchanged and will be as follows:-
5.1.3.2 ATTENDANCE:-

ROLLNO
YEAR
MONTH
NO. OF WORKING
DAYS(NOWD)
NO. OF DAYS PRESENT(NODP)

5.1.4 DUES:-
Before normalization the DUES relation is as
follows:-

5.1.4.1 DUES:-

ROLLN
O
YEAR
FEES
FINES

1NF:
The relation DUES is in 1NF. As all the attributes values
are atomic data items.
2NF:
The relation is already in 2NF. Because it is already in 1NF
and all non-key attributes fees and fines are fully functionally
dependent on ROLLNO.
3NF:
The relation is already in 3NF. Because it is already in 2NF
and all non-key attributes fees and fines are independent to each
other.
Hence, after
normalization the relation will be as follows:-
5.1.4.2 DUES:-

ROLLN
O

24
COURSE MANAGEMENT SYSTEM

YEAR
FEES
FINES

5.1.5 SPECIAL PERFORMANCE:-


Before normalization
the table was as follows:-

5.1.5.1 SPECIAL:-

ROLLNO
NCC
NSS
SPORTS
CULTURAL

1NF:
The relation is in 1NF. As all its attributes values are
atomic data items.
2NF:
It is already in 2NF. Because it is already in 1NF and all its
non-key attributes NCC, NSS, SPORTS, CULTURAL are fully
dependent on ROLLNO.
3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes NCC, NSS, SPORTS, CULTURAL are independent to
each other.

Hence, after normalization the


relation will as follows:-

5.1.6. ACADEMIC HISTORY:-


Before normalization the
table was as follows:-

5.1.6.1 ACADEMIC:-

ROLLNO
CLASS

25
COURSE MANAGEMENT SYSTEM

NAME OF BOARD/UNIVERSITY
PASSED (NOBU)
NAME OF SCHOOL/COLLEGE
PASSED (NOSC)
ANNUAL/SUPPLIMENTARY (STATUS)
MAXIMUM MARKS (MAXMARKS)
MARKSECURED (MARKSEC)
DIVISION
YEAR OF PASSING (YOP)

1NF:
It is already in 1NF. As all attributes values are atomic
data items.
2NF:
It is already in 2NF. As it is in 1NF and all non-key
attributes are fully functionally dependent on key attribute
ROLLNO.
3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes are independent to each other.
Hence, after normalization the relation will as
follows:-

5.1.6.2 ACADEMIC:-

ROLLNO
CLASS
NAME OF BOARD/UNIVERSITY
PASSED (NOBU)
NAME OF SCHOOL/COLLEGE
PASSED (NOSC)
ANNUAL/SUPPLIMENTARY (STATUS)
MAXIMUM MARKS (MAXMARKS)
MARKSECURED (MARKSEC)
DIVISION
YEAR OF PASSING (YOP)

5.1.7. EXAMINATION DETAILS:-


Before normalization the
table was as follows:-

26
COURSE MANAGEMENT SYSTEM

5.1.7.1 EXAMINATION:-

ROLLNO
YEAR
MONTH
C_ID
EXAMINATION NAME (ENAME)
EXAMINATION STATUS (ESTATUS)
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)

1NF:
It is already in 1NF. As all attributes values are atomic
data items.
2NF:
It is in 1Nf. But the non-key attributes MONTH,
EXAMINATION NAME (ENAME), EXAMINATION STATUS
(ESTATUS) are fully functional dependent on key attributes
ROLLNO and YEAR. On the other hand the non-key attributes
MONTH, MAXIMUM MARKS (MAXMARKS), MARKSECURED
(MARKSEC) are fully dependent on all the key attributes
ROLLNO, YEAR, C_ID.C_ID, MAXMARKS, and MARKSEC are
multivalued data items. Hence, by making two relations the
relation can be made in 2NF.
So, after 2NF the relation will as follows:-

(I) EXAMINATION
DETAIL
(II) MARKS DETAIL

5.1.7.2. EXAMINATION DETAIL:-

ROLLNO
YEAR
MONTH
EXAMINATION NAME (ENAME)
EXAMINATION STATUS
(ESTATUS)

5.1.7.3 MARKS DETAIL:-

27
COURSE MANAGEMENT SYSTEM

ROLLNO
YEAR
MONTH
C_ID
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)

3NF:
It is already in 3NF. As it is in 2NF and all non-key
attributes are independent to each other.
Hence, after normalization the relation will as
follows:-

5.1.7.4 EXAMINATION DETAIL:-

ROLLNO
YEAR
MONTH
EXAMINATION NAME (ENAME)
EXAMINATION STATUS (ESTATUS)

5.1.7.5 MARKS DETAIL:-

ROLLNO
YEAR
MONTH
C_ID
MAXIMUM MARKS (MAXMARKS)
MARK SECURED (MARKSEC)

5.2 DATA DICTIONARY

5.2.1. STUDETAIL:-

DATA ITEM DATA TYPE LENGTH DESCRIPTION


ROLLNO NUMBER 7 It identifies a unique
student.

28
COURSE MANAGEMENT SYSTEM

NAME CHARACTE 30 It shows the name of the


R student.
DOB DATE 7 It shows the date of birth of
the student.
REGDNO VARCHAR2 10 It identifies a unique
student by his/her
registration number.
SEX CHARACTE 1 It identifies the sex of the
R student whether male (M)
or female (F).
RELIGION CHARACTE 10 It shows the religion of the
R student whether he/she is
Hindu/Muslim/Christian/
Other etc.
CATEGORY CHARACTE 3 It identifies the category of
R the student to which
he/she belongs to, i.e.
whether he/she is
SC/ST/OBC/GEN.
NATION CHARACTE 10 It shows to which country
R the student belongs to, i.e.
whether Indian/Others.
MS CHARACTE 1 It shows whether the
R student is Married (M) or
Unmarried (U).
DOA DATE 7 It shows on which date the
student had taken
admission in the college.
MTONGUE CHARACTE 10 It shows in which language
R the student used to talk
with other at home/other
places in general such as
Oriya/Hindi/Bengali/Telug
u etc.
TCNO VARCHAR2 10 It is the transfer certificate
number of the student. A
student is an active student
of the college till him/her
taking TC.
FNAME CHARACTE 30 It shows the name of the

29
COURSE MANAGEMENT SYSTEM

R father of the student.

FOCCUPATI- CHARACTE 20 It shows the designation of


ON R the student’s father.

STAYINGWI- CHARACTE 19 It shows with whom and


TH R where does the student live
while studying in the
college.
PRESTATE CHARACTE 20 It shows the present state
R name of the student where
he/she is staying presently
while studying in the
college.
PRECITY CHARACTE 20 It shows the present city
R name of the student where
he/she is staying presently
while studying in the
college.
PHONE VARCHAR2 10 It shows the contact
number of the student if
he/she has the telephone
facility.
PRESTREET CHARACTE 20 It shows the present street
R name of the student where
he/she is staying presently
while studying in the
college.
PREPIN NUMBER 6 It shows the present city’s
code or pin number of the
student where he/she is
staying presently while
studying in the college.
PERSTREET CHARACTE 20 It shows the permanent
R street name of the student
where he/she is staying
permanently while studying
in the college.
PERCITY CHARACTE 20 It shows the permanent city
R name of the student where

30
COURSE MANAGEMENT SYSTEM

he/she is staying
permanently while studying
in the college.
PERSTATE CHARACTE 20 It shows the permanent
R state name of the student
where he/she is staying
permanently while studying
in the college.
PERPIN NUMBER 6 It shows the permanent
city’s code or pin number of
the student where he/she
is staying permanently
while studying in the
college.

6.2 Testing
Every software developed must be tested for its efficiency
and consistency. There are two types of testing. Namely:
 Unit testing and
 Integrated testing
6.2.1 Unit testing

31
COURSE MANAGEMENT SYSTEM

The unit testing used to feed the functionality & reliability


of individual modules developed separately. This testing avoids
errors and bugging easy. Compilation problem is isolated.
6.2.3 Integrated Testing
After different modules are separately tested
all the tested modules are compiled & integrated as a whole then
the whole system is tested with the real/dummy data.
As a whole the integrated system
is then tested by the officials who deal with this kind of system
in real, to find out whether the software developed is efficient,
consistent and useful in their way of dealing or not. After all the
hiccups in the software development are over the software is
then is all set for implementation.

6.3 IMPLIMENTATION

After all the coding is over and testing is over from end users and
officials the next step is system implementation. System
implementation contains:
 System Manual
 User Manual
6.3.1 System Manual:
This has all information about hardware and
software requirements, and how the system is to be installed.
Some of the salient features of the project are:

 Highly User friendly


 Highly Interactive
 Secured Data
 Authorized User Entry
 Changing Own Password
 Administrator Privileges
 Data backup & Recovery system
 Highly Multiquery flexible
 Efficient error trapping
 Better Reporting facility

Requirements:

32
COURSE MANAGEMENT SYSTEM

Hardware Requirements:
The machine and accessories are used-
 Machine – Pentium –III
 Processor – 733 MHz
 Main Storage – 69MB
 Hard Disk – 20GB
 Printer -- Laser
Software Requirements:

The software used are –


 Operating System – Windows XP
 Front End – HTML & JSP
 Back End – Oracle10g
6.3.2 DSN Setup:
To install or to run the application the DSN (Data Source
Name) should be set properly. To set the DSN follow the following
steps.
i. Open control panel.
ii. Click - >ODBC Data Sources (32bit)
iii. Click User DSN tab..
iv. Click Add
v. In next window Select the driver
vi. 'Microsoft ODBC for Oracle'
vii. Click Finish
viii. In the next window
ix. Type 'oracle' in Data Source Name Field
x. Click OK
Another thing in the regional settings of your system date format
should be dd/mm/yyyy.

Installation:
To install the Course Management System project
go to the Package folder and open it. There will be a file called
setup.exe just double click it to run the installing program. The
project will be then automatically installed.

33
COURSE MANAGEMENT SYSTEM

After the successful installation of the project we


will find the Course Management System under programs in
start menu.
6.3.3 User Manual:
Course Management System (SIS) is a user
friendly and interactive project based on Graphic User Interface
system.
It permits two types of authorized people. Namely
 Users and
 Administrator
Users:
These are the authorized people who can login and do the
following jobs:
 Data Entry
 Data Modification
 Report Generation
Administrator:
He is the prime authority of the project. He can do the jobs
of a user as well as the following jobs:
 Delete User
 Delete Data
 Create New User
 Import and Export Data
User Login:
Before login the user gets a screen with two command
buttons start and exit. After clicking on the start button the
user gets a login form with username and password. To enter
into the system the user has to then supply his username and
password. After the user has successfully logged into the system
he will get the main screen, where he will find different options
to which he is authorized to. Then he can do the work of his
requirement. He can even change his own password. After the
work is over he can successfully log out by clicking exit or by
using shortcut keys Ctrl+X.

Administrator Login:
Administrator can also log into the system as does the
user, with his username and password. He also then gets the

34
COURSE MANAGEMENT SYSTEM

main screen with all the privileges. Then he can successfully do


his own work and exit in the style the user does.
6.3.3.1 Operational Manual:
The user after getting into the main screen he can the
following jobs in the following ways:
 Data Entry:
For data entry the user has to supply the
roll number of the student in every form as it is the primary key
for identification of a particular student. If the user enters any
kind of peculiar data or invalid data the system produces an
error message and guides the user for correct data entry.

 Report Generation:
Here, first the user has to click in a
combo box on the type of report he wants and then click on the
report command button. Then there he gets a common dialog
box to make the user to select the kind of file for output where
the output can be stored.
 Data Modification:
Here the user can modify the data if
suppose he thinks that he has entered any wrong data.
6.4 MAINTENANCE:
The main aspect of maintenance is providing
Database Backup and Recovery, Import and Export.
6.4.1 Database Backup and Recovery:
A DBMS must provide facility for recovering from
hardware or software failures. The backup and recovery
subsystem of the DBMS is responsible for recovery. For
Example, if the computer system fails in the middle of a
complex update program, the recovery subsystem is
responsible for making sure that the database is stored to
the state it was in before the program started executing.
Alternatively, the recovery subsystem could ensure that the
program is resumed from the point at which it was
interrupted so that its full effect is recorded in the database.
6.4.2 Import and Export:
In this application as we are using Oracle as the
back end for data storage, we use the import and export facilities

35
COURSE MANAGEMENT SYSTEM

provided by the Oracle product. This is implemented by a batch


file which contains the command.

A.1: Why JAVA is Important to Internet

The internet helped catapult JAVA to the forefront of


programming, and JAVA, in turn, has had a profound effect on the
internet. The reason is quite simple: JAVA expands the universe of
objects can move about freely in cyberspace. In a network two very
broad categories of objects are transmitted between the server and
client: passive information and dynamic, active programs. For
example when we read our email, we are viewing passive data.
However a second type of object can be transmitted to the client’s
computer yet is initiated by the server. For example, a program might
be provided by the server to display properly the data that the server
is sending.

APPENDIX - B: WEB SERVER

A user enters a Uniform Resource Locator (URL) into a browser. The


browser generates an HTTP request to the appropriate web server. The
web server maps this request to a specific file.

There are two types of web servers:


 Stand-Alone web server.
 Built in web server

There are two types of architectures of the web server:


 2-Tier Architecture
 3-Tier Architecture

B.1: 2-Tire Architecture

In the traditional 2-tier architecture there existed only the server and
the client. In most cases the server was only a data base server that
can only offer data. Therefore majority of the business logic i.e.,
validations etc. had to be placed on the clients system. This makes
maintenance expensive. Such clients are called as ‘fat clients’. This
also means that every client has to be trained as to how to use the
application.

36
COURSE MANAGEMENT SYSTEM

Figure B.1 2-Tier Architecture

B.2: 3-Tier Architecture

To over come the demerits of 2-tier architecture, 3-tier architecture


model is proposed. An application is broken up into three separate
logical layers, each with a well-defined set of interface. The first tier is
referred to as the presentation layer and typically consists of a
graphical user interface of some kind. The middle tier, or business
layer, consists of the application or business logic and the third tier-
the data layer – contains the data is needed for the application. The
following are the advantages in the web server.
 Clear separation of user-interface-control and data presentation
from application-logic. Through this separation more clients are
able to have access to a wide variety of server applications. The
two main advantages for client-applications are clear: quicker
development through the reuse of pre-built business-logic
components and a shorter test phase, because the server-
components have already been tested.
 Re-definition of the storage strategy won’t influence the clients.
RDBMS’ offer a certain independence from storage details for
the clients. However, cases like changing table attributes make
it necessary to adapt the client’s application. In the future, even
radical changes, like let’s say switching form an RDBMS to an
OODBS, won’t influence the client. In well designed systems,
the client still accesses data over a stable and well designed
interface which encapsulates all the storage details.
 Business-objects and data storage should be brought as close
together as possible, ideally they should be together physically
on the same server. This way - especially with complex accesses
- network load is eliminated. The client only receives the results
of a calculation - through the business-object, of course.
 In contrast to the 2-tier model, where only data is accessible to
the public, business-objects can place applications-logic or
"services" on the net. As an example, an inventory number has

37
COURSE MANAGEMENT SYSTEM

a "test-digit", and the calculation of that digit can be made


available on the server.
 As a rule servers are "trusted" systems. Their authorization is
simpler than that of thousands of "untrusted" client-PCs. Data
protection and security is simpler to obtain. Therefore it makes
sense to run critical business processes that work with security
sensitive data, on the server.
 Dynamic load balancing: if bottlenecks in terms of performance
occur, the server process can be moved to other servers at
runtime.
 Change management: It is easy - and faster - to exchange a
component on the server than to furnish numerous PCs with
new program versions.

User interface

Application logic

XML
documents

Figure B.2 3-Tire Architecture

38
COURSE MANAGEMENT SYSTEM

APPENDIX – C: JSP (JAVA SERVER PAGES)

JAVASERVER Pages (JSP) technology allows you to easily create a


Web content that has both static and dynamic components. JSP
technology makes available all the dynamic capabilities of JAVA
servlet technology but provided a more natural approach to creating
static contents.

C.1: About JSP Page

A JSP page is a text document that contains two types of text: Static
data, which can be expressed in any text-based format (such as
HTML, SVG, WML, and XML) and JSP elements, which construct
dynamic content.

The recommended file extension for the source file of a JSP page is
.jsp. The page can be composed of a top file that includes other files
that contain either a complete JSP page or a fragment of a JSP page.
The JSP elements in a JSP page can be expressed in two syntaxes—
standard and XML ---- through any given file can use only one
syntax. A JSP page in XML syntax is an XML document and can be
manipulated by tools and APIs for XML documents.

C.2: Advantage of JSP

ASP is similar technology from MS. The advantages of JSP are twofold.
First, the dynamic part is written in JAVA, not VB or other MS-specific
language, so it is more powerful and easier to use. Second it is
portable to other OS and Non-MS Web servers. The main features of
JSP technology are as follows:
 A language for developing JSP pages, which are text-based
documents that describe how to process a request and
construct a response.
 An expression language for accessing server-side objects.
 Mechanisms for defining extensions to the language.

JSP technology also contains an API that is used by developers of Web


containers.

39
COURSE MANAGEMENT SYSTEM

C.3: Architecture of JSP

A JSP is simple text file consisting of HTML content along with JAVA
code called as JSP elements. When a client requests a JSP page of the
web server and it has not been run before, the page is first passed to
the JSP engine which compiles the page to a servlet, runs it and
returns the resulting contents to the client. Thereafter, the Web
server’s servlet engine will run the compiled page. The first time you
access a JSP page, you may notice that it takes a short time to
responds. This is time necessary for server to create and compile the
background servlet. Subsequent requests would be faster because the
server can reuse the servlet. The one exception is when .jsp files
changes in which case the server notices and recompiles a new
background servlet. If there is even an error in compiling, you can
expect the server to somehow report the problem usually in the page
returned to the client.

C.4: The Life Cycle of a JSP Page

A JSP page services requests as a servlet. Thus the life cycle and
many of the capabilities of JSP pages (in particular the dynamic
aspects) are determined by JAVA servlet technology. You will notice
that many sections in this chapter refer to classes and methods as
follows:

The javax.servlet.jsp.JspPage interface contains 2 methods:


Methods Usage
Public void jsplnit() This is invoked when the JSP is
initialized. This is similar to
servletinit()
Public void jspDestroy() This is invoked when the JSP is
about to be destroyed by
container.

The javax.servlet.jsp.HttpJspPage interface contains one method:


Methods Usage
Public void-jspService This method corresponds to the
(HttpServletRequest req, body of the JSP page and is used
HttpServletResponse res) throws for threaded request processing,
ServletException, IOException. just like the service () method in
the servlets.

40
COURSE MANAGEMENT SYSTEM

C.5 JSP Elements

JSP elements are the part of the JSP page which is processed on the
server. The elements can be classified in to the categories:
 Scriptlets.
 Expressions.
 Declarations.
 Directives.
 Standard Actions.

Scriptlets, Expression and declaration are generally called as scripting


elements.

APPENDIX – D: CLIENT SIDE VALIDATION

For client side validation we are using JavaScript and HTML in our
program.

D.1 JavaScript

JavaScript is a scripting language that runs solely on a JavaScript


compatible browser, i.e.: Netscape and Internet Explorer. It differs
form most other programming language in that it is relatively easy to
master, even for people who have absolutely no programming
experience whatsoever. Its main function is to enhance WebPages,
although it has grown as NS4.0 and ie4.0 shipped to a more powerful
tool capable of creating full blown applications.

D.1.1 Why learn JavaScript

With HTML you are restricted to creating static, non interactive web
pages. This in today’s internet standards is unacceptable. With
JavaScript, you can change that. Adding interactivity to a web site is
not limited to server-side programs. The client side of the web, the
browser, can generally execute code in the forms of scripting. For
HTML writers, the easiest way to being adding dynamic aspects to a
web page is through client-side scripting using JavaScript or
VBScript.

41
COURSE MANAGEMENT SYSTEM

D.1.2 What can JAVA Script Do

 Dynamic Web Pages: JavaScript can perform actions such as


generating HTML code that affects the display or the contents of
the document in the Browser. It also set the attribute or
properties of web page elements, JAVA applets and other objects
present in the browser.
 Event Handling: JavaScript’s event handling capabilities
provide greater control over the user interface that HTML alone.
With JavaScript developers can create function (i.e. Event
Handler) to be triggered in respect to user actions like button
click, mouse click, selecting an option or submitting a form.
 Built–In Objects: JavaScript provides various built in objects
(like String, Date etc) and functions for validating used inputs,
changing contents or appearance of a document etc. JavaScript
is useful for small jobs, such as checking form data; adding
small bits of HTML code to a page on the fly; and performing
browser, time and user specific computation. JavaScript is also
is a powerful means of controlling events in browser and
accessing the Document Object Model (DOM) for programming
DHTML.

D.1.3 Client-Side JavaScript

Client side JAVA script (or Navigator JavaScript) encompasses the


core language plus extras such as the predefined objects only relevant
to running JavaScript in a browser. Client- side JavaScript is
embedded directly in HTML pages and is interpreted by the browser
completely at run time.

D.2 HTML (Hyper Text Mark up Language)

Hyper Text Mark up Language (HTML) is the text mark up language


currently used to create hypertext documents that are portable from
one platform to another on the WWW. An HTML document is simply a
text file that contains information you want to publish. HTML
documents are plain text (also known as ASCII) files that can be
created using any text editor (e.g.).

42
COURSE MANAGEMENT SYSTEM

D.2.1 Strengths of HTML Standards

HTML’s strength comes from its combination of SGML machine-level


constructs (the tags and elements that tell a viewer the purpose of
document text) and standard, English text Mark up notation.

Conclusion:
This system is developed to fulfill the requirements of
the end users who are going to use this system. This system can
be used by any college if they all follow the same procedure.
Some of the salient features of this system being:

 Highly User Friendliness


 Highly Interactiveness
 Secured Data
 Authorized User Entry
 Changing Own Password
 Administrator Privileges
 Data backup & Recovery system
 Highly Multiquery flexible
 Efficient error trapping
 Better Reporting facility

This system can also be further developed by even adding


Student Admission System to it and generating the roll
numbers to the students by computerized method. Doing which
the system would have been more efficient than what they are
now. Another field for development being report generation
which could be formatted further more in a much more improved
way.

43
COURSE MANAGEMENT SYSTEM

Screenshots :

Login Screen :

Admin Login

Admin Main Menu

Course Creation

44
COURSE MANAGEMENT SYSTEM

Student Creation

Create Instructor

Student Login

45
COURSE MANAGEMENT SYSTEM

Student Menu

Check Courses

Instructor Main Menu

Upload Homework

Student Checks Assignment

46
COURSE MANAGEMENT SYSTEM

Upload Homework

Instructor Gives Grade

47
COURSE MANAGEMENT SYSTEM

CODING :

index.html

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Hello from Facelets
</h:body>
</html>

Home Page.html

<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
</head>
<body>
<h3>BlackBoard Super Lite!</h3>
<form>
<table border="1" width="100%" cellpadding="3"
cellspacing="3">
<tr>
<td><a href="studentServlet">Student</a></td>
<td><a
href="InstructorLoginPage.jsp">Instructor</a></td>
<td><a
href="AdministratorLoginPage.xhtml">Administrator</a></td>
</tr>
</table>

</form>
</body>
</html>

InstructorLoginPage.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">

48
COURSE MANAGEMENT SYSTEM
<title>Instructor Log in</title>
</head>
<body>
<h1>Instructor Log In:</h1>
<form method="post" action = "InstructorValidation.jsp">
<table border="0" width="300" cellpadding="3"
cellspacing="3">
<tr>
<td>Username:</td>
<td><input type = "text" name = "username" size =
"20"> </br></td>
</tr>
<tr>
<td>Password:</td>
<td><input type = "text" name = "password" size =
"20"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Confirm" ></td>
</tr>
</table>

</form>
</body>
</html>

InstructorValidation.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<%@ page import = "accounts.InstructorAccount" %>
<jsp:useBean id="instructor" class="accounts.InstructorAccount"
scope="session" >
</jsp:useBean>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Instructor Validation Page</title>
</head>
<body>

<% String userName = request.getParameter("username");


String password = request.getParameter("password");

if (userName.equals("") || password.equals("")) {
out.print("Username and password required");
} else {
instructor.setLogInInfo(userName, password);

if (instructor.isInDatabase()) {

49
COURSE MANAGEMENT SYSTEM
out.println("<table border=\"0\"
style=\"background-color:\" width=\"100%\" cellpadding=\"3\"
cellspacing=\"3\">");
out.println("<tr>");
out.println("<td>Welcome " +
instructor.getFirstName() + " " + instructor.getLastName() +
"</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><a
href=\"InstructorCoursePage.jsp\">Assign Hw</a></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><a
href=\"InstructorGradePage.jsp\">Assign Grade</a></td>");
out.println("</tr>");
out.println("</table>");

} else {
out.print("Please contact your instructor to
ensure you are in the system");
out.println("<p><form method=\"get\" action=" +
"InstructorLoginPage.jsp>");
out.println("<p><input type=\"submit\" value=\"Go
Back\" >");
out.println("</form>");
}

}
%>
</body>
</html>

InstructorAssignHW.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<%@ page import = "accounts.InstructorAccount" %>
<jsp:useBean id="instructor" class="accounts.InstructorAccount"
scope="session" >
</jsp:useBean>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Assign Homework</title>
</head>
<body>
<%
String course = request.getParameter("courseInstructIn");
String homeworkAssignment =
request.getParameter("homeworkAssignment");

50
COURSE MANAGEMENT SYSTEM
out.print("Creating hw file");
instructor.assignHw(course, homeworkAssignment);
out.print("<br/>");
out.println("<a href=\"InstructorCoursePage.jsp\">Go to
Instructor Main Menu</a>");
%>
</body>
</html>

InstructorChooseHW.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Pick hw to grade</h1>
<% String student =
request.getParameter("studentInstructing");
session.setAttribute("student", student);
String course = (String) session.getAttribute("course");

out.print("Student = " + student);

out.println("<form method=\"post\" action


= \"InstructorSubmitGrade.jsp\">");
out.print("<select name = \"hwChoosen\" size = \"1\">");
for (int i = 0; i < instructor.getHwNumberFromDb(course);
i++) {
out.print("<option value = HW" + (i + 1) + "> HW" +
(i + 1) + "</option>");
}
out.print("</select>");

out.print("<input type=\"text\" name=\"hwgrade\">");

out.print("<input type=\"submit\" value=\"Assign Grade\"


>");
%>
</body>
</html>

InstructorCoursePage.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">

51
COURSE MANAGEMENT SYSTEM
<title>Instructor Courses</title>
</head>
<body>
<H3><u>Instructor Homework menu</u></H3>
<%
ArrayList<String> courses = instructor.getCourses();
out.println("<form method=\"post\" action
= \"InstructorAssignHW.jsp\">");

out.println("<p>Courses Currently Teaching: ");


out.print("<select name = \"courseInstructIn\" size
= \"1\">");
for (int i = 0; i < courses.size(); i++) {
out.print("<option value = " + courses.get(i) + ">" +
courses.get(i) + "</option>");
}
out.print("</select>");
%>

</br>
Please enter your text:
</br>
<textarea name="homeworkAssignment" rows="5"></textarea>
</br>

<%
out.print("<input type=\"submit\" value=\"Pick Course\"
>");
%>
</body>
</html>

InstructorGradePage.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Pick Course</title>
</head>
<body>
<h3>Pick course to assign grades</h3>
<%
ArrayList<String> courses = instructor.getCourses();
out.println("<form method=\"post\" action
= \"InstructorAssignGradePage.jsp\">");

out.println("<p>Courses Currently Teaching: ");


out.print("<select name = \"courseInstructIn\" size
= \"1\">");
for (int i = 0; i < courses.size(); i++) {

52
COURSE MANAGEMENT SYSTEM
out.print("<option value = " + courses.get(i) + ">" +
courses.get(i) + "</option>");
}
out.print("</select>");

out.print("<input type=\"submit\" value=\"Course Picked\"


>");
%>
</body>
</html>

InstructorAssignGradePage.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Pick Student</title>
</head>
<body>
<h1>Pick Student to grade!</h1>
<%
String course = request.getParameter("courseInstructIn");
session.setAttribute("course", course);
ArrayList<String> students =
instructor.getStudents(course);
out.println("<form method=\"post\" action
= \"InstructorChooseHw.jsp\">");

out.println("<p>Students Currently Instructing ");


out.print("<select name = \"studentInstructing\" size
= \"1\">");
for (int i = 0; i < students.size(); i++) {
out.print("<option value = " +
students.get(i).substring(0, 4) + ">" + students.get(i) +
"</option>");
}
out.print("</select>");

out.print("<input type=\"submit\" value=\"Assign Grade\"


>");
%>
</body>
</html>

InstructorConfirmGrade.jsp

<!DOCTYPE html>
<html>
<head>

53
COURSE MANAGEMENT SYSTEM
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Grade has been submitted</h1>
<a href="InstructorGradePage.jsp">Go Home</a>
</body>
</html>

InstructorSubmitGrade.jsp

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Confirm</h1>
<%
String student = (String)
session.getAttribute("student");
String course = (String) session.getAttribute("course");
String hwNumber = request.getParameter("hwChoosen");
String grade = request.getParameter("hwgrade");

out.println("<form method=\"post\" action


= \"InstructorConfirmGrade.jsp\">");

instructor.setGradeInDB(student, course, hwNumber,


grade);

out.print("<input type=\"submit\" value=\"Assign Grade\"


>");

%>
</body>
</html>

AdministratorLoginPage.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>

54
COURSE MANAGEMENT SYSTEM
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="UserName:"/>
<h:inputText id="username"
value="#{account.userName}">
</h:inputText>
<h:message for="nameInputText" style="color:red"/>

<h:outputLabel value="Password:"/>
<h:inputText id="password"
value="#{account.password}">
</h:inputText>
<h:message for="nameInputText" style="color:red"/>
</h:panelGrid>

<h:commandButton value="Submit"
action="#{account.validateAdministrator}" />
</h:form>
</h:body>
</html>

AdministratorNotFoundPage.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Admin not found</title>
</h:head>
<h:body>
Administrator not found in database
</h:body>
</html>

AdministratorNotValidatePage.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Username and Password are required
</h:body>
</html>

55
COURSE MANAGEMENT SYSTEM

AdministratorValidatePage.xhtml

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Administrator Master Page</title>
</h:head>
<h:body>
<h:form>
Hello
<h:outputText value="#{account.firstName}"/>
<h:outputText value="&#160;" />
<h:outputText value="#{account.lastName}"/>
<br/>
<br/>
<h:commandLink id="studentAccountLink"
action="StudentCreateAccountPage">
<h:outputText value="Create Student Account"/>
</h:commandLink>

<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>

<br/>

<h:commandLink id="courseLink" action="CourseCreatePage">


<h:outputText value="Create Courses"/>
</h:commandLink>
</h:form>

</h:body>
</html>

CourseCreatedPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Course Succesfully inserted into system.

<h:form>

56
COURSE MANAGEMENT SYSTEM

<br/>

<h:commandLink id="studentAccountLink"
action="StudentCreateAccountPage">
<h:outputText value="Create Student Account"/>
</h:commandLink>

<br/>

<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>

<br/>

<h:commandLink id="courseLink" action="CourseCreatePage">


<h:outputText value="Create Courses"/>
</h:commandLink>

</h:form>
</h:body>
</html>

CourseCreatePage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Create Courses Here</title>
</h:head>
<h:body>
<h:form>
<h:outputLabel value="Course Name: "/>
<h:inputText id="name"
value="#{course.name}" />
<br/>

<h:outputLabel value="Course ID: "/>


<h:inputText id="id"
value="#{course.id}" />
<br/>

<h:outputLabel value="Select Instructors: "/>


<h:selectManyMenu
id="instructors_selectManyMenu"
value="#{course.selectInstructors}">
<f:selectItems
value="#{course.instructorslist}"/>

57
COURSE MANAGEMENT SYSTEM
</h:selectManyMenu>
<br/>
<h:outputLabel value="Select Students: "/>
<h:selectManyMenu
id="student_selectManyMenu"
value="#{course.selectStudents}">
<f:selectItems
value="#{course.studentsList}"/>
</h:selectManyMenu>
<br/>
<h:commandButton value="Submit"
action="#{course.courseCreationProcess}" />
</h:form>
</h:body>
</html>

CourseCreationerrorPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>ERROR</title>
</h:head>
<h:body>
Error Creating Course
<h:form
<br/>
<h:commandLink id="back" action="CourseCreatePage">
<h:outputText value="Go back"/>
</h:commandLink>
</h:form>
</h:body>
</html>

InstructorCreateAccountPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Instructor Account Creation</title>
</h:head>
<h:body>
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="UserName:"/>
<h:inputText id="username" required="true"
requiredMessage="Username is required"

58
COURSE MANAGEMENT SYSTEM
validatorMessage="Name must have 1 to 10
chars"

value="#{tempInsructorAccount.userName}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="username" style="color:red"/>

<h:outputLabel value="Confirm UserName:"/>


<h:inputText id="confirmusername" required="true"
requiredMessage="Username is required"
validatorMessage="Name must have 1 to 10
chars"

value="#{tempInsructorAccount.confirmUserName}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmusername" style="color:red"/>

<h:outputLabel value="Password:"/>
<h:inputText id="password" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"

value="#{tempInsructorAccount.password}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="password" style="color:red"/>

<h:outputLabel value="Confirm Password:"/>


<h:inputText id="confirmpassword" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"

value="#{tempInsructorAccount.confirmPassword}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>

<h:outputLabel value="First Name:"/>


<h:inputText id="firstname" required="true"
requiredMessage="First name is required"
validatorMessage="First name must have 1
to 20 chars"
value="#{tempInsructorAccount.firstName}">
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="firstname" style="color:red"/>

<h:outputLabel value="Last Name:"/>

59
COURSE MANAGEMENT SYSTEM
<h:inputText id="lastname" required="true"
requiredMessage="Last name is required"
validatorMessage="Last name must have 1
to 20 chars"
value="#{tempInsructorAccount.lastName}">
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="lastname" style="color:red"/>

<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
requiredMessage="ID is required"
validatorMessage="ID must have 4 chars"
value="#{tempInsructorAccount.id}">
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>
</h:panelGrid>
<h:commandButton value="Submit"
action="#{tempInsructorAccount.registrationProcess()}" />
</h:form>
</h:body>
</html>

InstructorCreatedPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Instructor entered into system</title>
</h:head>
<h:body>
Instructor successfully inserted into system.
<h:form>
<br/>
<h:commandLink id="studentAccountLink"
action="StudentCreateAccountPage">
<h:outputText value="Create Student Account"/>
</h:commandLink>
<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>
<br/>
<h:commandLink id="courseLink" action="CourseCreatePage">
<h:outputText value="Create Courses"/>
</h:commandLink>
</h:form>
</h:body>
</html>

60
COURSE MANAGEMENT SYSTEM

InstructorCreationErrorPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>ERROR</title>
</h:head>
<h:body>
Error Creating Student
<h:form>
<br/>
<h:commandLink id="back"
action="StudentCreateAccountPage">
<h:outputText value="Go back"/>
</h:commandLink>
</h:form>
</h:body>
</html>

StudentCreateAccountPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Student Account Creation</title>
</h:head>
<h:body>
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="UserName:"/>
<h:inputText id="username" required="true"
requiredMessage="Username is required"
validatorMessage="Name must have 1 to 10
chars"
value="#{tempStudentAccount.userName}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="username" style="color:red"/>

<h:outputLabel value="Confirm UserName:"/>


<h:inputText id="confirmusername" required="true"
requiredMessage="Username is required"
validatorMessage="Name must have 1 to 10
chars"
value="#{tempStudentAccount.confirmUserName}">
<f:validateLength minimum="1" maximum="10" />

61
COURSE MANAGEMENT SYSTEM
</h:inputText>
<h:message for="confirmusername" style="color:red"/>

<h:outputLabel value="Password:"/>
<h:inputText id="password" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"
value="#{tempStudentAccount.password}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="password" style="color:red"/>

<h:outputLabel value="Confirm Password:"/>


<h:inputText id="confirmpassword" required="true"
requiredMessage="Password is required"
validatorMessage="password must have 1
to 10 chars"

value="#{tempStudentAccount.confirmPassword}">
<f:validateLength minimum="1" maximum="10" />
</h:inputText>
<h:message for="confirmpassword" style="color:red"/>

<h:outputLabel value="First Name:"/>


<h:inputText id="firstname" required="true"
requiredMessage="First name is required"
validatorMessage="First name must have 1
to 20 chars"
value="#{tempStudentAccount.firstName}">
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="firstname" style="color:red"/>

<h:outputLabel value="Last Name:"/>


<h:inputText id="lastname" required="true"
requiredMessage="Last name is required"
validatorMessage="Last name must have 1
to 20 chars"
value="#{tempStudentAccount.lastName}">
<f:validateLength minimum="1" maximum="20" />
</h:inputText>
<h:message for="lastname" style="color:red"/>

<h:outputLabel value="ID:"/>
<h:inputText id="idcode" required="true"
requiredMessage="ID is required"
validatorMessage="ID must have 4 chars"
value="#{tempStudentAccount.id}">
<f:validateLength minimum="4" maximum="4" />
</h:inputText>
<h:message for="idcode" style="color:red"/>

62
COURSE MANAGEMENT SYSTEM

</h:panelGrid>

<h:commandButton value="Submit"
action="#{tempStudentAccount.registrationProcess()}" />
</h:form>
</h:body>
</html>

StudentCreatedPage.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Student Succesfully inserted into system.
<h:form>
<br/>
<h:commandLink id="studentAccountLink"
action="StudentCreateAccountPage">
<h:outputText value="Create Student Account"/>
</h:commandLink>
<br/>
<h:commandLink id="instructorAccountLink"
action="InstructorCreateAccountPage">
<h:outputText value="Create Instructor Account"/>
</h:commandLink>
<br/>
<h:commandLink id="courseLink" action="CourseCreatePage">
<h:outputText value="Create Courses"/>
</h:commandLink>
</h:form>
</h:body>
</html>

63
COURSE MANAGEMENT SYSTEM

BIBLIOGRAPHY

[1] http://www.merucabs.com
[2] http://www.irctc.co.in
[3] Bayross I., “SQL, PL/SQL: The Programming Language of Oracle”, 3 rd
Ed., BPB Publications: New Delhi, 2002.
[4] Navathe, Gupta, “Fundamentals of Database Systems”, 4 th Ed.,
Pearson Education Pvt. Ltd.: New Delhi, 2007.
[5] Xavier C., “Web Technology and Design”, 3 rd Ed., New Age
International Pvt. Ltd. : New Delhi, 2005;
[6] Shiran Y & T., “Learn Advanced JavaScript Programming”, 2 nd Ed.,
BPB Publications: New Delhi, 2000.

64
COURSE MANAGEMENT SYSTEM

CONCLUSION

The “Course Management System” has been successfully


completed. The goal of the system is achieved and problems
are solved. The package is developed in a manner that it is
user friendly and required help is provided at different
levels.

The project can be easily used in the process of


decision making. Different types of reports can be
generated which help the management to take correct
decision and reduce the time delay which automatically
increases the company’s work standards as well as the
economical state of the company.

This system never decreases the manpower but helps


the development of available manpower and optimizes the
manpower by which company’s standards and capabilities
can be scaled to higher dimensions.

65

You might also like