Sunteți pe pagina 1din 61

MAJOR PROJECT REPORT

ON

AUTOMATIC TIME TABLE GENERATION SYSTEM

Submitted in partial fulfilment of the diploma of computer engineering

(Computer Engineering 6th Semester)

Department of Computer Engineering

Govt. Polytechnic for Women Kandaghat, Solan (H.P.)

Submitted To: Submitted By:


Mr. Amit Nayyer Yamini(150610304059)
Lecture, Comp. Engg. Anita Jamwal(160620304001)
Ankita(160620304002)
Lalita(160620304004)

s
CERTIFICATE

This is certify that the work contained in the Major Project Report titled “Automatic Time Table
Generation System” submitted by Yamini, Anita Jamwal, Ankita and Lalita to the Department of
Computer Engineering, Govt. Polytechnic for Women Kandaghat, Distt. Solan
(H.P.)in partial fulfillment of the requirements for the award of the diploma in Computer
Engineering is a bonafide record of project work carried out during 29 thJanuary to 18thMay
2018 by them under my supervision and that this project work, in full or in parts, have not been
submitted elsewhere for the award of any diploma.

Project Guide H.O.D.


Department of Computer Engineering Department of Computer Engineering
Govt. Polytechnic for Women, Kandaghat Govt. Polytechnic for Women, Kandaghat

Principal
Govt. Polytechnic for Women, Kandaghat, Distt. Solan (H.P.)

i
STUDENT’S DECLARATION

We hereby declare that the work contained in this Major Project Report titled “Automatic Time Table
Generation System” submitted by us to the Department of Computer Engineering, Govt.
Polytechnic for Women Kandaghat, Distt. Solan (H.P.) in partial fulfilment of the requirements for
the award of the diploma in Computer Engineering is a bonafide record of project work
carried out during 28th January 2018 to 18th May 2018 by us under the supervision of Amit
Nayyer and that this project work, in full or in parts, have not been submitted elsewhere for the
award of any diploma. The presented project work represents largely my own ideas and work in my
own words. Where others ideas or words have been included, I have adequately cited and listed in the
reference materials. We have adhered to all principles of academic honesty and integrity. We
understand that any violation of the above will cause for disciplinary action by the Institute, including
revoking the conferred diploma, if conferred, and can also evoke penal action from the sources which
have not been properly cited or from whom proper permission has not been taken.

Date:

Yamini (150610304059)

Anita Jamwal (160620304001)

Ankita (160620304002)

Lalita (160620304004)

ii
Abstract

Creating such timetables manually is complex and time-consuming process. The traditional
hand operated method of time table is very time consuming and usually ends up with various
classes clashing with same teachers having more than one class at a time which is being
resolved by Automatic time table scheduling. In this paper we introduces a practical
timetabling approach capable of taking care of both hard and soft constraints required
specially for preparing time table in colleges with large number of students and limited
resources like class-rooms or labs. To overcome all these problems we propose to make an
automated system. This paper also presents an evolutionary algorithm (EA) based approach
to solving a heavily constrained university timetabling problem which has been used in other
projects also. The automated time table scheduling provides easier ways for teachers and
student to view their timetable once they are finalized over the application, having individual
login id and passwords, and also some staff usually takes the previous year’s timetable and
modify it but still it is a tedious job to incorporate changes.

iii

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.

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 .

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.
 Slots are assigned for lab and counseling hours.

 Faculties are assigned classes; each has an interval of at least 1 Period.

 Faculty is assigned maximum of 2 lectures in a day or 1 lecture and 1 practical session in a


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

S-ar putea să vă placă și