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

1

COLLEGE OF APPLIED SCIENCE


KANJIRAPPALLY
(Affiliated to Mahatma Gandhi University, Kottayam)

PROJECT REPORT ON

“ AUTOMATIC TIME TABLE GENERATER”

SUBMITTED BY

ANANDH T S

ALBIN P S

NESTO JHOSEPH

JOEL V JOY

BSc. COMPUTER SCIENCE(2015-2018) DEPARTMENT OF COMPUTER


SCIENCE COLLEGE OF APPLIED SCIENCE, KANJIRAPPALLY

IHRD college of applied science kanjirappally


2

COLLEGE OF APPLIED SCIENCE


KANJIRAPPALLY
Managed by

INSTITUTE OF HUMAN RESOURCES DEVELOPMENT

(Established by Government of Kerala)

CERTIFICATE

This is to certify that the project report entitled “AUTOMATIC TIME TABLE
GENERATER” is a bonafide project report on the projectpresented byMr. Anandh t s , Mr.Albin

p s,Mr nesto josephand Ms.joel v joyof fifth Semester BSc computer science for the partial
fulfilment of the requirements for the award of the Bachelors Degree in Electronics from Mahatma
Gandhi University, Kottayam.

Mrs. Arya M Nair Mrs. Jaya Gokila P


Project Guide Principal
Lecturer in computer College of Applied Science
CAS Kanjirappally Kanjirappally

IHRD college of applied science kanjirappally


3

ACKNOWLEDGEMENT
First and foremost we give all glory, honour and praise to God Almighty who enabled me to
complete this project successfully.

We would like to acknowledge to Mrs. Jaya Gokila P , for her kind patronage in allowing me
to carry out this project.

We express my sincere gratitude towards Mrs Arya M Nair, the project guide for providing
great support and encouragement for the successful completion of the project

We would like to thank Mrfor his valuable support and encouragement throughout this work.

We would like to thank ourPARENTS, for giving the financial aid and all support from their
side.

Last but not the least, Wecovey our sincere gratitude to all those who have contributed the
successful accomplishment of our project.

By,

ANANDH T S

ALBIN P S

NESTO JOSEPH

JOEL V JOY

IHRD college of applied science kanjirappally


4

TABLE OF CONTENTS

1. Introduction
1.1 . project overview
1.2 . project objective
1.3 . problem definition
2. System analysis
2.1 . purpose
2.2 . existing and proposed system
2.3 . limitations
2.4 . feasibility
2.5 . fact finding techniques
3. System requirements specification
3.1 . purpose, scope and overview
3.2 .general description
3.3 . functional requirements
3.4 . user interface requirements
3.5 . performance requirements
4. System environment
4.1 . hardware and software specification
5. table design
5.1 . normalization
5.2 . E R diagram
5.3 . Data structure
6. Data flow diagram
7. Source code
8. System testing
9. Screen shots
10. Conclusion

IHRD college of applied science kanjirappally


5

1. INTRODUCTION
1.1 . PROJECT OVERVIEW
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. Maximum and minimum work load

for a Faculty for a day, week and month will be specified for the efficient generation of timetable.

1.2 PROJECT OBJECTIVE

By using this software users can apply for leave by providing leave required date, reason and also

with substitute faculty. When selecting a faculty as substitute it allows to view timetable of that

faculty for ensure that the faculty is free at that particular period. Substitute can approve or reject

request. Princiapl can also view the request send by faculty and can also view substitute response.

Principal can approve / reject request.

It is a comprehensive timetable management solutions for Colleges which help to overcome the

challenges in mannually setting the timetable. By using this software it will be very easy for faculty to

get timetable in their phones

1.3 . PROBLEM DEFINITION

Avoid the complexity of setting and managing Timetable manually. Itwill help you to

manage all the periods automatically. Faculty can recieve theirperiods information in their

phone . Initially we will be setting the maximumworkloads for a Faculty in a day, week and

month. Main challenge is to managetimetable when any Faculty is absent. By using this

software it will be very easyto allocate subject for different faculty.

2. SYSTEM ANALYSIS

2.1 PURPOSE

Analysis can be defined as breaking up of any whole so as to find out their nature, function etc.

a statement of these findings. It defines design as to make preliminary sketches of to sketch a

pattern outline for plan. To plan and carry out especially by artistic arrangement or

IHRD college of applied science kanjirappally


6

in a skilful way. System analysis and design can be characterized as a set of techniques and

processes, a community of interests, a culture and an intellectual orientation . The various

tasks in the system analysis include the following.

 Understanding application

 Planning

 Scheduling

 developing candidate solution

 Performing trade studies

 performing cost benefit analysis

 Recommending alternative solution

 Selling of system
Supervising, installing and maintaining the system
System analysis involves the study of an application area to fully understand the

problem being posed. Activities are focused on developing a comprehensive knowledge

of the existing system , its strengths and weaknesses and the reasons for the need to

restructure, replace, or automate the existing system. Risk assessments and risk

containment plan ,cost estimation and plans for the remainder of the development are

results usually prepared by the system analyst as a by-product of system analysis

2.2 . EXISTING AND PROPOSED SYSTEM

Normally timetable generation done manually. As we know all institutions/organizations have

its own timetable, managing and maintaining these wiil not be difficult. Considering workload with

this scheduling will make it more complex. As mentioned , when Timetable generation is being done,

it should consider the maximum and minimum workload that is in a college. In those cases timetable

generation will become more complex. Also , it is a time consuming process.

Automatic Timetable manger is a Java based software used to generate timetable

automatically. Will 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. Proposed system will help to generate it automatically

also helps to save time . There is no need for Faculty to worry about their period details and maximum

IHRD college of applied science kanjirappally


7

workload. By using this software users can apply for leave by providing leave required date, reason

and also with substitute faculty. When selecting a faculty as substitute it allows to view timetable of

that faculty for ensure that the faculty is free at that particular period. Substitute can approve or reject

request. Princiapl can also view the request send by faculty and can also view substitute response.

Principal can approve / reject request. It is a comprehensive timetable management solutions for

Colleges which helps to overcome the challenges in current system.

2.3 LIMITATION

Limitation of existing system are as follows :

 More man power.


 Time consuming.
 Consumes large volume of paper work.
 Needs manual calculations.
 No direct role for the higher officials.
To avoid all these limitations and make the working more accurately the system needs to be
computerized in a better way.

2.4 . FESIBILITY ANALYSIS

A feasibility study was an evaluation of a proposal designed to determine the difficulty in carrying out
a designated task. Generally, a feasibility study precedes technical development and project
implementation.

Economic Feasibility

To develop the proposed system, it needs no extra facilities and devices. All dependencies

are satisfied from the open source projects. All tools used are free, open source and the

programming language is JSP and hence its development is economically .

Technical Feasibility

Proposed system is technically feasible because the proposed system requires only those

H/W and S/W tools that are available in the system. It requires the installation of JSP and

MYSQL which can be done for free. More overexpandability will be maintained in the new

system. New modules can be added later on the application, if required in the future.

Additionally the application will have Userfriendly Forms and Screens.

IHRD college of applied science kanjirappally


8

Behavioral Feasibility

Behavioral feasibility determines how much effort will go in the proposed information

system, and in educating and training the users on the new system. Since the user interface

is very simple and easily understandable , no training is required for using this software

2.5 . FACT FINDING TECHNIQUES

The project team studied about the running system and discussed it with the concerned authorities

and there by evolved a system that is feasible in every respect. The group accomplished these task

by studying about the present scenario through various fact finding techniques that made it more

clearly about the system to be developed. These technique include interview being accomplished

between the authorities that made the authority to clearly specify the system that they propose to

develop. The feature that must be included has been clearly specified at this stage. Also the

observation of present running technique were observed there by the limitations of the existing

system being overcome

3 . SYSTEM REQUIREMENTS SPECIFICATION

3.1 . PURPOSE, SCOPE AND OVERVIEW

PURPOSE

 Planning timetables is one of the most complex and error-proneapplications.

There are still serious problems like generation of high costtime tables are

occurring while scheduling and these problems arerepeating frequently.

 Therefore there is a great requirement for an application distributing thecourse

evenly and without collisions.

 Our aim here is to develop a simple, easily understandable, efficient and

portable application, which could automatically generate good quality

timetables with in seconds

scope

IHRD college of applied science kanjirappally


9

Timetable Generator, our software allows users to generate time table fornewly occurring

changes in less time, with less effort and with moreefficiency.It will allow users to work on

and view time tables in different platformsand view different information simultaneously.

Overview

Timetable Generator, our software allows users to generate time table fornewly occurring

changes in less time, with less effort and with moreefficiency.

It will allow users to work on and view time tables in different platformsand view different

information simultaneously.

3.2 GENERAL DESCRIPTION

Time table management system is a project which is developed to provide better support for

lecturers and students in a college. This Time Table Management System provides a function

to view timetable for the specific lecturer and the master timetable for that semester. Lecturer

can inquire about classes availability and can book for the free classes. Students can view

their functionality like adding and dropping subjects. Students can view and get the

registration slip from the system. Timetable management system also contains a database,

which stores the lecturers and students personal details.

3.3 FUNCTIONAL REQUIREMENT

Functional requirement are statement of services the system should provide, how the system

should react to particular inputs and how the system should behave in particular situation.

The time table management system provide the following facilities

 User details
 Time table details in in each period

3.4 . USER INTERFACE REQUIREMENTS

The system should be designed in such a way that only authorized people should be allowed

to access some particular modules. The record should be modified by only administrator and

no one else the user should always be in control of the application and not the vice versa .

the user interface should be consistent so that the user can handle the application with ease

and speed the application should be visually , conceptually clear.

3.5 .PERFORMANCE REQUIREMENT

The system must have following characters :


IHRD college of applied science kanjirappally
10

 The system is developed keeping in mind both use and the administrator

 All the user requests are to be processed instantaneously and thus enabling the results
to be
delivered on time

 The administrator should be provided with a host of options to control the

functioning of the system

 The entire process related tools has to be automated thus providing the user with

an option of taking up of there choice as and when required

4 . SYSTEM ENVIROMENT

4.1 . HARDWARE AND SOFTWARE SPECIFICATION


Software Specification
➢ Operating System : Windows/Linux

➢ Technology : JSP/SERVLET

➢ Web Technologies : XHtml, JavaScript, CSS

➢ Web Server : Appache Tomcat/Glassfish

➢ Design Tools :NetBeans IDE

➢ Compiler : JDK

➢ Database : MySQL

➢ Web Browser :Mozilla Firefox/Google Chrome

Hardware Specification

➢ Hardware : Pentium
➢ Speed : 2 Ghz

➢ RAM : 2GB

➢ Hard Disk : 80 GB

IHRD college of applied science kanjirappally


11

Platform forms the foundation on which the architecture, design, and implementation of a

product is built. System specification defines the full functionality of the system. In many

systems we work on, some functionality performed in hardware and some in software. System

specification documents can thus be defined as the requirements documentation that formally

specifies the system level requirements of an application. This application developed in

windows user platform

NETBEANS IDE FOR JAVA

NetBeans IDE provides first-class comprehensive support for the newest Java technologies

and latest Java enhancements before other IDEs. With its constantly improving Java Editor,

many rich features and an extensive range of tools, templates and samples, NetBeans IDE sets

the standard for developing with cutting edge technologies out of the box

THE JAVA PROGRAMMING LANGUAGE

Java is a programming language originally developed by Sun Microsystems and released in

1995 as a component of Sun Microsystems platform. The language derives much of its syntax

from C and C++, but has a simpler object model and fewer low level facilities. Java

applications are typically compiled to byte code that can run on any Java Virtual

Machine(JVM) regardless of computer architecture.

IHRD college of applied science kanjirappally


12

The Java programming language is a high level languages that can be characterized by all

the following:

➢ Simple

➢ Object-Oriented

➢ Distributed

➢ Multi-threaded

➢ Dynamic

➢ Portable

➢ Architecture Neutral

In Java programming language all source code is written in plain text files ending with Java

extension. Those source files then compiled into class files by the Javac compiler. A. class file

does not contain code that is native to your processer: it instead contain byte codes- the

machine language of Java Virtual

MySQL

MySQL is the world's most used open source Relational Database Management

system(RDBMS) as of 2008 that runs as a server providing multi-user access to a number of

databases. It is named after co-founder Michael Widenius' daughter, My. The SQL phrase

stands for Structured Query Language.

The MySQL development project has made its source code available under the terms of the

GNU General Public License, as well as under a variety of proprietary agreements. MySQL

was owned and sponsored by a single for-profit firm, the Swedish company MySQL Lab, now

owned by Oracle Corporation.

MySQL is a popular choice of database for use in web applications, and is a central component of

the widely used LAMP open source web application software stack—LAMP is an acronym

IHRD college of applied science kanjirappally


13

for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software -open source projects that

require a full-featured database management system often use MySQL.

Interfaces

MySQL is primarily an RDBMS and ships with no GUI tools to administer MySQL

databases or manage data contained within the databases. Users may use the included

commandlines tools, or use MySQL "front-ends", desktop software and web

applications that create and manage MySQL databases, build database structures,

back up data, inspect status, and work with data records.. The official set of MySQL

front-end tools, MySQL workbench is actively developed by Oracle, and is freely

available for use.

5. TABLE DESIGN

5.1 . NORMALIZATION

Normalization is the process of analyzing the given relation schemas based on their Functional

Dependencies and primary keys to achieve the desirable properties of Minimizing

Redundancy, Minimizing the insertion, deletion and updating anomalies.

Normalization is carried out for the following reasons:

• To structure the data so that perfect relationship between entries can be represented.

• To permit simple retrieval of data in response query and report requests.

• To reduce the need to restructure or reorganize data when new application requirement arises.

Normalization consists of various levels:

IHRD college of applied science kanjirappally


14

1. First Normal Form (1NF)

A table is in 1NF if there are no duplicate rows in the table. Each cell is single valued.

Entries in a column are of the same kind.

2. Second Normal Form (2NF)

Second Normal form is based on the concept of full functional dependency. A table

(relation) is in 2NF if .It is in First Normal Form and if all non-key attributes are

dependent on the key. Dependent on only a part of the (composite) key, the definition

of 2NF is sometimes phrased as, "A table is in 2nF if it is in 1NF and if it has no partial

dependencies.”

3. Third Normal Form (3NF)

Third Normal Form is based on the concept of transitive dependency. A table (relation)

is in 3NF if it is in Second Normal Form and if it has no transitive dependencies

IHRD college of applied science kanjirappally


15

5.2 . E R DIAGRAM

IHRD college of applied science kanjirappally


16

5.3 . DATA STRUCTRE


Admin Table:

Serial Column Name Datatype Constraints


No:

1 id int Primary key

2 usename varchar(45) Not Null

3 Password varchar(45) Not Null

4 type varchar(45) NotNull

Course Table:

Serial No: Column Name Datatype Constraints

1 course_id int Primary key

2 course_name varchar(45) NotNull

Faculty_hour:

Serial No: Column name Datatype Contraints

1 idfaculty int Primary key

2 hour int NotNull

3 taken int NotNull

IHRD college of applied science kanjirappally


17

Facleave:

Serial No: Column Nmae Datatype Constraints

1 fc_id int Primary key

2 date varchar(45) NotNull

3 reason varchar(45) NotNull

4 status varchar(45) NotNull

5 subfac_id int NotNull

6 sub_status varchar(45) NotNull

Fac_Sub:

Serial Name Column name Datatype Constraints

1 id int NotNull

2 fac_id int NotNull

3 sub_id int NotNull

Semester:
Serial No: Column Name Datatype Constraints

1 sem_id int Primary key

2 course_id int NotNull

3 sem_name varchar(45) Allow Null

IHRD college of applied science kanjirappally


18

Faculty:

Serial No: Column Name Datatype Constraints

1 fac_id int Primary key

2 f_name varchar(45) NotNull

3 l_name varchar(45) NotNull

4 address varchar(45) NotNull

5 contact varchar(45) NotNull

6 dob varchar(45) NotNull

7 doj varchar(45) NotNull

8 qualification varchar(45) NotNull

9 e-mail varchar(45) NotNull

10 macaddr varchar(45) NotNull

11 username varchar(45) NotNull

12 password varchar(45) NotNull

13 course varchar(45) NotNull

IHRD college of applied science kanjirappally


19

Subject:

Serial No: Column Name Datatype Constraints

1 sub_id int Primary key

2 sub_name Varchar(45) NotNull

3 sem_name Varchar(45) NotNull

4 course_name Varchar(45) NotNull

5 hour int NotNull

6 remhour int Allow Null

7 continues Varchar(45) Allow Null

8 afternoon Varchar(45) Allow Null

Timetable:

Serial No: Column Name Datatype Constraints

1 id int Primary key

2 fac_id int NotNull

3 periodid int NotNull

4 course_id int NotNull

5 day varchar(45) NotNull

6 sem_id int NotNull

7 sub_id int NotNull

IHRD college of applied science kanjirappally


20

6. DATA FLOW DIAGRAM

The DFD is also known 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.

Starting with a set of high-level functions that a system performance of DFD model

in hierarchically it represents various sub functions. In a normal convention, logical

DFD can be completed using only four notations:

• Represents source or destination of data

• Represents Data Flow

• Represents a process that transforms incoming data into outgoing data

• Represents Data Source

Function Symbol

A function is represented using a circle. This symbol is called a process or a bubble.

Bubbles are annotated with the names of corresponding functions.

External Entity Symbol

An external entity such as a librarian, library member etc is represented by a rectangle.

The external entities are essentially those physical entities external 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 Data Flow Symbol. This represents the data flow

occurring between two processes or between an external entity and a process in

direction of the Data Flow Arrow. Data Flow symbols are annotated with

corresponding data names.

IHRD college of applied science kanjirappally


21

Data Store Symbol

A Data Store represents a logical file; it is represented using two parallel lines. A

logical file can represent either Data Store Symbol, which can represent either

data structure or a physical file on disk.

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 DFD at the

simplest level is referred to as the Context Analysis Diagram. These are expanded by

level, each explaining in process in detail. Processes are numbered for easy

identification and are normally labeled in block letters. Each data flow is labeled for

easy understanding.

Context Diagram

`The context 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 external 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.

Level-1 DFD

To develop the LEVEL-1 DFD, examine the high level functional requirements. It is between three

to seven high-level functional requirements then these can be directly represented as bubbles as in

the LEVEL-1 DFD. We can examine the input data to these functions and the data output by these

functions, and represent them appropriately in the diagram.

Procedure to develop a DFD model of a system:

The SRS document is examined to determine:

• Different high-level functions that the system need to perform.


IHRD college of applied science kanjirappally
22

• Data input to every high-level function

• Data output from every high-level functions

• 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 Data Flow Diagram, usually called DFD.

The high-level functions described in the SRS Documents, and then each of the high-level functions

can be represented in form of a bubble. Each high-level function is decomposed into constituent sub

functions through the following set of activities

• Different sub functions of the high-level functions are identified.

• Data input to each of these sub functions is identified.

• Data output from each of these sub functions is identified.

• Interactions among these sub functions are identified.

These aspects are then represented in a diagrammatic form using a DFD.

Step three is repeated recursively for each sub function until a simple algorithm can represent a
sub function

IHRD college of applied science kanjirappally


23

IHRD college of applied science kanjirappally


24

IHRD college of applied science kanjirappally


25

IHRD college of applied science kanjirappally


26

7. SOURCE CODE

Apply Leave

package autotimetable;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class signup extends HttpServlet {

protected void processRequest(HttpServletRequest


request, HttpServletResponse response)

throws ServletException, IOException


{ response.setContentType("text/html;charset=UTF
-8"); String path="index.jsp#overlay";; try {

DB d=new DB();
String uname=request.getParameter("name");
String pass1=request.getParameter("pass1");
String pass2=request.getParameter("pass2");
String fname=request.getParameter("fn");
String lname=request.getParameter("ln");
String addr=request.getParameter("addr");
String contactno=request.getParameter("cn");
String dob=request.getParameter("dob");
String doj=request.getParameter("doj");
String qualific=request.getParameter("qu");
IHRD college of applied science kanjirappally
27

String email=request.getParameter("email");
String maddr=request.getParameter("maddr");
String course=request.getParameter("course");

String
subjectlist[]=request.getParameterValues("subjectslist");
String slist="";

for(int i=0;i<subjectlist.length;i++){
/ System.err.println("subjectlist :"+subjectlist[i]);
slist=slist+subjectlist[i]+",";
}

ArrayList<String> a=new
ArrayList<String>(); a.add(uname);
a.add(pass1);
a.add(pass2);

a.add(fname);
a.add(lname);
a.add(addr);
a.add(contactno);
a.add(dob);
a.add(doj);
a.add(qualific);
a.add(email);
a.add(maddr);
a.add(course);
a.add(slist);
d.addTeacher(a);
path="index.jsp?

success"; } finally {

}
IHRD college of applied science kanjirappally
28

response.sendRedirect(path);
}

protected void doGet(HttpServletRequest request,


HttpServletResponse response)
throws ServletException,
IOException { processRequest(request,
response);
}

protected void doPost(HttpServletRequest


request, HttpServletResponse response)
throws ServletException,
IOException { processRequest(request,
response);

}
public String getServletInfo() {
return "Short description";
}

Substitute request

<%@page import="java.sql.ResultSet"%>

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


8"%><!DOCTYPE html>
<jsp:useBean id="object"
class="autotimetable.DB" /><%
ResultSet
r=object.getSubst(session.getAttribute("id")+"");
out.print("<table id='admin_menu'>");

out.print("<th>");
out.print("</th>");

IHRD college of applied science kanjirappally


29

out.print("<th>");
out.print("</th>");
out.print("<th>");
out.print("Requested By</th>");
out.print("<th>");
out.print("Requested For</th>");
out.print("<th>");
while(r.next()){
out.print("<tr>");
out.print("<td>");
out.print("<div style='padding: 10px 10px 10px 10px;
background-color:green'><a
href='user/leaveAction.jsp?id="+session.getAttribute("id")
+"&date="+r.getString(2)+"&action=approved' style='text-
decoration:none;color:white'>Approve</a></div>");

out.print("</td>");
out.print("<td>");
out.print("<div style='padding: 10px 10px 10px 10px;
background-color:Red'><a
href='user/leaveAction.jsp?id="+session.getAttribute("id")
+"&date="+r.getString(2)+"&action=Rejected' style='text-
decoration:none;color:white'>Reject</a></div>");

out.print("</td>");

IHRD college of applied science kanjirappally


30

8 . SYSTEM TESTING

Software validation is achieved through a series of tests that demonstrate conformity

with requirements. Validation succeeds when software functions in a manner that can

be reasonably expected by the customer. Here line by line checking is used to find

errors. Comment line facility is used for checking errors.

Testing is necessary for the success of the system. During testing, program to be tested

is executed 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 expected.

Validation means checking the quality of software in both simulated and live

environments. System validation ensures that the user can in fact match his/her

claims, especially system performance. True validation is verified by having each

system tested.

First the application goes through a phase often referred as alpha testing in which the

errors and failures based on simulated user requirements are verified and studied. The

modified software is then subjected to phase two called beta testing in the actual user’s

site or live environment. After a scheduled time, failures and errors are documented

for final correction and enhancements are made before the package is released.

In a software development project, errors can be injected at any stage during development.

Even if error detecting and eliminating techniques were employed in the previous analysis and

design phases, errors are likely to remain undetected. Unfortunately, these errors will be

reflected in the code. Since code is frequently the only product that can be executed and whose

actual behavior can be observed, testing is the phase where the errors remaining from

IHRD college of applied science kanjirappally


31

the earlier phases must be detected in addition to detecting the errors introduced

during coding activity.

Having proper test cases is central to successful testing. We would like to determine a set of test

cases such that successful execution of all of them implies that there are no errors in the

program. Therefore, our project crew aimed at selecting the test cases such that the maximum

possible numbers of errors are detected by the minimum number of test cases.

For this we have adopted both manual testing techniques and automated testing techniques.

First and foremost, testing was done by means of Inspection, where participants manually

examine system deliverables for occurrences of well-known errors. Inspection team consists

of 5 members who are trained for their tasks. Items for inspection include completeness of

the design, and functional requirements, internal completeness and consistency in definition

and usage of terminology, and correctness of the interfaces between modules. Syntax,

grammar, and some other routine errors were checked by automated inspection software, so

manual inspection checks are used for more subtle errors. And we have done the testing

following design phase prior to implementation.

Testing objectives are :

• Testing is a process of executing a program with the intent of finding

an error .

• A good test case is one that has a high probability of finding an as-yet-undiscovered
error .

• A successful test is one that uncovers an as-yet-undiscovered error. Automated


testing is performed at four different levels

IHRD college of applied science kanjirappally


32

Test Types

1.Unit testing

2.Integration testing

3.System testing

4.Acceptance testing

Unit testing

In unit testing different modules are tested against the specifications produced

during design phase for the modules in the project 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 project is functional

testing in which inputs are given to the system for which the expected results are known,

boundary values and special values. For this the module selected was advance details where

the balance amount falls to negative indicating there is no more payment required. Secondly

performance testing was done to determine the amount of execution time spent in various

aspects like the module, program throughput, response time, and the device utilization by the

program unit.

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

steps.

IHRD college of applied science kanjirappally


33

System testing

System 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. System 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 expected by the customer.

Acceptance testing

Once 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 user’s acceptance or rejection. The admin and

staff at Company accepted proposed system after testing.

Incremental Integration Testing

Bottom 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 like 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 unique problems while

conduct tests we noted following areas while testing:

✗ Client –GUI considerations

✗ Target environment and platform diversity considerations

✗ Distributed processing considerations

✗ No robust target environment

IHRD college of applied science kanjirappally


34

✗ Nonlinear performance relationships

Many different types of tests are conducted at each of this level of detail the following tests

are conducted.

➔ Application function tests

The functionality of client applications is tested using the methods discussed below.

➔ Server tests

The coordination and data management functions of the server are tested.

Server performance is also considered.

➔ Database tests

The accuracy and integrity of data stored by the server is tested. Transactions posted

by client applications are examined to ensure that data are properly stored, updated

and retrieved. Archiving is also tested.

➔ Network communication tests

These tests verify that communication among the nodes of the network occur are correct and that

message passing, transactions and related network traffic occurs without error. Network tests are also

being conducted. The strategy for testing c/s architecture is analogous to testing of other architecture.

Test Cases

Seri Test Case Input Expected Obtained Remark


al Output Output

No:

1 Login(Admin) Username, Navigate to Home page Pass


Password Homepage of Admin

IHRD college of applied science kanjirappally


35

of Admin

2 Login(Faculty) Username, Navigate to Home page Pass


Password Homepage of Faculty

of Faculty

3 Login(Principal) Username, Navigate to Homepage Pass


Password Homepage of Principal

of Principal

4 Login Invalid user Username, Invalid Invalid Pass


Password data Username or

Password

5 Add Faculty Username, Faculty Faculty Pass


Password, registered registered

f_name,l_na Successfull succefully

me, y

address,conta

ct,dob,doj,

qualification,

e-

mail,macaddr

, course

6 Manage staff Staff details Approve Approve Pass


staff staff

7 Aplly leave Date,Reason, Approve / Approve / Pass


Substitute Reject Reject

8 Requst for request Approve / Approve / Pass


substitute Reject Reject

9 Timetable Subject,Seme Timetable Timetable Pass


Generation ste,Faculty

IHRD college of applied science kanjirappally


36

9. SCREEN SHOTS

IHRD college of applied science kanjirappally


37

IHRD college of applied science kanjirappally


38

IHRD college of applied science kanjirappally


39

IHRD college of applied science kanjirappally


40

IHRD college of applied science kanjirappally


41

10. CONCLUSION

Automatic Timetable Generator is a web based application for generating timetable

automatically. It is a great difficult task that to manage many Faculty's and allocating subjects for

them at a time manually. So 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 make use of the different tools are

widely applicable and free to use also.

SUGGESTION FOR FUTURE WORK

The Automatic Timetable Generator is driven portal for educational organization and is a web

based application which will be helpful for creating Timetabels . This project will be a great

helpful for the institiutions because, It is a great difficult task that to manage many Faculty's

and allocating subjects for them at a time manually and this project will help to manage it

properly. This manage timetable for faculty with considering maximum and minimum

workload , and can be managed easily .

IHRD college of applied science kanjirappally


42

REFERENCES / BIBILIOGRAPHY

BOOKS

Software Engineering Fifth edition by R. S.Pressman, McGraw-Hill Publication, 1997

WEBSITES

http://en.wikipedia.org/wiki/MySQL

http://www.wpi.edu/Serlvets & JSP - Falkner Jones.pdf

http://edutechwiki.unige.ch/en/Educational_technology

http://www.wpi.edu/Images/Tutorial_JSP

http://en.wikipedia.org/wiki/JSP

IHRD college of applied science kanjirappally


43

APENDICES

The purpose of system implementation can be summarized as follows: making the new system

available to a prepared set of users(deployment), and positioning ongoing support and

maintenance of the system within the performing organization. At a finer level, deploying the

system consists of executing 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

required at the start of the operation are available and accurate, and validating that, the

functions that interact with the system are functioning properly.

Installation Manual

Working of this software is required to set some basic requirements concentrate on

hardware and software requirements.This system is developed in JSP,HTML and

CSS as front end and MySQL as backend.

NetBeans Installation

The Java SE Development Kit (JDK) 6 Update 26 or later is required to install the

NetBeans IDE. The 7.2.1 version of the IDE cannot be installed using JDK 5.0. You can

download the latest update of JDK 6 or 7

Installer Download Options

On the NetBeans IDE Download pages, you can obtain one of several installers, each of

which contains the base IDE and additional tools.

The following installers are available:

● Java SE. Supports all standard Java SE development features as well assupport for

IHRD college of applied science kanjirappally


44

NetBeans Platform development and JavaFX 2.1.1 SDK.

➢ Java EE. Provides tools for developing Java SE and Java EE applicationsas well as support

for NetBeans Platform development and JavaFX 2.1.1 SDK. This download option also

includes GlassFish Server Open Source Edition 3.1.2.2, and Apache Tomcat 7.0.27

software.

To install the software

➢ After the download completes, run the installer.

a. For Windows, the installer executable file has the .exe extension. Double-click

the installer file to run it.

➢ After downloading the All or Java EE bundle ,customize your installation. Perform the

following steps at the Welcome page of the installation wizard:

a. Click Customize.

b. In the Customize Installation dialog box, make your selections.

c. Click OK.

➢ At the Welcome page of the installation wizard, click Next.

➢ At the License agreement page, review the license agreement, click the acceptance

check box, and click Next.

➢ At the JUnit License Agreement page, decide if you want to install JUnit and click

the appropriate option, click Next.

➢ At the NetBeans IDE installation page, do the following:

a. Accept the default installation directory for the NetBeans IDE or specify another

IHRD college of applied science kanjirappally


45

directory.

➢ If the GlassFish Server Open Source Edition 3.1.2.2 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. Click Next.

➢ At the Summary page, verify that the list of components to be installed is correct and

that you have adequate space on your system for the installation.

➢ Click Install to begin the installation.

➢ At the Setup Complete page, provide anonymous usage data if desired, and click Finish.

JDK Installation

Install the latest JDK, but it can be messy if you have multiple versions of JDK/JRE.If you

have previously installed older version of JDK/JRE, un-install ALL of them.

Step 1: Download JDK

➔ Goto Java SE download site @

http://oracle.com/technetwork/java/javase/download/index.html

➔ Click the "Download" button under "JDK" of "Java SE 7".

➔ Check "Accept License Agreement".

➔ Choose your operating platform, e.g., Windows x86 for 32-bit Windows OS or Windows x64

for 64-bit Windows OS. You can check whether your Windows OS is 32-bit or 64-bit via
"Control Panel" ⇒ System ⇒ Under the

IHRD college of applied science kanjirappally


46

"System Type".

Step 2: Install JDK and JRE

Run the downloaded installer which installs both the JDK (Java Development Kit)

and JRE (Java Runtime). By default, the JDK will be installed in directory

"C:\Program Files\Java\jdk1.7.0_xx", where xx denotes the latest upgrade

number; and JRE in "C:\Program Files\Java\jre7".

For novices, accept the defaults. Simply click "next"..."next"... to install JDK in "C:\Program

Files\Java\jdk1.7.0_xx" and JRE in "C:\Program Files\Java\jre7". Take note of your JDK installed

directory (which you will need to use in the next step). Check the JDK installed directory by

inspecting these folders using Windows' Explorer.

Step 3: Include JDK's "bin" Directory in the PATH

➢ Variable name : PATH

➢ Variable value : c:\Program Files\Java\jdk1.7.0_xx\bin;[exiting entries]

Place the JDK bin directory in front of "c:\windows\system32" and "c:\windows". This is because

some Windows systems may have an out-dated copy of JDK/JRE in these directories. Do a search for

"java.exe", and you will be amazed by the findings.

Step 4: Verify the JDK Installation

Launch a CMD shell (Click "Start" button ⇒ run... ⇒ enter "cmd"; or "Start" button ⇒ All Programs ⇒ Accessories ⇒ Command Prompt).

✗ Issue a "path" command to list the contents of the PATH environment variable. Check the

output and make sure that <JAVA_HOME>\bin is listed in the PATH.

✗ prompt>path

PATH=c:\Program Files\Java\jdk1.7.0_xx\bin;[other entries]

IHRD college of applied science kanjirappally


47

✗ Issue the following commands to verify that JDK/JRE are properly installed and display

their version:

✗ prompt>java -version

✗ java version "1.7.0_xx"

✗ Java(TM) SE Runtime Environment (build 1.7.0_xx-b11)

✗ Java HotSpot(TM) Client VM (build 23.3-b01, mixed mode, sharing)

✗ prompt>javac -version javac

1.7.0_xx

MySQL Installation

Download MySQL

Initially Uninstall any previous versions through Control Panel prior to install.

MySQL is 'Open Source' software that is undergoing constant development.

Downloadlinkhttp://dev.mysql.com/download/mysql/#downloads .You must exit all other programs,

in particular Anti Virus programs.

How to Install (steps)

Step 1 : Navigate to the folder you downloaded to and click on install package.

Step 2 :You may receive this security warning - clickRun ->ClickNext >

Step 3 :You may select Typical if you are have a limited hard disk capacity.

Step 4 : You are now ready to install - clickInstall ->ClickNext >

Step 5 :Tick Configure the MySQL Server now -> ClickFinish


IHRD college of applied science kanjirappally
48

Step 6 :Select Reconfigure Instance then clickNext >

Step 7 : SelectDetailed Configurationthen clickNext >

Step 8 : SelectDeveloper Machinethen clickNext >

Step 9 : SelectNon-Transactional Database Onlythen clickNext >

Step 10 : SelectDecision Support (DSS)/OLAPthen clickNext >

Step 11 : Select both (default) options:Enable TCP/IP Networkingand

Enable Strict Mode then click Next >

Step 12 : Select (Default)Standard Character Setthen clickNext >

Step 13 : Select both options: Install As Windows Service and Include BinDirectory in Windows
Path then click Next >

If you have a previous install you must enter Current root password - if no previous install you will

not see this

Enter New root password and Confirm

Make sure you record the Root Password . The default username is root.

Step 14 : ClickExecuteto configure your database server.

User Manual

Automatic Timetable Generator is a web based application which allow to create

timetable automatically. An user is a person who makes interactions with the system.

An user exchanges information with the system. The system needs to interact with a

database for storing and retrieving information.

It consist of 3 types of users.

IHRD college of applied science kanjirappally


49

Admin

Faculty

Principal

Admin user: 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

logged in the following are the things managed:-

Add faculty : This field will add a new faculty into this portal. By

adding all the fields the admin can add new Staff.

Remove faculty : This field will delete a faculty from this portal..

Timetable Generation : This field will generate Timetable for College. Allowview of

generated timetable

Faculty User: The staff also has an username and password to be loggedin. . After logging

into it the faculty also has the following functions to be performed:-

View Timetable : Allows to view timetable which has been generated

by Admin.

Apply leave : By using this Faculty can apply for leave withappropriate

reason ,date and Substitute.

IHRD college of applied science kanjirappally


50

Approve /Reject Substutute request : Other faculty can suggest a faculty when

they are requesting for a leave.

Substitute can Approve/ Reject

Substitute request.

View profile : This field allows to vie th profile of

Faculty's.

Principal User : The principal also need an username and password to belogged in. The

principal can also perform their own functions. They are followed below:-

View leave request : This field allows to check leave requests forwarded byFaculty's.

Principal also can view Substitutes response also. By looking at that

Principal can Approve / Reject leave requsts

View Timetable : Allows to view timetable which has been generated by

Admin.

IHRD college of applied science kanjirappally