You are on page 1of 60

Directorate of Distance Education

Swami Vivekanand Subharti University

A Project Report on

AUTOMATIC TIME TABLE GENERATION SYSTEM


Directorate of Distance Education
Swami Vivekanand Subharti University
Meerut

Submitted for partial fulfillment for award of the degree in


Master in Business Administration

BY STUDENT Under the Supervision


Name- AKSHYA KUMAR BARIK Sunit Sahani
Enrollment No.- W1220615421
Batch- 2022

1
Directorate of Distance Education
Swami Vivekanand Subharti University

Certificate

This is to Certify that AJIT KUMAR PANIGRAHI has carried out the
Project work presented in this entitled “AUTOMATIC TIME TABLE
GENERATION SYSTEM” under my supervision and merits the award of
Master in Business Administration from Swami Vivekanand Subharti
University. The Project embodies result of original work and studies carried out
by Student himself/herself and the contents of the Project do not form the basis
for the award of any other degree to the candidate or to anyone else.

Signature of the Student Signature of the Guide

Name of the Student- AKSHYA KUMAR BARIK Sunit Sahani


Enrollment no.- W1220615421 Asst. Prof.

2
ACKNOWLEDGEMENTS

The satisfaction that accompanies that the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it possible,
whose constant guidance and encouragement crown all efforts with success. First and
foremost we wish to thank our project guide Mr. Amit Nayyer whose advice support and
patience this major project had not been possible.

We want to formally acknowledge our sincerest gratitude to all those who assisted and guided
us in completing this minor project report and making it a memorable and successful
experience.

Words defeat us in expressing our deep sense of gratitude for our group mates, whose
continual support and guidance enabled us all the challenges posed by this project, who
provided us all the relevant information and the necessary Hardware, Software, and new
ideas that really helped us a lot. Special thanks are due to all the other friends for all the
encouragement, inspiration and motivation. Finally, we also thank parents who were constant
source of encouragement.

iv
TABLE OF CONTENTS
Title Page No
CERTIFICATE……………………………………………………….. i
STUDENT’S DECLARATION…………………………………….... ii
ABSTRACT…………………………………………………………... iii
ACKNOWLEDGEMENTS…………………………………………... iv
CHAPTER 1 INTRODUCTION TO THE PORJECT 1-9

1.1Introduction…………………………………………………...
1.2 Motivation ………………………………………………….

1.3 Problemdefinition…………………………………………...
1.4 Methodology… …………………………………………….
1.5Feasibility Study…………………………………………….

CHAPTER 2 PROJECT REQUIREMENTS ANALYSIS 10-15


AND SPECIFICAITON
2.1 Introduction………………………………………………….
2.2 Fundamental Requirements.……………………………………...
2.3 RequirementsElicitation…………………………………….
2.4 Requirements Analysis……………………………………...
2.5 Requirements Specification…………………………………
CHAPTER 3 PROJECT DESIGN 16-21
3.1 Introduction………………………………………………….
3.2 Preliminary design.…………….…………………………………...
3.3 Detailed design ……….…………………………………….
CHAPTER 4 PROJECTIMPLIMENTATION 22-40
4.1 Introduction………………………………………………….
4.2 Managing Implementation….…………………………………...
4.3 Practical Considerations………...…………………………..
CHAPTER 5 PROJECTTESTING 41-45
4.1 Introduction………………………………………………….
4.2 Testing Levels ….…………………………………...
4.3 Testing Techniques ………...…………………………..
References
Conclusion
CHAPTER 1 INTRODUCTION TO THE PORJECT

1.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. Maximum and minimum work load for a Faculty for a day, week and month
will be specified for the efficient generation of timetable.

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. Principal 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
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 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.
Principal 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
Salient features of the system
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 helpfull 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 save the

time .

There is no need for Faculty to worry about their timetable

It is a comprehensive timetable management solutions for Colleges which

help to overcome the challenges in current system.


3

LITERATURE SURVEY/REVIEW OF LITERATURE


Trying to develop a software which helps to generate Timetable for an

Institution automatically.

By looking at the existing system we can understand

that timetable generation is done manually.

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


4

1.2 Motivation
The motivation to devlop this time table generation system came from the fact that lecture

Timetable scheduling is still mostly done manually due to its inherent difficulties.

Universities,Collage,high school and other academic institutions are supposed to make time
tables for each semester or term.

Manually creating timetables is a very boring, tedious and a pain staking job. Hence the
project’s idea to computerize this hectic process.

Timetable is a completely automatic time table scheduling software:

=> Allocation of periods to classes and instructors is completely mechanized and does not
restrict the user any processing.

=> A compatible and accurate timetable is guaranteed and the system is therefore well
organized and reliable.

=> Enables the collaboration of teachers and students.

=> The study material can be used in common with others.

=> Time and Labour is saved.

5
1.3Problem Definition

Planning timetable is one of the most complex and error prone application. There are still
serious problems like generation of high cost time table are occurring while scheduling and
these problems are repeating frequently also the difficulty faced during timetabling can be
represented as a constraint satisfaction problem with loose parameters and many
constraints. In the manual lecture timetabling, one of the major problems is dealing with
clashes and finding clash free slots. Making a change requires that one has to undo previous
lecture allocation and look for a new allocations. This creates a series of backtracks which
are difficult to resolve. To overcome these problems, the university system needs an
automated and feasible timetable generator that satisfies all hard constraints conditions
and as much as soft constraints highlighted. For example, the same faculty member
teaching two courses cannot be assigned the same time slot. On the other hand, two
different courses to be attended by the same group of students also should not clash.
Therefore there is a great requirement for an application distributing the course evenly and
without collisions. Automated timetabling, on the other hand, is a great task that saves a lot
of man-hours work and provides optimal solutions with constraint satisfaction within
minutes. The aim is here to develop a simple, easily understandable, efficient and portable
application which could automatically generate good quality time table with in a second.
6

1.4 METHODOLOGY
structure of time table generator consist Input Date Module, relation between the input
data module, time interval, time slots module. On the basis of these modules the automatic
timetable generator system is generated.

A. Input Data The input data module is described by a type of data from the database.
The data contains:
B. • Person: Data describe the name of lecturers.
C. • Subject: Data describe the name of the subjects belonging to desired year and
semesters.
D. • Room: Data describe the name of the classes.
E. • Time Interval: It is a time slot with a starting time and duration.

B. Constraints: Constraints can be divided in to three parts: Validity violation constraints


strong and week constraints

1) Validity violation constraints: There are the constraints which are needed to be
incorporated necessarily otherwise there is no guarantee of valid time tables generated.
They are included as a part of initial generation of population, as they cannot be violated.

• There are certain lectures that may or may not appear at the same time in more than
one class.

• The most trivial violation constraint is that a teacher must not clash in two different tables
of a time table.

Strong constraints

1. More than one lecture cannot be allotted to a classroom at the same time.

2. More than one class cannot be taught by a lecturer simultaneously.

3. Courses for the same year-session students of a department should occupy different time
slots.

4. The classroom in which a course is to be conducted should be spacious enough to take


the students participating in the course.

5. The classrooms should be effectively provided with necessary amenities for the classes.
Weak constraints

1. The lectures are not allotted to time slots which come under the lecturer’s prohibited
time zones.

2. The teaching hours on an instructor should be limited within the allowed maximum
hours.

3. The classes should be scheduled in accordance with the lecturer’s favoured time zones.

4. A break for lunch/dinner must be allotted to the instructors.

5. The classes must not be scheduled late at nights, if possible. 6. The theory courses are
scheduled on Monday and Tuesday, and the practical courses are scheduled on Wednesday,
Thursday, and Friday.

8
1.5 Feasibility Study
A feasibility study was an evaluation of a proposal designed to determine the difficulty in
carrying osut a designated task. Generally, a feasibility study precedes technical
development and project implementation. 3.2.1 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 . 3.2.2 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 over expandability 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.

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. 3.3
Methodology The establishment and use of sound engineering principles in order to obtain
economically developed software that is reliable and works efficiently on real machines is
called software engineering. Software engineering is the discipline whose aim is:

➢ Production of quality software

➢ software that is delivered on time

➢ cost within the budget

➢ satisfies all requirements.

Software process is the way in which we produce the software. Apart from hiring smart,
knowledgeable 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 projects. 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 .

9
CHAPTER 2 PROJECT REQUIREMENTS ANALYSIS AND

SPECIFICAITON
2.1 INTRODUCTION:

Project Requirement Analysis and Specification is the starting point of the webpage
development. Before designing this desktop application, it is very important to define precise
requirements of the Automatic time table generation system which specify the software
function and performance indicate software interface with other system elements, and set up
constraints that software meet and Requirement Specification is produced at the end of the
analysis work.

 The aim of the requirements analysis and specification phase is to understand the
exact requirements of the customer and to document them properly. This phase
consists of two distinct activities, namely requirements gathering and analysis, and
requirement specification

 The goal of the requirements gathering activity is to collect all relevant information
from the customer regarding the product to be developed. This is done to clearly
understand the customer requirements so that incompletes and inconsistencies are
removed.

 The requirements analysis activity is begun by collecting all relevant data regarding
the product to be developed from the users of the product and from the customer
through interviews and discussions.

 The data collected from such a group of users usually contain several contradictions
and ambiguities, since each user typically has only a partial and incomplete view of
the system. Therefore it is necessary to identify all ambiguities and contradictions in
the requirements and resolve them through further discussions with the customer

10
2.2 FUNDAMENTAL REQUIREMENTS:

System Requirements
(a)Hardware Requirements:

One must know that what the problem is before it can be solved. The first step of system
analysis involves the identification of need. The analysis meets with customer and end user.
Hardware and Software analysis are very important before the development of any project.
So hardware use our project are:

Sr.No Hardware Configuration

1. Processor 1.60 GHZ and above

2. Hard disk 80GB and above

3. RAM 2GB

4. I/O Devices Keyboard, Mouse and Monitor

(b)Software Requirements:

Software requirements are important as hardware requirements to develop a library


management project, so that are used in our project are:

Sr.No Software Utility

1. Developing Language JAVA

2. Database MySQL

3. IDE ECLIPSE

4. Operating System WINDOWS 8or latest

11
SOFTWARE AND HARDWARE REQUIREMENTS
Software Specification

➢ Operating System : Windows/Linux

➢ Design Tools :Eclipse

➢ Database : MySQL

Hardware Specification

➢ Hardware : Pentium

➢ Speed : 2 Ghz

➢ RAM : 2GB

➢ Hard Disk : 80 GB
2.3 REQUIREMENTS ELICITATION

approach, second is indirect approach. First one classifies the method by whom we interact
with the domain expert and second There are different ways to get the required information
and approach problem. One is direct one classifies them by what type of information is
obtained.

Requirement Sources

The source for requirements of this project is basically internet. I searched on the internet that
what are basic requirements for this project and hence requirements are specified and
selected.

Elicitation Techniques

The information about requirement for this project is gather from internet and some person
with knowledge about the JAVA language. Other methods used:

 Direct Approach:

In direct approach the purpose is to enhance the understanding of the problems of system that
is currently is used. Most common techniques used are Interviews, case study, Prototyping.
With these tool a comprehensive analysis of total procedure can been done. In this loom it is
good to get the more knowledge about system and genuine data. In order for these method to
be victories, the domain expert has to be reasonably coherent and willing to share
information.

 Indirect Approach:

Indirect methods are used in order to obtain information that cannot be easily articulated
directly. Questioners, documents analysis are its examples. Important thing in this approach
is, how thing are clarify by using figures and statistics. In it a large quantity of data can be
gathering from analyzing the documents. Some of the selected elicitation techniques which
are used in this research are as follows, List of these techniques is given below:

Document Analysis:
Document analysis involves gathering information from existing documentation. It may or
may not involve interaction with a human expert to confirm or add to this information. This is
indirect method and varies depending on available documents, interaction with experts.

Observation:

In observation methods, the knowledge engineer observes the experts performing a task. This
prevents the knowledge engineer from inadvertently interfering in the process.

13
2.4 REQUIREMENTS ANALYSIS
One must know that what the problem before it can be solved. The basic for Automatic time
table generation system is that it must be easy to use by the user. The first step of requirement
analysis involves identification of need.

Requirements Classification:

 Hardware interfaces:
Screen resolution of a least 800X600 is required for proper and complete viewing of
screens.
Higher resolution will be accepted.
Database to store the data.

 Software interface:
Any windows based operating system.
MySQL for database.
JAVAfor developing code.
14

2.5 Requirements Specification

This software requirement specification provide a complete description of all the features of
the Automatic time table generation system. It emphasizes on the essential specification data
to be kept in mind while designing and implementing the page.

 The system definition document


The purpose of this system definition document is to capture the essential elements of
the online registration this document will derive the requirement definition, and will
influence and constrain all subsequent activities including the hardware and software
design, implementation, integration, and testing.

User module:

The user can first open the application and enter all the fields and after that data store in the
database.
CHAPTER3: PROJECT DESIGN

3.1 INTRODUCTION:

In order to deal with the timetabling issue, we are putting forward a system which would
mechanically generate timetable for the different courses of the institute. Courses and
lectures will be scheduled in accordance with all the possible constraints and the given
inputs and thus, a timetable will be generated. The system will allow interaction between
the staff and students and at the same time enable them to upload their queries, notes,
presentations and e-books. Two distinctly different approaches are available: the traditional
design approach and the abject oriented design approach.

Traditional design approach:

Traditional design consists of two different activities; first structured analysis of the
requirements specification is carried out where the detailed structure of the problem is
examined. This is followed by a structured design activity. During structured design, the
results of structure analysis are transformed into the software design.

Object oriented design approach:

In this technique, various objects that occur in the problem domain and the solution domain
are first identified, and the different relationships that exist among these objects are
identified. The object structure is further refined to obtain the detailed design.
3.2 Preliminary Design:

It is the first phase of the design process. It is also known as conceptual design or
architectural design. During this phase the high level design concept is created, which will
implement the complex electronic requirement. The objective of design phase is to create a
design that will correctively and completely implement the requirement. The main design
activities for the preliminary design phase are:

 Create the high level design description.


 Identify major components.
 Any derived requirement that results from the process are fed back to the
requirements engineering process.
 Any emission or error are resolved.
 Include reliability, maintenance, test features that are necessary to meet
performance and quality requirements, and to ensure that testing can be performed
verify the requirements.
 Identify constraints on other system elements that are result of this high level
design.

SOFTWARE DESIGN
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 “Quality”. Design provides us with
representations of software that can be assessed for quality. Design is the only way where
we can accurately translate user requirements into a complete software product or system.
Without design we risk building an unstable system that might fail if small changes are
made. It may as well be difficult to test, or could be one who’s quality can’t be tested. So it
is an essential phase in the development of a software product.
Admin

18
3.3 Detailed design

Database design
The system is implemented in such a way that all the valid information’s are stored in the
database. Database design converts the data model developed in logical designing to
database definition. This is supported by database software. The management of data
involves both 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 unauthorized
access. A database is a collection of interrelated data stored with minimum redundancy to
serve many users quickly 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 look
like, regardless of how they are stored. The physical view is the way data exist in physical
storage. Tables are carefully designed aiming to achieve its main objectives is, to make
information access easy, quick, inexpensive and flexible for user.

PROJECT DESIGN

Our Timetabling Algorithm is main component of our project which produces JAVA based
timetable even / odd semester sheet as the output.
Our project takes various inputs from the user such as Teacher List, Course List, Semester
List, Room List, Day List and Timeslot as well as various rules, facts and constraints using
web based forms, which are stored in XML based knowledge base.
This knowledge base serves as input to our Timetable Generator Algorithm residing on
server machine. Our knowledgebase is in the middle, because it is between our timetabling
algorithm and GUI front end which is designed in the last. After the representation of GPWK
is standardized, we designed the timetabling algorithm.

The design of timetabling algorithm took most of our total time. During design of algorithm,
first problem was, from where to start? Second problem was, does it really going to work?
But after all due to our superior design of knowledgebase, flowcharts and enough thinking
on timetabling data structure representation helped us to really boosted building our fine
working algorithm.

19
The proposed system is a website, which allows the student a good user interface also it
provides a good user interface to admin & faculties, and they can easily get the required
information. The web site provides a variety of facilities to students, admin and faculties. The
main modules of the proposed system are Administrator, faculties & students.

The security feature is very strong therefore record can be only updated by Admin & related
faculty to that subject. The home page contains three categories of user. By clicking on any of
them the related login screen will come. Password screen includes the username and
password. On being entered, the password is evaluated and the entry is given only to the
correct password entry.

There are one types of login, administrator login which will make the time table and do all
the changes i.e., add or delete the rooms , add or delete the teachers etc.

20
The proposed system is used to generate time table automatically. This ensures the following
features
• Easier slot assigning
• Less time consumption
• NO slot clashes
• Always considers the other department slots first
• Various possible slot combinations can be acquired
• User friendly

Functional Components Of The Project


Following is a list of functionalities of the system.
r lab and counseling hours.

day. In worst case only one faculty may have 3 lectures in day.

21
CHAPTER 4 PROJECT IMPLEMENTATION

4.1 INTRODUCTION:

PlANNING:

 Deciding on project size and time frame:

The amount of surplus funds the corporative has available, the experience of its
employees, and the influence of local computer hardware suppliers will have an
impact on project size and time frame. One major cause of computerization project
failure is the tendency to start on too large a scale.

 Identifies feasibility and measurable objective and goals:


Separate them into: project objectives (for example, computerize accounting records,
increasing speed of processing large volume of data, improving accuracy).

 Develop a method for monitoring project implementation progress:


Defined measurable success indicators to monitor progress. If possible, assign an
economic value to some. Some examples are: monetary savings, new members.

 Establish a project team:


Whose main responsibility will be to assist you in preparing the plan and overseeing
project implementation, interacting with external developer, managers and members.

22
4.2 Managing Implementation

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

23

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

1 Install the MySQL database server on your PC. We will do this using the 'MSI' one-
click installer for Windows. Go to http://dev.mysql.com/downloads/ and download
the 'MySQL Installer for Windows'. At the time of writing this was from a very
obvious graphic at the top of the screen .
2 Run the installation. Click...

 Install MySQL products


 Accept the license
 Allow the version check (optional)
 At 'Choose a Setup Type' accept the "Developer Default" and click
Next
 A number of downloads of required software may be identified. Click
Execute and follow onscreen instructions to install them.
 At 'Installation progress' screen, hit Execute - the MySQL software will
be installed
 At 'Configuration overview' hit Next to go to the basic configuration
screen.
 Accept all the defaults on the 'MySQL Server Configuration' and hit
Next.
 On the password screen, supply a password for the 'root' (main
administrator) user. Make sure it's one you won't forget. You can also
create a 'User' account just for Moodle with more restricted access if
you like. This would be good practice on a public server but just using
the 'root' user will suffice for testing.
 On the Service details page, accept the defaults and hit Next and then
Next a couple more times for the configuration progress.
 Click Finish. Job done.
3 MySQL Workbench will open. Under Server Administration (right hand column,
double click 'Local MySQL56' (or whatever you called it). A box should pop up asking
for the root password. Enter the password you supplied
4 The server management screen should appear. You don't have to worry too much
about this. It just shows the install is working.

25
Eclipse

Eclipse is an integrated development environment (IDE) used in computer programming,


and is the most widely used Java IDE. It contains a base workspace and an extensible plug-in
system for customizing the environment. Eclipse is written mostly in Java and its primary
use is for developing Java applications, but it may also be used to develop applications in
other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, COBOL, D,
Fortran, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby
(including Ruby on Rails framework), Rust, Scala, Clojure, Groovy, Scheme, and Erlang. It can
also be used to develop documents with LaTeX (via a TeXlipse plug-in) and packages for the
software Mathematica. Development environments include the Eclipse Java development
tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

The initial codebase originated from IBM VisualAge. The Eclipse software development kit
(SDK), which includes the Java development tools, is meant for Java developers. Users can
extend its abilities by installing plug-ins written for the Eclipse Platform, such as
development toolkits for other programming languages, and can write and contribute their
own plug-in modules. Since the introduction of the OSGi implementation (Equinox) in
version 3 of Eclipse, plug-ins can be plugged-stopped dynamically and are termed (OSGI)
bundles

Eclipse software development kit (SDK) is free and open-source software, released under
the terms of the Eclipse Public License, although it is incompatible with the GNU General
Public License. It was one of the first IDEs to run under GNU Classpath and it runs without
problems under IcedTea.
26
Eclipse: (Oxygen)

The Eclipse download requires about 300 MB of disk space; keep it on your machine, in case
you need to re-install Eclipse. When installed, Eclipse requires an additional 330 MB of disk
space.

Downloading

1. Download the Eclipse Installer

Download Eclipse Installer from http://www.eclipse.org/downloads

Eclipse is hosted on many mirrors around the world. Please select the one closest to you and
start to download the Installer

2. Start the Eclipse Installer executable

For Windows users, after the Eclipse Installer executable has finished downloading it should
be available in your download directory. Start the Eclipse Installer executable. You may get a
security warning to run this file. If the Eclipse Foundation is the Publisher, you are good to
select Run.

For Mac and Linux users, you will still need to unzip the download to create the Installer.
Start the Installer once it is available.
27
3. Select the package to install

The new Eclipse Installer shows the packages available to Eclipse users. You can search for
the package you want to install or scroll through the list.

Select and click on the package you want to install.

28
4. Select your installation folder

Specify the folder where you want Eclipse to be installed. The default folder will be in your
User directory.

Select the ‘Install’ button to begin the installation.

29
5. Launch Eclipse

Once the installation is complete you can now launch Eclipse. The Eclipse Installer has done
it's work.
4.3 Practical Considerations

OUTPUT SCREEN

1. Automatic Time Table Generation System Login Form

Figure 1: Login form


2. Automatic Time Table Generation System Home Page

Figure 2: Home Page


3. Automatic Time Table Generation System Faculty
Information

Figure 3: Faculty Information


3(a).Automatic Time Table Generation System Faculty
Information Data Enter Successfully

Figure 3(a): Data Enter Successfully


4. Automatic Time Table Generation System View Teachers

Figure 4: View Teacher


5. Department Information
6. Automatic Time Table Generation System Add Class Room

Figure 6: Add Class Room


6(a).Automatic Time Table Generation System Add Class Room
Data Enter Successfully

Figure 6(a): Data Enter Successfully


7. Automatic Time Table Generation System Subject Information

Figure 7: Subject Information


7(a).Automatic Time Table Generation System Subject
Information Data Enter Successfully

Figure 7(a): Data Enter Successfully


8. Automatic Time Table Generation System Semester
Information

Figure 8: Semester Information


8(a).Automatic Time Table Generation System Semester
Information Data Enter Successfully

Figure 8(a): Data Enter Successfully


Generate Time Table

Select Semester
38

Time Table Of 6th Semester CE

Time Table Of 5th Semester CE


39

Time Table Of 4th Semester CE

Time Table Of 3th Semester CE


40

CHAPTER5 PROJECT TESTING

5.1 INTRODUCTION:

 Testing is an activity performed for evaluating product quality, and for improving
it, by identifying defects and problems.
 It is a process use to help identify the correctness, completeness and quality of
developed computer software.
 It is not a distinct phase in system development but should be applicable
throughout the all phases i.e. design, development and maintenance.

Some Important Principles of Software Testing are as given:

 Testing time and resources should be limited i.e. avoid redundant testing.
 It is impossible to test everything.
 Test should be planned long before testing begins i.e. after requirement phase.
 Test for invalid and unexpected input conditions as well as valid conditions.
 Testing should begin in “in the small” and progress towards testing “in the large”.
 For the most effective testing should be conducted by an independent party.
 Documents test cases and test results.
 Examining what the software not doing which is expected to do and also
checking.

41

5.2 Testing Levels

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

Test Types
1.Unit testing

2.Integration testing

3.System testing

4.Acceptance testing

42

Unit Testing:

 Unit testing focuses verification effort on the smallest unit software design the
module.
 It is basically done by the developers to make sure that their code is working fine and
meet the user specification.
 They test their piece of code which they have written like classes, functions,
interfaces and procedures.

Integration Testing:

 It is done when two modules are integrated, in order to test the behaviour and
functionality of both the modules after integration.
 In integration testing the two programs are integrated and then testing is done by the
run the programs.
 Below are few types of integration testing:
Top down
Bottom up
Functional incremental

System Testing:

 In system testing the testers basically test the compatibility of the application with the
system.
 System testing for this subject is done by run the program and then check that whether
it works properly or not to run the program command prompt is used and then
program is run by the user.

Acceptance Testing:-

 It is basically done to ensure that the requirements of the specifications are met.
 Here all the requirements of specification are met because all functions are working
properly according to need.

43

5.3 Testing Techniques

There are different methods that can be used for software testing.

 Black-Box Testing:-

The techniques of testing without having any knowledge of the interior workings of the
applications Is called black-box testing. The tester is oblivious to the system architecture and
does not have access to the source code. Typically, while performing a black-box test a tester
will interact with the system’s user interface by providing inputs and examining outputs
without knowing how and where the inputs are worked upon.This testing is done by simply
running the source code program and observing that it shows the output. Means that no error
in running the source code.

 White-Box Testing:

It is the detailed investigation of internal logic and structure of the code. White-box testing is
also called glass testing or open box testing.In order to perform white-box testing on an
application a tester needs to know the internal workings of the code. The tester needs to have
a look inside the source code and find out which unit/chunk of the code is behaving
inappropriately.The testing is done by running the source code program and then checking
every function of the project. If some function does not works properly then the source code
is checked for correct this.

44

REFERENCES / BIBILIOGRAPHY
The following books were very helpful during the completion of project:

 Software Engineering
-Roger S.Pressman.
 Web Enabeled Commercial Application Development.
-Ivan Bayross.

Following websites that are very useful for the completion of project:

 WWW.wikipedia.com
 WWW.w3school.com
 WWW.tutorialspoint.com
44

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.

The application will make the procedure of time table generation easier consistently which
may otherwise need to be done using spread sheet manually which might lead to
constraints problem that are strenuous to establish when time table is generated physically.
The purpose of the algorithm is to generate a timetable schedule mechanically. The
algorithm includes many techniques, aimed at improving the efficiency of the search
operation. It also addresses the chief hard constraints .
45

You might also like