Documente Academic
Documente Profesional
Documente Cultură
Declaration
We declare that this written submission represents our ideas in our own words and
where others' ideas or words have been included, we have adequately cited and referenced the
original sources. We also declare that we have adhered to all principles of academic honesty
and integrity and have not misrepresented or fabricated or falsified any idea/data/fact/source
in our submission. We understand that any violation of the above will be cause for
disciplinary action by the Institute and can also evoke penal action from the sources which
have thus not been properly cited or from whom proper permission has not been taken when
needed.
CONTENT
Chapter 1
Introduction.
1.1 Need for a new system
1.2 Detailed problem definition
1.3 Purpose
1.4 Scope
1.5 TimeFrame Schedule
1.6 Conclusion
12
13
14
14
14
15
16
Chapter 2
Review of Literature
17
17
18
19
20
20
20
2.4Conclusion
20
Chapter 3
Requirement Analysis
21
21
21
3.3 Constraints
22
22
22
22
3.5 Conclusion
23
Chapter 4
System Design
24
26
27
4.4 ER diagram
28
30
32
33
34
35
36
4.7 Conclusion
37
Chapter 5
Implementation
38
39
40
41
5.4 Conclusion
42
Chapter 6
Testing
43
44
44
45
45
45
45
45
45
6.9 Conclusion
51
Chapter 7
52
7.1 Snapshots
53
Chapter 8
63
8.1 Conclusion
64
65
Bibliography
66
List of Figures
Figure No.
Caption
Page No.
1.1
Timeframe Schedule
15
4.1
25
4.2
26
4.3
27
4.4
ER Diagram
29
4.5
31
4.5.1
32
4.5.2
33
4.6
34
4.6.1
35
4.6.2
36
6.8.1
Login
46
6.8.2
Ttgenerator
46
6.8.3
Open Table
47
6.8.4
Subject
47
6.8.5
Teacher
48
6.8.6
Batch
48
6.8.7
Subject-Teacher
49
6.8.8
Batch-Subject
49
6.8.9
Batch-Select
50
6.8.10
Table View
50
6.8.11
Save
51
7.1.1
Branches
52
7.1.2
Rooms
53
7.1.3
Teachers
54
7.1.4
Subjects
55
7.1.5
Days
56
7.1.6
Slots
57
7.1.7
Branches-Teachers
58
7.1.8
Lectures
59
7.1.9
Select
60
7.1.10
Schedule
61
Abstract
Chapter 1
Introduction
Scheduling has been in human requirements since they thought of managing time
effectively. It is widely used in colleges and other teaching institute like crash courses,
couching centers, training programs etc . In early days, scheduling was done manually with a
single person or some group involved in task of scheduling it with their hands, which take lot
of effort and time. While scheduling even the smallest constraints can take a lot of time and
the case is even worse when the number of constraints or the amount of data to deal with
increases.
Engineering colleges are the regular users of such time tables. They need to schedule their
course to meet the need of current duration and facilities that are available to them. However,
their schedule should meet the requirement of new course addition and newly enrolled
students to fresh batches. This defines the project being developed along with the description
of existing systems of similar type. Here the need for the new system, its future prospects
and currently available systems of similar types have been defined which therefore presents a
brief overview of the system being developed in terms of its differences with the previously
available systems and the newly embedded functionalities.
Schedule tracker is a very important part of the college management system. It helps the
college management to maintain the discipline in the college premises. The schedule tracker
creation is a very old process in the college management. Till now, it is done manually. The
college management assigns one teacher for this purpose and his job is to create schedule tracker
manually for each branch of every semester.
As there are so many subject in each branch and there might be a case when same professor
will teaches different subjects in one semester. There might be case when some collision will
occur during assign the lectures manually. Also, the manual assignment of the lectures is a very
tedious and long process work.
In the existing system, the problem occurs when any teacher is on the leave and he will not
able to inform or inform it late than the manual assignment of substitute teacher is also a very
difficult job.
When the schedule tracker is generated manually, there is a case when the department head
want to makes some changes in the lectures. At this situation, the chances of the collision of the
period or assignment of the teachers will increase because it is not possible for one teacher to
remember all assignment done earlier. So the chance of the mistake will increase. These are some
of the mistakes which occur during developing the schedule tracker manually. The manual
maintenance of the databases of items, schedule tracker processing is a time taking process and
somehow erroneous. So there is a need for the new system to resolve such problems.
In our college schedule tracker management system we are trying to solve these problems and
along with that we try to provide the user friendly and efficient way to generate the schedule
tracker automatically. Our project is a web based system in which user has to fill some form
related to the college, subjects, labs, teachers and the branch and then our system will generate
the most possible schedule tracker.
1.3 PURPOSE:
Planning schedules is one of the most complex and error-prone applications. There are
still serious problems like generation of high cost schedules are occurring while scheduling
and these problems are repeating frequently. Therefore there is a great requirement for an
application distributing the course evenly and without collisions. Our aim here is to develop a
simple, easily understandable, e cient and portable application, which could automatically
generate good quality schedules with in sec-onds.
1.4 SCOPE:
Our software allows users to generate schedule for newly occurring changes in less time,
with less effort and with more efficiency. It will allow users to work on and view schedules in
different platforms and view different information simultaneously.
23/07/2014
30/07/2014
13/08/2014
27/08/2014
17/09/2014
24/09/2014
08/10/2014
22/10/2014
07/01/2015
14/01/2015
11/02/2015
25/02/2015
18/03/2015
25/03/2015
08/04/2015
15/04/2015
28/01/2015
1.6 Conclusion:
This chapter glanced on why we required schedule tracker, necessity of schedule
tracker for any engineering colleges. It figure out the issues in existing timetable system
which is done manually and how this issues get resolved in our proposed system. It glanced
on our Timeframe Schedule which we carried throughout the completion of our schedule
tracker.
Chapter 2
Review of Literature
This chapter provides an analysis of the automated schedule literature broadly
organized by algorithmic technique. It begins with a presentation of the major schedule
solution generation algorithms that have persisted in the literature. A detailed examination of
the academic literature is provided within the context of these fundamental solution
generation algorithms. An analysis of the literature, grouped by the solution generation
technique used, is then presented.
2.1 Linear Programming/Integer Programming :
The Linear and Integer Programming techniques, the first applied to scheduling, were
developed from the broader area of mathematical programming. Mathematical programming
is applicable to the class of problems characterized by a large number of variables that
intersect within boundaries imposed by a set of restraining conditions (Thompson, 1967). The
word "programming" means planning in this context and is related to the type of application
(Feiring, 1986). This scheme of programming was developed during World War II in
connection with nding optimal strategies for conducting the war e ort and used afterwards in
the elds of industry, commerce and government services (Bunday, 1984).
Linear Programming (LP) is that subset of mathematical programming concerned with the e cient
allocation of limited resources to known activities with the objec-tive of meeting a desired goal such
as maximizing profits or minimizing costs (Feiring, 1986). Integer Programming (IP) deals with
the solution of mathematical programming problems in which some or all of the variables can
assume non-negative integer values only. Although LP methods are very valuable in
formulating and solving problems related to the efficient use of limited resources they are not
restricted to only these problems (Bunday, 1984). Linear programming problems are
generally acknowledged to be efficiently solved by just three methods, namely the graphical
method, the simplex method, and the transportation method (see eg, Palmers and Innes, 1976;
Makower and Williamson, 1985).
The construction of a linear programming model involves three successive problemsolving steps. The first step identifies the unknown or independent decision variables. Step
two requires the identification of the constraints and the formulation of these constraints as
linear equations. Finally, in step three, the objective function is identified and written as a
linear function of the decision variables.
The technical issues usually raised during the feasibility stage of the investigation
include the following- Does the necessary technology exist to do what is suggested, Will the
proposed system provide the adequate response to the inquires and perform all the expected
functions, Can the system be upgraded if it is developed more in later and are they have
technical guaranty of accuracy, reliability, ease of access and data security.
Conclusion:
This chapter Review of literature specifically glanced on Genetic algorithm which is
used in proposed system. The generic algorithm which in turn acts as our project logic is
basically derived from genetic algorithm. It concludes that the Linear and Integer
Programming techniques, the first applied to scheduling were developed from the broader
area of mathematical programming. This chapter gives feasibility study in every aspect like
Technical feasibility, operational feasibility and financial feasibility.
Chapter 3
Requirement Analysis
This gives minimum requirement your system should have in order to make this
software work. This software works fine in any operating system in which the developer tools
or the user tools can be installed. Since we had limited resources we could only test in
Widows 7, Windows XP, Ubuntu 11.04, Ubuntu 10.10. So usually the requirement
specification will be same as that of the operating system. So we are providing a standard
specification.
Tool: Notepad++
Server: Xampp Server
Database: MySql
Language: PHP,CSS and HTML
3.3 Constraints
Some of the most common constraints to deal with are listed below. Some of these are
soft constraints meaning they only increase the cost. Some are hard which cannot be violated.
Each course must have required consecutive periods. For example lab is assigned to 2
consecutive hours.
Login authentication with MySQL login details Message dialogs for user assistance.
Database for holding generated schedule and for storing required schedules.
Features for editing generated table, saving edited tables and opening saved tables
3.5 Conclusion:
This chapter Requirement analysis basically provides the idea about necessary
resources required to build proposed system. We select the PHP as our front end and MySql
as our back end. It also glanced on constraints that must be resolved in proposed system. For
the simplicity constraints are divided in two parts soft constraint and hard constraints. By
resolving all these constraints our software will achieve some significant features, that
features also listed in this chapter.
Chapter 4
System Design
This chapter gives an overview of the system in the use case diagram, overview of the
activities in the work break down diagram, overview of the working of activities in data flow
diagram, and overview of the database in ER diagram.
4.1 Use case diagram
As shown in the diagram the Database Entry Operator(DEO) is responsible of the system. He
should be aware of various courses and subjects available in the college; he should also know
the various rules and regulations of the institution. His job is as follows
The DEO must have some basic knowledge about computers. He or she must have the
skill to properly address the priorities. Schedule tracker will take care of the rest. It will
provide teachers view for teachers and subject view for students.
info table stores general information such as college name, academic year, working hours
and days and stores information in its associated fields in database.
batches table stores information of the batches such as batch id and name.
Subjects table stores information of subjects such as subject id, name, working hours
Sub_tea table stores association of subjects and teachers. Here the subid is the foreign key
associated with the id of the teachers table and the batid refers the id of the batches table.
Bat_sub table stores association of batches and subjects. Here the batid is the foreign key
associated with the id of the batches table and the subid refers the id of the subjects
table.
Tim_tab stores the generated schedule and it is associated with all other tables.
Figure above shows the activity diagram for Log-in. First, the lecturers, students and
administrator need to log in using the username and password that was created during
registration. The system will validate the username and password. If the password or
username is invalid, an error message will be displayed and the lecturer or student or
administrator can try to log in again. If log in is successful, the system will identify the user
as a lecturer, student or an administrator.
LOGIN
VALIDATE(USER,PASSWORD)
DISPLAY LOGIN ERROR MESSAGE
VALIDATE
[FAILURE]
[SUCCESS]
(LECTURER/STUDENTS)
READ INPUT
DISPLAY SUCCESS RESULT
(AVAILABLE)
BOOKING CLASS
READ INPUT
(SUCCESS)
(NOT AVAILABLE)
(NOT SUCCESS)
DISPLAY NOT AVAILABLE CLASS MESSAGE
Figure above shows the activity diagram for the Inquiry class available for lecturers. To
inquire whether a class is available, the lecturers have to select the class based on the list in
the system. Once the submit button has been clicked, the system will check the query. If
inquiry is successful, the message successful page will be displayed. If fails, a message error
will also displayed. Then if the class is available, lecturer can go to booking class menu to
book the class. The message successful booking of the class is displayed and if the booking
failed the message will also be displayed.
(FAILURE)
(ADD CLASS)
READ INPUT
(SUCCESS)
Above figure shows the activity diagram for add subject and class. Both screens are the same.
If the administrator wants to add the subject or the class, he or she has to fill in the form the
subject or the class information. Then click on the next button. Validation of the form will be
carried out before the data is stored in the database. Upon successful adding the subject or
class, a successful application page will be display. If validation failed, an error message
window will pop up.
USER/ADMIN
LOGIN
DATABASE
1 : USER NAME/PASSWORD()
2 : CHECK VALIDATION()
3 : VERIFY USER()
4 : MDI SCREEN()
5 : UNSUCCESSFUL VALIDATION()
6 : UNSUCCESSFUL VALIDATION()
Figure above shows a sequence diagram for the user validation. In order to log in, the
lecturer/student/administrator need to key in their username and password. Then the browser
will send the information to the web server and validate the information with the database.
Successful validation will be sent to the web server, and the server will display the Main
Menu page according to the user type. As for unsuccessful validation, the server will send an
error login page to the monitor.
ADMINISTRATOR
FRONTEND
DATABASE
4 : SENDS FIELD()
7 : UNSUCCESSFUL()
8 : ERROR MESSAGE()
Figure above shows a sequence diagram for Adding teacher. The browser will send a request
to the web server and it will return the teacher information page. The teacher will have to fill
information form. If validation is successful, the query will be passed to the database and
after the data is stored successfully, the message will be displayed. If the form validation
failed, a window with the error message will pop out.
ADMINISTRATOR
FRONTEND
DATABASE
1 : SELECT COURSE()
2 : SELECT WORKLOAD()
3 : ENTER TEACHER,ROOM AND COURSE()
4 : SENDS FIELD()
7 : UNSUCCESSFUL()
8 : ERROR MESSAGE()
Figure above shows a sequence diagram for adding Schedule. The browser will send a
request to the web server and it will return the information page which include information to
be filled related to teacher,subject, class,labs. After filling these fields it is been send for
validation. If validation is successful, the information will be passed to the database and after
the data is stored successfully, the message will be displayed. If the page validation failed, a
window with the error message will pop out.
Conclusion:
This chapter gives an overview of the system in the use case diagram, overview of the
activities in the work break down diagram, overview of the working of activities in data flow
diagram, and overview of the database in ER diagram, overview of the sequence in sequence
diagram, overview in steps in Activity diagram.
Chapter 5
Implementation
This application has been developed using PHP as front end tool and MySQL Server as its
back end tool. The application has been coded to be platform t running on xamp control
panel.
Net beans IDE has been chosen as its development environment because of the following
features
Designing interface for the application has been simpli ed by its drag and drop GUI
pallet.
Project can be run on debugging mode which provides current state of the variables
with the help of break points.
While coding schedule tracker application several constraints related to its computation
has been taken into account.
Schedule generating problem provides us with various alternatives in the design of the
algorithm, interface and the database. Among the various designs what we have implemented
is detailed below
Select Batch tab to view associated batch schedule. Select teachers view or subjects view to display
schedule in teacher or subject respectively. To edit generated list select the period and edit using
keyboard. To save generated schedule click Save.
The main logic of our algorithm resides in the generate class. The gene function in the
class reads the various data needed for generation of schedule for current batches from the
database creates the table in an Array List and copies it back to the database.
5.3 Database Implementation
In order to incorporate portability we use MySQL as our backend. It provides many features
such as different engines and high end sql commands to create and manipulate database. It also
provides tools called MySQL dump to backup database.
5.4 Conclusion:
This chapter specifically talks about implementation phase of Schedule tracker. While
coding schedule tracker application several constraints related to its computation has been
taken into account, All this constraints are noted into this chapter.
Chapter 6
Testing
Testing is an important phase in software lifecycle. Testing improves reliability and
Robustness of the application. The basic operations to be tested are
There should be at least one working day and one working hour
long.
User should not be given permission to edit or modify subjects, teachers or batches
6.1Test Approach
The system is to be tested at various stages of the project development:
Each user interface is tested individually for its function. Interfaces meant for data input
are tested by entering data in the data tables through each interface. Similarly each data base
operation is tested through interfaces.
All the user interfaces are joined in the desired sequence and their back end coding is
tested for the desired result. Like previous window close as the next desired window opens
and each button performs its desired task etc.
Every class in the java code is tested individually with the help of test cases. Whole of the
algorithm is tested with sample run of data to generate an optimal
Inter connect all the user interfaces in the desired sequence. Check if each of the buttons
result in the desired result.
Develop the java classes for data retrieval. Test each of them according to test cases.
Develop java code for schedule generation. Test the coding with a small database by
generating a schedule.
Functional Test Criteria
The objective of this test is to ensure that each element of the application meets the functional
requirement of the user.
Requirements Catalogue
Other functional documents produced during the course of the project i.e. resolution to
issues/change requests/feedback.
6.3Validation Testing - which is intensive testing of the new Front end fields and screens?
Windows GUI Standards; valid, invalid and limit data input; screen look and appearance, and
overall consistency with the rest of the application.
6.4Functional testing - these are low-level tests which aim to test the individual processes
and data flows.
6.5Integration Testing
This test proves that all areas of the system interface with each other correctly and that there
are no gaps in the data ow. Final Integration Test proves that system works as integrated unit
when all the xes are complete.
6.6User Acceptance Test
This test, which is planned and executed by the User Representative(s), ensures that the
system operates in the manner expected, and any supporting material such as procedures,
forms etc. are accurate and suitable for the purpose intended. It is high level testing, ensuring
that there are no gaps in functionality.
Exit Criteria:
All High Priority errors from System Test must be fixed and tested.
6.9 Conclusion:
To maintain the robustness and to build the user friendly system testing is necessary.
This whole chapter contains the different test cases which we performed on Schedule tracker.
Chapter 7
Installation Manual
Install xampp
Install mysql-essentials
On Windows double click on TimeGene.jar or TimeGene.bat
On Linux run in terminal TimeGene.sh or type in terminal "sh path/TimeGene.sh" or
"bash path/TimrGene.sh"
Enter necessary informations (described in user interface scenarios) Get the desired
schedule as output
7.1SNAPSHOTS :
7.1.1BRANCHES :
7.1.2ROOMS:
7.1.3 TEACHERS:
Add teacher along with necessary information like Full name, user name , password,
particular teacher.
User can View Edit Delete the particular Teacher.
It also shows list of available teachers.
7.1.4 SUBJECTS:
7.1.5 DAYS:
7.1.6SLOTS:
7.1.7 BRANCHES-TEACHERS:
7.1.8 LECTURES:
7.1.9 SELECT:
7.1.10 SCHEDULE:
Chapter 8
8.1Conclusion
Automatic Schedule Tracker is a standalone application for generating schedule
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. It
basic function is to generate the schedule tracker according to the data filled. The user which
has login id and password can login or otherwise he can register himself. After login, he will
fill all the details related to the college, labs, teacher, seminar, and project and submit the
related form. The user will distribute the subject among the teacher. Then he can also view
the teacher and subject load also. After filling the entire data, schedule tracker will generates.
The user can also print the schedule tracker from the website only. Our system is very user
friendly and it is secure enough.
8.2Future works :
Time Gene future works may include:
1.Student Room Scheduling
This will allow room scheduling for students in particular batches where there are multiple
Bibliography