Вы находитесь на странице: 1из 47

Automatic Timetable Generator

1. INTRODUCTION
Automatic Timetable Generator is a Java based software used to generate
timetable automatically. Currently timetable is managed manually. It will help to
manage all the periods automatically and also will be helpful for faculty to get
timetable in their phone by using application. It will also manage timetable when
any teacher is absent , late coming or early going. Maimum and minimum wor!
load for a "aculty for a day, wee! and month will be specified for the efficient
generation of timetable.
#y using this software users can apply for leave by providing leave
re$uired date, reason and also with substitute faculty. %hen selecting a faculty as
substitute it allows to view timetable of that faculty for ensure that the faculty is
free at that particular period. &ubstitute can approve or re'ect re$uest. (rinciapl
can also view the re$uest send by faculty and can also view substitute response.
(rincipal can approve ) re'ect re$uest.
It is a comprehensive timetable management solutions for Colleges which
help to overcome the challenges in mannually setting the timetable. #y using this
software it will be very easy for faculty to get timetable in their phones
Chinmaya Institute of Technology *
Automatic Timetable Generator
1.1 Existing and Proposed system
+ormally timetable generation done manually. As we !now all
institutions)organi,ations have its own timetable, managing and maintaining
these wiil not be difficult. Considering wor!load with this scheduling will ma!e it
more comple. As mentioned , when Timetable generation is being done, it
should consider the maimum and minimum wor!load that is in a college. In
those cases timetable generation will become more comple. Also , it is a time
consuming process.
Automatic Timetable manger is a Java based software used to generate
timetable automatically. %ill help you to manage all the periods automatically
and also will be helpful for faculty who will get timetable in their phone as a
notification. It will also manage timetable when any Teacher is absent late
coming or early going. (roposed system will help to generate it automatically
also helps to save time . There is no need for "aculty to worry about their
period details and maimum wor!load. #y using this software users can apply
for leave by providing leave re$uired date, reason and also with substitute faculty.
%hen selecting a faculty as substitute it allows to view timetable of that faculty
for ensure that the faculty is free at that particular period. &ubstitute can approve
or re'ect re$uest. (rinciapl can also view the re$uest send by faculty and can also
view substitute response. (rincipal can approve ) re'ect re$uest. It is a
comprehensive timetable management solutions for Colleges which helps to
overcome the challenges in current system.
Chinmaya Institute of Technology -
Automatic Timetable Generator
1.2 Salient featres of t!e system
Automatic Timetable manger is a Java based software used to
generate timetable automatically.
%il lhelp you to manage all the periods automatically and also will be
helpful for faculty who will get timetable in their phone as a
notification.
It will also manage timetable when any teacher is absent late coming or
early going.
(roposed system will help to generate it automatically also helps save the
time .
There is no need for "aculty to worry about their timetable
It is a comprehensive timetable management solutions for Colleges which
help to overcome the challenges in current system.
Chinmaya Institute of Technology .
Automatic Timetable Generator
2. "ITER#TURE SUR$E%&RE$IE' O( "ITER#TURE
Trying to develop a software which helps to generate Timetable for an
Institution automatically. #y loo!ing at the eisting system we can understand
that timetable generation is done manually. Manually ad'ust the timetable when
any of the faculty is absent, and this is the big challenge for Automatic Timetable
Generator that managing the timetable automatically when any of the faculty is
absent.
As we !now all institutions)organi,ations have its own timetable,
managing and maintaining these wiil not be difficult. Considering wor!load with
this scheduling will ma!e it more comple. As mentioned , when Timetable
generation is being done, it should consider the maimum and minimum
wor!load that is in a college. In those cases timetable generation will become
more comple. Also , it is a time consuming process.
Chinmaya Institute of Technology /
Automatic Timetable Generator
). SO(T'#RE RE*UIRE+ENT #N#"%SIS
The current problem is setting up of Timetable manually. Any
absent is their , then assigning that period to another "aculty is a not an easy 'ob
because at that time we should consider the Maimum wor!load for a "aculty
0assigning etra period should not eceed the Maimum wor!load1.
).1 Pro,lem Definition
Avoid the compleity of setting and managing Timetable manually. It
will help you to manage all the periods automatically. "aculty can recieve their
periods information in their phone . Initially we will be setting the maimum
wor!loads for a "aculty in a day, wee! and month. Main challenge is to manage
timetable when any "aculty is absent. #y using this software it will be very easy
to allocate sub'ect for different faculty.
).2 (esi,ility #nalysis
A feasibility study was an evaluation of a proposal designed to determine the
difficulty in carrying out a designated tas!. Generally, a feasibility study precedes
technical development and pro'ect implementation.
..-.* 2conomic "easibility
To develop the proposed system, it needs no etra facilities and devices. All
dependencies are satisfied from the open source pro'ects. All tools used are free,
open source and the programming language is J&( and hence its development is
economically .
..-.- Technical "easibility
(roposed system is technically feasible because the proposed system
re$uires only those 3)% and &)% tools that are available in the system. It re$uires
the installation of J&( and M4&56 which can be done for free. More over
Chinmaya Institute of Technology 7
Automatic Timetable Generator
epandability will be maintained in the new system. +ew modules can be added
later on the application, if re$uired in the future. Additionally the application will
have 8serfriendly "orms and &creens.
..-.. #ehavioral "easibility
#ehavioral feasibility determines how much effort will go in the proposed
information system, and in educating and training the users on the new system.
&ince the user interface is very simple and easily understandable , no training is
re$uired for using this software.
).) +et!odology
The establishment and use of sound engineering principles in order to
obtain economically developed software that is reliable and wor!s efficiently on
real machines is called software engineering.
Software engineering is the discipline whose aim is:
(roduction of $uality software
software that is delivered on time
cost within the budget
satisfies all re$uirements.
&oftware process is the way in which we produce the software. Apart from
hiring smart, !nowledgeable engineers and buying the latest development tools,
effective software development process is also needed, so that engineers can
systematically use the best technical and managerial practices to successfully
complete their pro'ects.
A software life cycle is the series of identifiable stages that a software
product undergoes during its lifetime .A software lifecycle model is a descriptive
and diagrammatic representation of the software life cycle .A life cycle model
represents all the activities re$uired to ma!e a software product transit through its
lifecycle phases .It also captures the order in which these activities are to be
ta!en.
Chinmaya Institute of Technology 9
Automatic Timetable Generator
"ife Cy-le +odels
There are various life cycle models to improve the software processes.
%AT2:"A66 M;<26
(:;T;T4(2 M;<26
IT2:ATI=2 2+3A+C2M2+T M;<26
2=;68TI;+A:4 M;<26
&(I:A6 M;<26
(rototype Model
&ince in this methodology a wor!ing model of the system is provided, the
users get a better understanding of the system being developed.
2rrors can be detected much earlier.
5uic!er user feedbac! is available leading to better solutions.
Missing functionality can be identified easily
Confusing or difficult function can be identified re$uirments
validation, 5uic! implementation , incomplete but functional, application.
Automatic Timetable Generator is a creative and scientific system through which
colleges and other institutions can easily handle timetable management.
).. Soft/are and 0ard/are re1irements
(latform forms the foundation on which the architecture, design, and
implementation of a product is built. &ystem specification defines the full
functionality of the system. In many systems we wor! on, some functionality
performed in hardware and some in software. &ystem specification documents
can thus be defined as the re$uirements documentation that formally specifies the
system level re$uirements of an application. This application developed in
%indows platform.
Chinmaya Institute of Technology >
Automatic Timetable Generator
NET2E#NS IDE (OR 3#$#
+et#eans I<2 provides first?class comprehensive support for the newest
Java technologies and latest Java enhancements before other I<2s. %ith its
constantly improving Java 2ditor, many rich features and an etensive range of
tools, templates and samples, +et#eans I<2 sets the standard for developing with
cutting edge technologies out of the bo.
T0E 3#$# PRO4R#++IN4 "#N4U#4E
Java is a programming language originally developed by &un Microsystems
and released in *@@7 as a component of &un Microsystems platform. The
language derives much of its synta from C and CAA, but has a simpler ob'ect
model and fewer low level facilities. Java applications are typically compiled to
byte code that can run on any Java =irtual Machine0J=M1 regardless of computer
architecture.
The Java programming language is a high level languages that can be
characteri,ed by all the followingB
&imple
;b'ect?;riented
<istributed
Multi?threaded
<ynamic
(ortable
Architecture +eutral
Chinmaya Institute of Technology C
Automatic Timetable Generator
In Java programming language all source code is written in plain tet
files ending with Java etension. Those source files then compiled into class
files by the Javac compiler. A. class file does not contain code that is native to
your processerB it instead contain byte codes? the machine language of Java
=irtual
+yS*"
My&56 is the worldDs most used open source :elational <atabase
Management system0:<#M&1 as of -EEC that runs as a server providing multi?
user access to a number of databases. It is named after co?founder Michael
%ideniusD daughter, My. The &56 phrase stands for &tructured 5uery 6anguage.
The My&56 development pro'ect has made its source code available under
the terms of the G+8 General (ublic 6icense, as well as under a variety of
proprietary agreements. My&56 was owned and sponsored by a single for?profit
firm, the &wedish company My&56 6ab, now owned by ;racle Corporation.
My&56 is a popular choice of database for use in web applications, and is a
central component of the widely used 6AM( open source web application
software stac!F6AM( is an acronym for G6inu, Apache, My&56,
(erl)(3()(ython.G "ree?software ?open source pro'ects that re$uire a full?featured
database management system often use My&56.
Interfa-es
My&56 is primarily an :<#M& and ships with no G8I tools to
administer My&56 databases or manage data contained within the databases.
8sers may use the included commandlines tools, or use My&56 Gfront?endsG,
des!top software and web applications that create and manage My&56 databases,
build database structures, bac! up data, inspect status, and wor! with data
records.. The official set of My&56 front?end tools, My&56 wor!bench is
actively developed by ;racle, and is freely available for use.
Chinmaya Institute of Technology @
Automatic Timetable Generator
SO(T'#RE #ND 0#RD'#RE RE*UIRE+ENTS
Soft/are Spe-ifi-ation
;perating &ystem B %indows)6inu
Technology B J&()&2:=62T
%eb Technologies B H3tml, Java&cript, C&&
%eb &erver B Appache Tomcat)Glassfish
<esign Tools B+et#eans I<2
Compiler B J<I
<atabase B My&56
%eb #rowser BMo,illa "irefo)Google Chrome
0ard/are Spe-ifi-ation
3ardware B (entium
&peed B - Gh,
:AM B -G#
3ard <is! B CE G#
).5 Define t!e modles and t!eir fn-tionalities
The proposed system consists of the following modulesB
..7.* &ub'ect management Module
&ub'ect management module in this pro'ect is meant for the users. In
this module, sub'ects are allocated for users.
It does the following tas!sB
Give sub'ect , faculty and &emester
=iew timetable
=iew leave re$uest
Chinmaya Institute of Technology *E
Automatic Timetable Generator
..7.- Timetable Generation Module
It is the important part of pro'ect which generate Timetable
automatically. I+ this module it develop module. Generation done by considering
maimum and minimum wor!load for a "aculty 0without less and without
eceeding1. This will be generated by admin and viewed by (rincipal and "aculty
whoDs are the users of the system.
..7.. 8ser management Module
&taff module can classified into twoB
"aculty
(rincipal
..7...* "aculty does
:egister with all information
=iew Timetable
Apply for leave with specifying &ubstitute faculty
=iew &ubtitute response
Give sub'ect name, semester and faculty
=iew timetable
:e$uest for leave
..7...- (rincipal does
=iew Timetable
=iew re$uest for leave
=iew substitutDs response
Approve or :e'ect re$uest for leave
Chinmaya Institute of Technology **
Automatic Timetable Generator
.. SO(T'#RE DESI4N
The most creative and challenging phase of the life cycle is system design.
The term design describes a final system and the process by which it is
developed. It refers to the technical specifications that will be applied in
implementations of the system. The importance of software design can be stated
in a single word J5ualityK. <esign provides us with representations of software
that can be assessed for $uality. <esign is the only way where we can accurately
translate user re$uirements into a complete software product or system. %ithout
design we ris! building an unstable system that might fail if small changes are
made. It may as well be difficult to test, or could be one whoLs $uality canLt be
tested. &o it is an essential phase in the development of a software product.
..1 U+" Diagrams
..1.1 Use6Case diagram
This system is used by . types of users. They are
Admin , (rincipal ,8sers0faculty1
Prin-ipal

Chinmaya Institute of Technology *-
Automatic Timetable Generator
(a-lty
#dmin

Chinmaya Institute of Technology *.
Automatic Timetable Generator
..1.2 Data (lo/ Diagrams
The <"< is also !nown as the bubble chart. It is a simple graphical
formalism that can be used to represent a system in terms of the input data to the
system, various processing carried out in these data and the output data generated
by the system. &tarting with a set of high?level functions that a system
performance of <"< model in hierarchically it represents various sub functions.
In a normal convention, logical <"< can be completed using only four notationsB
M :epresents source or destination of data
M :epresents <ata "low
M :epresents a process that transforms incoming data into outgoing data
M :epresents <ata &ource
Function Symbol
A function is represented using a circle. This symbol is called a
process or a bubble. #ubbles are annotated with the names of corresponding
functions.
External Entity Symbol
An eternal entity such as a librarian, library member etc is
represented by a rectangle. The eternal entities are essentially those physical
entities eternal to the software system, which interact with the system by
inputting data to the system or by consuming the data produced by the system.
Data Flow Symbol
A directed arc or an arrow is used as a <ata "low &ymbol. This
represents the data flow occurring between two processes or between an eternal
entity and a process in direction of the <ata "low Arrow. <ata "low symbols are
annotated with corresponding data names.
Data Store Symbol
A <ata &tore represents a logical fileN it is represented using two
parallel lines. A logical file can represent either <ata &tore &ymbol, which can
represent either data structure or a physical file on dis!.
Chinmaya Institute of Technology */
Automatic Timetable Generator
Output Symbol
The output symbol is used when a hardcopy is produced and the user
of the copies cannot be clearly specified or there are several users of the output.
The <"< at the simplest level is referred to as the Contet Analysis <iagram.
These are epanded by level, each eplaining in process in detail. (rocesses are
numbered for easy identification and are normally labeled in bloc! letters. 2ach
data flow is labeled for easy understanding.
Context Diagram
OThe contet diagram is the most abstract data flow representation of a
system. It represents the entire system as a single bubble. This bubble is labeled
according to the main function of the system. The various eternal entities with
the system interact and the data input to the system and the data output from the
system are represented as incoming and outgoing arrows. These data flow arrows
should be annotated with the corresponding data names.
"e7el61 D(D
To develop the 62=26?* <"<, eamine the high level functional re$uirements.
It is between three to seven high?level functional re$uirements then these can be
directly represented as bubbles as in the 62=26?* <"<. %e can eamine the
input data to these functions and the data output by these functions, and represent
them appropriately in the diagram.
(rocedure to develop a <"< model of a systemB
*. The &:& document is eamined to determineB
M <ifferent high?level functions that the system need to perform.
M <ata input to every high?level function
M <ata output from every high?level functions
M Interactions among the identified high?level functions
These aspects of the high?level functions are then represented in a diagrammatic
form. This forms the top level <ata "low <iagram, usually called <"<.
2. The high?level functions described in the &:& <ocuments, and then
each of the high?level functions can be represented in form of a
bubble. 2ach high?level function is decomposed into constituent sub
functions through the following set of activities.
Chinmaya Institute of Technology *7
Automatic Timetable Generator
M <ifferent sub functions of the high?level functions are identified.
M <ata input to each of these sub functions is identified.
M <ata output from each of these sub functions is identified.
M Interactions among these sub functions are identified.
These aspects are then represented in a diagrammatic form using a <"<.
). &tep three is repeated recursively for each sub function until a simple
algorithm can represent a sub function
6evel E
6evel *
Chinmaya Institute of Technology *9
Automatic Timetable Generator

6evel -
Chinmaya Institute of Technology *>
Automatic Timetable Generator
Chinmaya Institute of Technology *C
Automatic Timetable Generator
..2 Data,ase design
The system is implemented in such a way that all the valid
informationLs are stored in the database. <atabase design converts the data model
developed in logical designing to database definition. This is supported by
database software. The management of data involves baoh the definition of
structure of the storage of information and provision of mechanism for the
manipulation of information. In addition database system must provide safety of
information handle, despite the system crashes due to attempts of unauthori,ed
access.
A database is a collection of interrelated data stored with minimum
redundancy to serve many users $uic!ly and efficiently. In database design,
several views of data must be considered along with the person who users them.
The logical view is what the data loo! li!e, regardless of how they are stored. The
physical view is the way data eist in physical storage. Tables are carefully
designed aiming to achieve its main ob'ectives ie, to ma!e information access
easy, $uic!, inepensive and fleible for user.
+;:MA6IPATI;+
+ormali,ation is the process of analy,ing the given relation schemas based
on their "unctional <ependencies and primary !eys to achieve the desirable
properties of Minimi,ing :edundancy, Minimi,ing the insertion, deletion and
updating anomalies.
+ormali,ation is carried out for the following reasonsB
M To structure the data so that perfect relationship between entries can be
represented.
M To permit simple retrieval of data in response $uery and report re$uests.
M To reduce the need to restructure or reorgani,e data when new application
re$uirement arises.

Chinmaya Institute of Technology *@
Automatic Timetable Generator
+ormali,ation consists of various levelsB
*. First Normal Form (1NF
A table is in *+" if there are no duplicate rows in the table. 2ach cell
is single valued. 2ntries in a column are of the same !ind.
-. Second Normal Form (!NF
&econd +ormal form is based on the concept of full functional
dependency. A table 0relation1 is in -+" if .It is in "irst +ormal "orm and if all
non?!ey attributes are dependent on the !ey. <ependent on only a part of the
0composite1 !ey, the definition of -+" is sometimes phrased as, GA table is in -n"
if it is in *+" and if it has no partial dependencies.K
.. "hird Normal Form (#NF
Third +ormal "orm is based on the concept of transitive dependency.
A table 0relation1 is in .+" if it is in &econd +ormal "orm and if it has no
transitive dependencies
Chinmaya Institute of Technology -E
Automatic Timetable Generator
..2.1 E6R Diagram
Chinmaya Institute of Technology -*
Automatic Timetable Generator
5. CODIN4 #ND CODE TE+P"#TES
The system contains . users , "aculty , (rincipal and Admin. 2ach user
have their own functionalities as follows .

Function B &ub'ect allocation
$nput Bsub'ect, faculty and semester
Output B timetable
Logic8
Step 1: :ead sub'ect , faculty and semester from the tables
sub'ect,faculty and semester respectively.
Step 2:=alidate the details and processing is done
Step 3:sub'ect allocated for facultys successfully in the table named
Timetable.
Function : %iew Timetable
$nput B &ub'ect,&emester, "aculty
Output B Timetable
Logic:
Step 1: :ead sub'ect , faculty and semester from the tables sub'ect,
faculty and semester respectively.
Step 2: Timetable generated successfully in the table called timetable.
Function : :e$uest for leave
$nput : <ate,:eason,&ubstitute
Output : Approve ) :e'ect re$uest
Logic:
Step 1: :ead date, reason and substitute faculty from the tablefacQleave
Step 2: Get &ubstitute status from facQleave
Step 3: :e$uest succesfully sent 0Approve ) :e'ect1
If "acuty need to ta!e a leave the he)she can apply for leave with setting
&ubstitutes. 3ere <ate at which leave is re$uired , reason and substitute
Chinmaya Institute of Technology --
Automatic Timetable Generator
faculty should be specified.
Function B &ubstitute re$uest
$nput B :e$uest
Output B Approve ) :e'ect
Logic:
Step 1: :ead the information and Apply for leave with providing date ,
reason and aubstitute facilty in the table facQleave
Step 2: &ubstitute re$uest successfully sent 0approve)re'ect1
Function B Grant or deney
$nput B :e$uest
Output B :eply message sendApprove ) :e'ect
Logic:
Step 1: Access substitute re$uest send by the faculty from
facQleave
Step 2: :eply for &ubstitute re$uest successfully sent
0approve)re'ect1
Function B Grant leave
$nput B :e$uest
Output B :eply message send Approve ) :e'ect
Logic:
Step 1: Access leave re$uest send by the faculty from facQleave
Step 2: :eply for :e$uest for leave successfully sent
0approve)re'ect1
Function B &ub'ect allocation
$nput Bsub'ect, faculty and semester
Output B timetable
Logic8
Step 1: :ead sub'ect , faculty and semester from the tables
sub'ect,faculty and semester respectively.
Step 2:=alidate the details and processing is done
Chinmaya Institute of Technology -.
Automatic Timetable Generator
Step 3:Timetable generated &uccessfully
5.1 Code
Apply 6eave
pac!age autotimetableN
import 'ava.io.I;2ceptionN
import 'ava.io.(rint%riterN
import 'ava.util.Array6istN
import 'ava.servlet.&ervlet2ceptionN
import 'ava.servlet.http.3ttp&ervletN
import 'ava.servlet.http.3ttp&ervlet:e$uestN
import 'ava.servlet.http.3ttp&ervlet:esponseN
public class signup etends 3ttp&ervlet R
protected void process:e$uest03ttp&ervlet:e$uest re$uest,
3ttp&ervlet:esponse response1
throws &ervlet2ception, I;2ception R
response.setContentType0Gtet)htmlNcharsetS8T"?CG1N
&tring pathSGinde.'spToverlayGNN
try R
<# dSnew <#01N
&tring unameSre$uest.get(arameter0GnameG1N
&tring pass*Sre$uest.get(arameter0Gpass*G1N
&tring pass-Sre$uest.get(arameter0Gpass-G1N
&tring fnameSre$uest.get(arameter0GfnG1N
&tring lnameSre$uest.get(arameter0GlnG1N
&tring addrSre$uest.get(arameter0GaddrG1N
&tring contactnoSre$uest.get(arameter0GcnG1N
&tring dobSre$uest.get(arameter0GdobG1N
&tring do'Sre$uest.get(arameter0Gdo'G1N
&tring $ualificSre$uest.get(arameter0G$uG1N
&tring emailSre$uest.get(arameter0GemailG1N
&tring maddrSre$uest.get(arameter0GmaddrG1N
&tring courseSre$uest.get(arameter0GcourseG1N
&tring sub'ectlistUVSre$uest.get(arameter=alues0Gsub'ectslistG1N
&tring slistSGGN
for0int iSENiWsub'ectlist.lengthNiAA1R
)) &ystem.err.println0Gsub'ectlist BGAsub'ectlistUiV1N
slistSslistAsub'ectlistUiVAG,GN
X
Array6istW&tringY aSnew Array6istW&tringY01N
a.add0uname1N
a.add0pass*1N
a.add0pass-1N
a.add0fname1N
Chinmaya Institute of Technology -/
Automatic Timetable Generator
a.add0lname1N
a.add0addr1N
a.add0contactno1N
a.add0dob1N
a.add0do'1N
a.add0$ualific1N
a.add0email1N
a.add0maddr1N
a.add0course1N
a.add0slist1N
d.addTeacher0a1N
pathSGinde.'spZsuccessGN
X finally R

X
response.send:edirect0path1N
X
protected void doGet03ttp&ervlet:e$uest re$uest, 3ttp&ervlet:esponse
response1
throws &ervlet2ception, I;2ception R
process:e$uest0re$uest, response1N
X
protected void do(ost03ttp&ervlet:e$uest re$uest, 3ttp&ervlet:esponse
response1
throws &ervlet2ception, I;2ception R
process:e$uest0re$uest, response1N
X
public &tring get&ervletInfo01 R
return G&hort descriptionGN
X
9
&ubstitute re$uest
W[\page importSG'ava.s$l.:esult&etG[Y
W[\page contentTypeSGtet)htmlG page2ncodingSG8T"?CG[Y
W]<;CT4(2 htmlY
W'spBuse#ean idSGob'ectG classSGautotimetable.<#G )Y
W[
:esult&et rSob'ect.get&ubst0session.getAttribute0GidG1AGG1N
out.print0GWtable idSDadminQmenuDYG1N
out.print0GWthYG1N
out.print0GW)thYG1N
out.print0GWthYG1N
out.print0GW)thYG1N
out.print0GWthYG1N
out.print0G:e$uested #yW)thYG1N
Chinmaya Institute of Technology -7
Automatic Timetable Generator
out.print0GWthYG1N
out.print0G:e$uested "orW)thYG1N
out.print0GWthYG1N
while0r.net011R
out.print0GWtrYG1N
out.print0GWtdYG1N
out.print0GWdiv styleSDpaddingB *Ep *Ep *Ep *EpN bac!ground?
colorBgreenDYWa hrefSDuser)leaveAction.'spZidSGAsession.getAttribute0GidG1
AG^dateSGAr.get&tring0-1AG^actionSapprovedD styleSDtet?
decorationBnoneNcolorBwhiteDYApproveW)aYW)divYG1N
out.print0GW)tdYG1N
out.print0GWtdYG1N
out.print0GWdiv styleSDpaddingB *Ep *Ep *Ep *EpN bac!ground?
colorB:edDYWa hrefSDuser)leaveAction.'spZidSGAsession.getAttribute0GidG1
AG^dateSGAr.get&tring0-1AG^actionS:e'ectedD styleSDtet?
decorationBnoneNcolorBwhiteDY:e'ectW)aYW)divYG1N
out.print0GW)tdYG1N
5.2 Ta,les
Admin TableB
Serial
No8
Colmn Name Datatype Constraints
* id int (rimary !ey
- usename varchar0/71 +ot +ull
. (assword varchar0/71 +ot +ull
/ type varchar0/71 +ot+ull
Course TableB
Serial No8 Colmn Name Datatype Constraints
* courseQid int (rimary !ey
- courseQname varchar0/71 +ot+ull
"acultyQhourB
Serial No8 Colmn name Datatype Contraints
* idfaculty int (rimary !ey
- hour int +ot+ull
. ta!en int +ot+ull
Chinmaya Institute of Technology -9
Automatic Timetable Generator
"acleaveB
Serial No8 Colmn Nmae Datatype Constraints
* fcQid int (rimary !ey
- date varchar0/71 +ot+ull
. reason varchar0/71 +ot+ull
/ status varchar0/71 +ot+ull
7 subfacQid int +ot+ull
9 subQstatus varchar0/71 +ot+ull
"acQ&ubB
Serial Name Colmn name Datatype Constraints
* id int +ot+ull
- facQid int +ot+ull
. subQid int +ot+ull
&emesterB
Serial No8 Colmn Name Datatype Constraints
* semQid int (rimary !ey
- courseQid int +ot+ull
. semQname varchar0/71 Allow +ull
"acultyB
Serial No8 Colmn Name Datatype Constraints
* facQid int (rimary !ey
- fQname varchar0/71 +ot+ull
. lQname varchar0/71 +ot+ull
/ address varchar0/71 +ot+ull
7 contact varchar0/71 +ot+ull
9 dob varchar0/71 +ot+ull
Chinmaya Institute of Technology ->
Automatic Timetable Generator
> do' varchar0/71 +ot+ull
C $ualification varchar0/71 +ot+ull
@ e?mail varchar0/71 +ot+ull
*E macaddr varchar0/71 +ot+ull
** username varchar0/71 +ot+ull
*- password varchar0/71 +ot+ull
*. course varchar0/71 +ot+ull
&ub'ectB
Serial No8 Colmn Name Datatype Constraints
* subQid int (rimary !ey
- subQname =archar0/71 +ot+ull
. semQname =archar0/71 +ot+ull
/ courseQname =archar0/71 +ot+ull
7 hour int +ot+ull
9 remhour int Allow +ull
> continues =archar0/71 Allow +ull
C afternoon =archar0/71 Allow +ull
TimetableB
Serial No8 Colmn Name Datatype Constraints
* id int (rimary !ey
- facQid int +ot+ull
. periodid int +ot+ull
/ courseQid int +ot+ull
7 day varchar0/71 +ot+ull
9 semQid int +ot+ull
> subQid int +ot+ull
Chinmaya Institute of Technology -C
Automatic Timetable Generator
:. TESTIN4
$alidation and -!e-;s
&oftware validation is achieved through a series of tests that
demonstrate conformity with re$uirements. =alidation succeeds when
software functions in a manner that can be reasonably epected by the
customer. 3ere line by line chec!ing is used to find errors. Comment line
facility is used for chec!ing errors.
Testing is necessary for the success of the system. <uring testing,
program to be tested is eecuted with a set of test data and the output of the
program for test data is evaluated to determine if the programs are
performing as epected.
=alidation means chec!ing the $uality of software in both simulated
and live environments. &ystem validation ensures that the user can in fact
match his)her claims, especially system performance. True validation is
verified by having each system tested.
"irst the application goes through a phase often referred as alpha
testing in which the errors and failures based on simulated user
re$uirements are verified and studied. The modified software is then
sub'ected to phase two called beta testing in the actual userLs site or live
environment. After a scheduled time, failures and errors are documented for
final correction and enhancements are made before the pac!age is released.
In a software development pro'ect, errors can be in'ected at any stage
during development. 2ven if error detecting and eliminating techni$ues were
employed in the previous analysis and design phases, errors are li!ely to remain
undetected. 8nfortunately, these errors will be reflected in the code. &ince code
is fre$uently the only product that can be eecuted and whose actual behavior
can be observed, testing is the phase where the errors remaining from the earlier
phases must be detected in addition to detecting the errors introduced during
coding activity.
Chinmaya Institute of Technology -@
Automatic Timetable Generator
3aving proper test cases is central to successful testing. %e would li!e to
determine a set of test cases such that successful eecution of all of them
implies that there are no errors in the program. Therefore, our pro'ect crew
aimed at selecting the test cases such that the maimum possible numbers of
errors are detected by the minimum number of test cases.
"or this we have adopted both manual testing techni$ues and automated
testing techni$ues. "irst and foremost, testing was done by means of Inspection,
where participants manually eamine system deliverables for occurrences of
well?!nown errors. Inspection team consists of 7 members who are trained for
their tas!s. Items for inspection include completeness of the design, and
functional re$uirements, internal completeness and consistency in definition
and usage of terminology, and correctness of the interfaces between modules.
&ynta, grammar, and some other routine errors were chec!ed by automated
inspection software, so manual inspection chec!s are used for more subtle
errors. And we have done the testing following design phase prior to
implementation.
"esting ob&ecti'es are :
M Testing is a process of eecuting a program with the intent of finding
an error .
M A good test case is one that has a high probability of finding an as?yet?
undiscovered error .
M A successful test is one that uncovers an as?yet?undiscovered error.
Automated testing is performed at four different levels

:.1 Test Types
*.8nit testing
-.Integration testing
..&ystem testing
/.Acceptance testing
Chinmaya Institute of Technology .E
Automatic Timetable Generator
:.1.1 Unit testing
In unit testing different modules are tested against the specifications
produced during design phase for the modules in the pro'ect and the goal is to
test the internal logic of the modules.
In order to perform the unit testing, the best approach we adopted in this
pro'ect is functional testing in which inputs are given to the system for which
the epected results are !nown, boundary values and special values. "or this the
module selected was advance details where the balance amount falls to negative
indicating there is no more payment re$uired. &econdly performance testing
was done to determine the amount of eecution time spent in various aspects
li!e the module, program throughput, response time, and the device utili,ation
by the program unit.
:.1.2 Integration testing
The primary goal of the integration testing is to see if the modules
can be integrated properly. The integration testing is therefore considered as
testing the design. Thus in the integration testing step, all the errors uncovered
are corrected for the net testing steps.
:.1.) System testing
&ystem testing is similar to integration testing, but instead of
integrating modules into programs for testing, programs are integrated into
systems for testing the interfaces between programs in a system. &ystem testing
can be defined in many ways, but a simple definition is that validation succeeds
when the software functions in a manner that can be reasonably epected by the
customer.
:.1.. #--eptan-e testing
;nce the system tests have been satisfactory completed, the system
is ready for acceptance testing. Acceptance testing is the process whereby actual
users test a completed information system in the environment where it will
eventually be used, the end result of which is the userLs acceptance or re'ection.
The admin and staff at Company accepted proposed system after testing.
Chinmaya Institute of Technology .*
Automatic Timetable Generator
:.1.5 In-remental Integration Testing
#ottom up approach for testing i.e continuous testing of an
application as new functionality is added. This Application functionality and
modules are independent enough to test separately. The functionality li!e
view)create group, view)edit profile,view)post notification,view)post news and
add)show event are independent to each other. These functionalities are added
separately and tested after the implementation of each.
The distributed nature of client)server systems pose a set of uni$ue
problems while conduct tests we noted following areas while testingB
Client _G8I considerations
Target environment and platform diversity considerations
<istributed processing considerations
+o robust target environment
+onlinear performance relationships
Many different types of tests are conducted at each of this level of detail
the following tests are conducted.
#ppli-ation fn-tion tests
The functionality of client applications is tested using the methods
discussed below.
Ser7er tests
The coordination and data management functions of the server are tested.
&erver performance is also considered.
Data,ase tests
The accuracy and integrity of data stored by the server is tested.
Transactions posted by client applications are eamined to ensure that data are
properly stored, updated and retrieved. Archiving is also tested.
Net/or; -ommni-ation tests
These tests verify that communication among the nodes of the networ!
occur are correct and that message passing, transactions and related networ!
traffic occurs without error. +etwor! tests are also being conducted. The
Chinmaya Institute of Technology .-
Automatic Timetable Generator
strategy for testing c)s architecture is analogous to testing of other architecture.

:.2 Test Cases
Seri
al
No8
Test Case Inpt Expe-ted
Otpt
O,tained
Otpt
Remar;
* 6ogin0Admin1 8sername,
(assword
+avigate to
3omepage
of Admin
3ome page
of Admin
(ass
- 6ogin0"aculty1 8sername,
(assword
+avigate to
3omepage
of "aculty
3ome page
of "aculty
(ass
. 6ogin0(rincipal1 8sername,
(assword
+avigate to
3omepage
of (rincipal
3omepage
of (rincipal
(ass
/ 6ogin Invalid user 8sername,
(assword
Invalid
data
Invalid
8sername or
(assword
(ass
7 Add "aculty 8sername,
(assword,
fQname,lQna
me,
address,conta
ct,dob,do',
$ualification,
e?
mail,macaddr
, course
"aculty
registered
&uccessfull
y
"aculty
registered
succefully
(ass
9 Manage staff &taff details Approve
staff
Approve
staff
(ass
> Aplly leave <ate,:eason,
&ubstitute
Approve )
:e'ect
Approve )
:e'ect
(ass
C :e$ust for
substitute
re$uest Approve )
:e'ect
Approve )
:e'ect
(ass
@ Timetable
Generation
&ub'ect,&eme
ste,"aculty
Timetable Timetable (ass
Chinmaya Institute of Technology ..
Automatic Timetable Generator
<. OUTPUT SCREENS
6ogin (age
Chinmaya Institute of Technology ./
Automatic Timetable Generator
=iew Timetable
Chinmaya Institute of Technology .7
Automatic Timetable Generator
:egistration
Chinmaya Institute of Technology .9
Automatic Timetable Generator
Apply for leave
=iew 6eave status
Chinmaya Institute of Technology .>
Automatic Timetable Generator
=iew leave re$uest
Chinmaya Institute of Technology .C
Automatic Timetable Generator
=. CONC"USION
Automatic Timetable Generator is a web based application for
generating timetable automatically. It is a great difficult tas! that to manage
many "acultyDs and allocating sub'ects for them at a time manually. &o proposed
system will help to overcome this disadvantage. Thus we can generate timetable
for any number of courses and multiple semesters. This system will help to create
dynamic pages so that for implementing such an system we can ma!e use of the
different tools are widely applicable and free to use also.
Chinmaya Institute of Technology .@
Automatic Timetable Generator
>. SU44ESTION (OR (UTURE 'OR?
The Automatic Timetable Generator is driven portal for educational
organi,ation and is a web based application which will be helpful for creating
Timetabels . This pro'ect will be a great helpful for the institiutions because, It is
a great difficult tas! that to manage many "acultyDs and allocating sub'ects for
them at a time manually and this pro'ect will help to manage it properly. This
manage timetable for faculty with considering maimum and minimum
wor!load , and can be managed easily .
Chinmaya Institute of Technology /E
Automatic Timetable Generator
1@. RE(ERENCES & 2I2I"IO4R#P0%
2OO?S
&oftware 2ngineering "ifth edition by :. &.(ressman, McGraw?3ill
(ublication, *@@>
'E2SITES
httpB))en.wi!ipedia.org)wi!i)My&56
httpB))www.wpi.edu)&erlvets ^ J&( ? "al!ner Jones.pdf
httpB))edutechwi!i.unige.ch)en)2ducationalQtechnology
httpB))www.wpi.edu)Images)TutorialQJ&(
httpB))en.wi!ipedia.org)wi!i)J&(
Chinmaya Institute of Technology /*
Automatic Timetable Generator
11. #PENDICES
The purpose of system implementation can be summari,ed as followsB
ma!ing the new system available to a prepared set of users0deployment1, and
positioning ongoing support and maintenance of the system within the performing
organi,ation. At a finer level, deploying the system consists of eecuting all steps
necessary to educate the consumers on the use of the new system, placing the
newly developed system into production, confirming that all data re$uired at the
start of the operation are available and accurate, and validating that, the functions
that interact with the system are functioning properly.
11.1 Installation +anal
%or!ing of this software is re$uired to set some basic re$uirements
concentrate on hardware and software re$uirements.This system is developed in
J&(,3TM6 and C&& as front end and My&56 as bac!end.
11.1.1 Net2eans Installation
The Java &2 <evelopment Iit 0J<I1 9 8pdate -9 or later is re$uired to
install the +et#eans I<2. The >.-.* version of the I<2 cannot be installed using
J<I 7.E. 4ou can download the latest update of J<I 9 or >
Installer Do/nload Options
;n the +et#eans I<2 <ownload pages, you can obtain one of several installers,
each of which contains the base I<2 and additional tools.
The following installers are availableB
3a7a SE. &upports all standard Java &2 development features as well as
support for +et#eans (latform development and Java"H -.*.* &<I.
3a7a EE. (rovides tools for developing Java &2 and Java 22 applications
as well as support for +et#eans (latform development and Java"H -.*.*
&<I. This download option also includes Glass"ish &erver ;pen &ource
2dition ..*.-.-, and Apache Tomcat >.E.-> software.

Chinmaya Institute of Technology /-
Automatic Timetable Generator
To install t!e soft/are
After the download completes, run the installer.
a. "or %indows, the installer eecutable file has the .ee etension.
<ouble?clic! the installer file to run it.
After downloading the #ll or 3a7a EE bundle ,customi,e your installation.
(erform the following steps at the %elcome page of the installation wi,ardB
a. Clic! Customi,e.
b. In the Customi,e Installation dialog bo, ma!e your selections.
c. Clic! ;I.
At the %elcome page of the installation wi,ard, clic! +et.
At the 6icense agreement page, review the license agreement, clic! the
acceptance chec! bo, and clic! +et.
At the J8nit 6icense Agreement page, decide if you want to install J8nit
and clic! the appropriate option, clic! +et.
At the +et#eans I<2 installation page, do the followingB
a. Accept the default installation directory for the +et#eans I<2 or
specify another directory.
If the Glass"ish &erver ;pen &ource 2dition ..*.-.- installation page
opens, accept the default installation directory or specify another
installation location.
If you are installing Apache Tomcat, on its installation page, accept the
default installation directory or specify another installation location. Clic!
+et.
At the &ummary page, verify that the list of components to be installed is
correct and that you have ade$uate space on your system for the
installation.
Clic! Install to begin the installation.
At the &etup Complete page, provide anonymous usage data if desired, and
clic! "inish.
Chinmaya Institute of Technology /.
Automatic Timetable Generator
11.1.2 3D? Installation
Install the latest J<I, but it can be messy if you have multiple versions of
J<I)J:2.If you have previously installed older version of J<I)J:2, un?install
A66 of them.
Step 18 Do/nload 3D?
Goto Java &2 download site \
httpB))oracle.com)technetwor!)'ava)'avase)download)inde.html
Clic! the G<ownloadG button under GJ<IG of GJava &2 >G.
Chec! GAccept 6icense AgreementG.
Choose your operating platform, e.g., %indows C9 for .-?bit %indows ;&
or %indows 9/ for 9/?bit %indows ;&. 4ou can chec! whether your
%indows ;& is .-?bit or 9/?bit via GControl (anelG &ystem 8nder the
G&ystem TypeG.
Step 28 Install 3D? and 3RE
:un the downloaded installer which installs both the J<I 0Java
<evelopment Iit1 and J:2 0Java :untime1. #y default, the J<I will be installed
in directory GCB`(rogram "iles`Java`'d!*.>.EQG, where denotes the latest
upgrade numberN and J:2 in GCB`(rogram "iles`Java`'re>G.
"or novices, accept the defaults. &imply clic! GnetG...GnetG... to install J<I in
GCB`(rogram "iles`Java`'d!*.>.EQG and J:2 in GCB`(rogram "iles`Java`'re>G.
Ta!e note of your J<I installed directory 0which you will need to use in the net
step1. Chec! the J<I installed directory by inspecting these folders using
%indowsD 2plorer.
Step )8 In-lde 3D?As B,inB Dire-tory in t!e P#T0
=ariable name B P#T0
=ariable value B -8CProgram (ilesC3a7aCDd;1.<.@ExxC,inFGexiting entriesH
(lace the J<I bin directory in front of GcB`windows`system.-G and
GcB`windowsG. This is because some %indows systems may have an out?dated
copy of J<I)J:2 in these directories. <o a search for G'ava.eeG, and you will be
Chinmaya Institute of Technology //
Automatic Timetable Generator
ama,ed by the findings.
Step .8 $erify t!e 3D? Installation
6aunch a CM< shell 0Clic! G&tartG button run... enter GcmdGN or
G&tartG button All (rograms Accessories Command (rompt1.
Issue a GpathG command to list the contents of the (AT3 environment
variable. Chec! the output and ma!e sure that WJA=AQ3;M2Y`bin is listed
in the (AT3.
promptY pat!
(AT3S-8CProgram (ilesC3a7aCDd;1.<.@ExxC,inNUother entriesV
Issue the following commands to verify that J<I)J:2 are properly installed
and display their versionB
promptY Da7a 67ersion
'ava version G*.>.EQG
Java0TM1 &2 :untime 2nvironment 0build *.>.EQ?b**1
Java 3ot&pot0TM1 Client =M 0build -...?bE*, mied mode, sharing1
promptY Da7a- 67ersion
'avac *.>.EQ
11.1.) +yS*" Installation
Do/nload +yS*"
Initially 8ninstall any previous versions through Control (anel prior to
install. My&56 is D;pen &ourceD software that is undergoing constant
development.
<ownloadlin!httpB))dev.mys$l.com)download)mys$l)Tdownloads .4ou must eit
all other programs, in particular Anti =irus programs.
0o/ to Install IstepsJ
Step 1 8 +avigate to the folder you downloaded to and clic! on install pac!age.
Step 2 84ou may receive this security warning ? clic! (un )* Clic! Next *
Step ) 84ou may select Typical if you are have a limited hard dis! capacity.
Step . 8 4ou are now ready to install ? clic! $nstall )* Clic! Next *
Chinmaya Institute of Technology /7
Automatic Timetable Generator
Step 5 8Tic! Configure the My&56 &erver now ?Y Clic! Finish
Step : 8&elect :econfigure Instance then clic! Next *
Step < 8 &elect Detailed +onfiguration then clic! Next *
Step = 8 &elect De'eloper ,achine then clic! Next *
Step > 8 &elect Non)"ransactional Database Only then clic! Next *
Step 1@ 8 &elect Decision Support (DSS-O./0 then clic! Next *
Step 11 8 &elect both 0default1 optionsB Enable "+0-$0 Networ1ing and
Enable Strict ,ode then clic! Next *
Step 12 8 &elect 0<efault1 Standard +haracter Set then clic! Next *
Step 1) 8 &elect both optionsB Install As %indows &ervice and Include #in
<irectory in %indows (ath then clic! +et Y
If you have a previous install you must enter Current root password ? if no
previous install you will not see this
2nter New root password and +onfirm
Ma!e sure you record the :oot (assword . The default username is root.
Step 1. 8 Clic! Execute to configure your database server.
11.2 User +anal
Automatic Timetable Generator is a web based application which
allow to create timetable automatically. An user is a person who ma!es
interactions with the system. An user echanges information with the system. The
system needs to interact with a database for storing and retrieving information.
It consist of . types of users.
Admin
"aculty
(rincipal
#dmin ser8 The admin has the privilege to control the user faculty..
The admin has an account to login and admin has the following functions to be
performed. The admin need an username and password.After the admin has
Chinmaya Institute of Technology /9
Automatic Timetable Generator
logged in the following are the things managedB?
/dd faculty B This field will add a new faculty into this portal. #y
adding all the fields the admin can add new &taff.
(emo'e faculty B This field will delete a faculty from this portal..
"imetable 2eneration B This field will generate Timetable for College. Allow
view of generated timetable
(a-lty User8 The staff also has an username and password to be logged
in. . After logging into it the faculty also has the following functions to be
performedB?
%iew "imetable B Allows to view timetable which has been generated
by Admin.
/pply lea'e B #y using this "aculty can apply for leave with
appropriate reason ,date and &ubstitute.
/ppro'e -(e&ect Substutute re3uest : ;ther faculty can suggest a faculty when
they are re$uesting for a leave.
&ubstitute can Approve) :e'ect
&ubstitute re$uest.
%iew profile B This field allows to vie th profile of
"acultyDs.
Prin-ipal User 8 The principal also need an username and password to be
logged in. The principal can also perform their own functions. They are followed
belowB?
%iew lea'e re3uest B This field allows to chec! leave re$uests forwarded by
"acultyDs. (rincipal also can view &ubstitutes response
also. #y loo!ing at that (rincipal can Approve )
:e'ect leave re$usts
%iew "imetable B Allows to view timetable which has been generated by
Admin.
Chinmaya Institute of Technology />