Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
781 views22 pages

Java-Based Automatic Timetable Generator

Automatic Timetable Generator is a Java-based software that automatically generates timetables for educational institutions. It manages periods and faculty workload more efficiently than manual timetable creation. The software allows faculty to access timetables on their phones and substitutes classes when teachers are absent by considering substitute availability. It aims to simplify timetable management and save time compared to existing manual processes.

Uploaded by

Shashwat Thakur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
781 views22 pages

Java-Based Automatic Timetable Generator

Automatic Timetable Generator is a Java-based software that automatically generates timetables for educational institutions. It manages periods and faculty workload more efficiently than manual timetable creation. The software allows faculty to access timetables on their phones and substitutes classes when teachers are absent by considering substitute availability. It aims to simplify timetable management and save time compared to existing manual processes.

Uploaded by

Shashwat Thakur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Automatic Timetable Generator

1. INTRODUCTION
Automatic Timetable Generator is a Java based software used to

generate timetable automatically. Currently timetable is managed

manually. It will help to manage all the periods automatically and also

will be helpful for faculty to get timetable in their phone by using

application. It will also manage timetable when any teacher is absent , late

coming or early going. 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. 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.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. 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.

1.2 Salient features of the system

Automatic Timetable manger is a Java based software used to

generate timetable automatically.

Wil lhelp you to manage all the periods automatically and also will

behelpful for faculty who will get timetable in their phone as a

notification.

It will also manage timetable when any teacher is absent late coming

orearly 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

2. SOFTWARE REQUIREMENT ANALYSIS

The current problem is setting up of Timetable manually.

Any absent is their , then assigning that period to another Faculty is a not

an easy job because at that time we should consider the Maximum

workload for a Faculty (assigning extra period should not exceed the

Maximum workload).

1. Problem Definition

Avoid the complexity of setting and managing Timetable

manually. It will help you to manage all the periods automatically. Faculty

can recieve their periods information in their phone . Initially we will be

setting the maximum workloads for a Faculty in a day, week and month.

Main challenge is to manage timetable when any Faculty is absent. By

using this software it will be very easy to allocate subject for different

faculty.

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

4. 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.
5. 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.
6. 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 .A life cycle model represents all the activities required to make
a software product transit through its lifecycle phases .It also captures the
order in which these activities are to be taken.

Life Cycle Models

There are various life cycle models to improve the software processes.
➔ WATERFALL MODEL

➔ PROTOTYPE MODEL

➔ ITERATIVE ENHANCEMENT MODEL


➔ EVOLUTIONARY MODEL

➔ SPIRAL MODEL

Prototype Model
• Since in this methodology a working model of the system is
provided, the users get a better understanding of the system being
developed.
• Errors can be detected much earlier.
• Quicker user feedback is available leading to better solutions.
• Missing functionality can be identified easily
Confusing or difficult function can be identified requirments
validation, Quick implementation , incomplete but functional, application.
Automatic Timetable Generator is a creative and scientific system through
which colleges and other institutions can easily handle timetable
management.

7. Software and Hardware requirements

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

SOFTWARE AND HARDWARE REQUIREMENTS

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

Define the modules and their functionalities


The proposed system consists of the following modules:

Subject management Module

Subject management module in this project is meant for the


users. In this module, subjects are allocated for users.
It does the following tasks:
✔ Give subject , faculty and Semester
✔ View timetable
✔ View leave request

Timetable Generation Module


It is the important part of project which generate Timetable automatically.
IN this module it develop module. Generation done by considering
maximum and minimum workload for a Faculty (without less and without
exceeding). This will be generated by admin and viewed by Principal and
Faculty who's are the users of the system.
User management Module
Staff module can classified into two:

Faculty
Principal

Faculty does

Register with all information


View Timetable
Apply for leave with specifying Substitute faculty
View Subtitute response
Give subject name, semester and faculty
View timetable
Request for leave

Principal does

View Timetable
View request for leave
View substitut's response
Approve or Reject request for leave

3. 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.
UML Diagrams
4.1.1 Use-Case diagram

This system is used by 3 types of users. They are


 Admin , Principal ,Users(faculty)

Principal
Faculty

Admin
Data Flow Diagrams

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.
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:
1. The SRS document is examined to determine:
• Different high-level functions that the system need to
perform.
• 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.
2. 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.
3. Step three is repeated recursively for each sub function until a
simple algorithm can represent a sub function

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 baoh
the definition of structure of the storage of information and provision of
mechanism for the manipulation of information. In addition database
system must provide safety of information handle, despite the system
crashes due to attempts of 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 ie, to make information access easy, quick, inexpensive and
flexible for user.
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 the


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.

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

E-R Diagram

You might also like