Sunteți pe pagina 1din 21

A Minor Project Report On

GCES SCHEDULER

Submitted in partial fulfillment of the requirements for the degree of


Bachelor of Engineering in Software Engineering at Pokhara University

By

Brinda Subedi, 2014SE09

Sujan Kumal, 2014SE42

Department of Research and Development


GANDAKI COLLEGE OF ENGINEERING AND SCIENCE

Lamachaur, Kaski, Nepal


December, 2017
A Minor Project Report On

GCES SCHEDULER

Submitted in partial fulfillment of the requirements for the degree of


Bachelor of Engineering in Software Engineering at Pokhara University

By
Brinda Subedi
Sujan Kumal

Superviser
Er. Mahesh Shakya

Department of Research and Development


GANDAKI COLLEGE OF ENGINEERING AND SCIENCE

Lamachaur, Kaski, Nepal


December, 2017
BONAFIDE CERTIFICATE

This is to certify that this project titled “GCES Scheduler” in partial fulfillment of the
requirements for the degree of BACHELOR OF ENGINEERING IN SOFTWARE
ENGINEERING is a bona fide work of Brinda Subedi, Sujan Kumal under the
supervision of Er. Mahesh Shakya It is further certified that this work doesn’t form part
of any other project work on the basis of which a degree or award was conferred on any
earlier occasion on this by any other candidate.

Date of Evaluation: December, 2017

……………………………….. ……………………………

Er. Sujan Tamrakar Er.Mahesh Shakya

Project Head Supervisor

………………………………… ……..……………………..

Ashok Raj Parajuli Er. Amrit Dahal

Vice Principle External

1
ACKNOWLEDGEMENT
We would like to express our special thanks of gratitude to our teachers, Project
Supervisor Er. Mahesh Shakya, Project Head Er. Sujan Tamrakar as well as our Vice
Principal Mr. Ashok Raj Parajuli who gave us the golden opportunity to do this
wonderful project on the topic “GCES Scheduler”, which also helped us in doing a lot
of Research and we came to know about so many new things. We are really thankful to
them.
Secondly, we would also like to thank our parents and friends who helped us a lot in
finalizing this project within the limited time frame.

Brinda Subedi,

Sujan Kumal

Gandaki College of Engineering and Science

Lamachaur, Pokhara, Nepal

2
ABSTRACT
“GCES Scheduler” is a Desktop-based Course Scheduling system that is primarily
focused on scheduling the routine for teachers for different classes. It considers
available time of all the teachers and suggest most favorable schedule, near optimal, for
all the classes. It saves time and effort for the person who manages it. ”GCES
Scheduler” overcomes the traditional method of using paper by providing the platform.
The study concluded that the manual and the automated class scheduling systems are
both functional. However, the automated system is more functional because of its extra
features which solve the primary problems in creating class schedules.

Keywords: Scheduler, Genetic Algorithm, Opta planner, Java

3
TABLE OF CONTENTS
Bonafide Certificate ....................................................................................................... 1
Acknowledgement ......................................................................................................... 2
Abstract .......................................................................................................................... 3
Table of Contents ........................................................................................................... 4
Chapter 1 Introduction ............................................................................................ 5
1.1 Background ..................................................................................................................... 5
1.2 Problem Statement .......................................................................................................... 5
1.3 Project Objective ............................................................................................................. 5
1.4 Implication ...................................................................................................................... 6
Chapter 2 Literature Review ................................................................................... 7
Chapter 3 Technical Approach ................................................................................ 9
3.1 Architecture and Environment ...................................................................................... 11
3.2 Genetic Algorithm ........................................................................................................ 11
3.3 Usecase Diagram .......................................................................................................... 12
3.4 Use case contracts: ........................................................................................................ 12
Chapter 4 Result And Discussion.......................................................................... 13
4.1 Testing........................................................................................................................... 14
Chapter 5 Snapshots of Application ...................................................................... 15
Chapter 6 Conclusion ............................................................................................ 18
Bibliography ................................................................................................................ 19

4
INTRODUCTION
One of the remarkable and much known products of technology advancement is the
conversion of manually-operated system into automated system. Automation produces
a great impact in the lives of man, particularly in the field of industry, business,
medicine, and education. It is a fact that arranging class schedules, instructor’s
load and room utilization for the students and faculty in every department is one of the
many activities that each department heads must prepare before classes start. But the
school used the manual way of preparing the class schedule. With the manual system,
more time and labor force is required to plot, arrange, and revise the class schedules,
room utilization and instructors’ load provided by the department heads.

1.1 BACKGROUND
“GCES Scheduler” is a JAVA based desktop application particularly focused on
solving problems on scheduling classes for teachers. It suggests reliable schedule
considering availability of time for different teacher and expertise as well as interest on
particular subject.

1.2 PROBLEM STATEMENT

We have been facing problem of unreliable schedule as these schedules are manually
created. Its time consuming and pressure task. Students as well as teachers are not
happy due to this unreliability. Poor scheduling practices would cause double-
assignations of lecturers, prolonged postponement and cancellations of presentations as
well as inefficient use of time and resources.

1.3 PROJECT OBJECTIVE

The objectives of this project is to schedule class routine automatically (near Optimal)
to reduce time and stress for the person responsible for scheduling classes. As well as
to manage time of teacher as guard for exam.

 To provide efficient class routine scheduler

5
 Facility to edit, view and delete the data later.
 Facility of printing the result i.e. Final Schedule.
 To make GUI as simple as possible.

1.4 SIGNIFICANCE OF STUDY


The purpose shows the importance of scheduling in college management. The study
tested the functionality of Automated Class Scheduling System in terms of speed, data
handling, accuracy, security, stability and adaptability in making class schedules. We
have used Opta Planner in order to achieve such functionality.

1.5 IMPLICATION

Since GCES have been facing the problem of unreliable course schedule. GCES
Schedule is focused to generate course schedule at least to provide assistance for person
responsible for scheduling course.

6
LITERATURE REVIEW
There are scheduling applications available. But the problem with them are either they
don’t do as expected or they are paid version. Evaluation period are also confined to
limited facility. One of the example of these course scheduling tools is ‘asc timetable’.

“GCES Schedule” is a timetable/Scheduling problem.


Scheduling problem is defined as NP-Complete problem which means that
there is no perfect solution for it, but there is a nearest solution to perfect
solution; because there are many constraints that should be satisfied for
solving the problem and for this many methods can solve the problem
but there is one solution better than others because it satisfies the hard
constraints and another solution is better than the first because it satisfies
all hard constraint and some of soft constraint and so on. Hard constraints
are those constraints that must be met by the timetable in order for the Class
timetable to be feasible. For example, there should not be any clashes, i.e.
Teachers should not be required to attend two classes at the same time.
Soft constraints are constraints that we would like the timetable to satisfy,
but can be broken if necessary. For example, Teacher subject priority must
be taken into consideration over the timetable. It is highly unlikely that all
the soft constraints will be met by a timetable as those are usually
contradictory. Time tabling systems attempt to minimize the number of
soft constraints violated.
Hybrid approach solved the timetable problem in three phases: phase one
applying hard constraints, phase two applying soft constraint, phase three
improve the table generated from phase one, two.
Similarly, we have graph transformation, or graph rewriting, concerns the
technique of creating a new graph out of an original graph algorithmically.

Graphs are an expressive, visual and mathematically precise formalism for


modelling of objects (entities) linked by relations; objects are represented
by nodes and relations between them by edges. Nodes and edges are
commonly typed and attributed. Computations are described in this model
by changes in the relations between the entities or by attribute changes of
the graph elements. They are encoded in graph rewrite/graph

7
transformation rules and executed by graph rewrite systems/graph
transformation tools.
We will be using concepts of some popular algorithm like Banker’s
algorithm, Knapsack problem, job sequencing, etc.
There are some application available for the task of scheduling like College
Management System, InfoSolz (an online tool), Prime Time Table,
etc. but they are either expensive or not typically focused for
scheduling classes only but for managing other college activity too. The
scheduling application available provides only demo function until they are
paid. So, we are developing this application particularly for scheduling.
We have some screenshot of “aSc TimeTables” generating schedule. This
application has two-day weekend and on these day the schedule is not
satisfactory. These need to be fixed. These Application has one good
feature i.e. manual editing.

8
METHODOLOGY
3.1 SOFTWARE DEVELOPMENT LIFECYCLE

The framework we followed in developing this project is incremental model, which is


a use of linear sequential model in an iterative manner. New functionalities were added
as each increment was developed. Linear sequential model was applied to develop each
increment. The phases of the linear sequential model are: Analysis, Design, Coding and
Testing. The software repeatedly passes through these phases in iteration and an
increment is delivered with progressive changes.

Figure 1: Incremental Model


Analysis Phase: In this phase, analysis was done in order to find out the requirements
of the system.

Design Phase: In this phase the SRS was translated into the system’s design. Context
Diagram, DFD, ER – Diagram, Use Case Diagram and Class Diagram were developed.

Coding Phase: In this phase coding was done according to the design and a working
system was developed by the end of this process.

9
Testing Phase: In this phase, the system was tested. With each testing a list of changes
to the system developed, was suggested and the changes were applied to the software

3.2 RESOURCES

SQLite Database was used for the database of the program. It was being incorporated
with Java programming languages for the Graphic User Interface and Application
Programming Interface.

3.3 HARDWARE AND SOFTWARE REQUIREMENTS


The program can be installed in a Windows operating system Vista or higher. A
physical memory requirement of at least 512 MB memory with at least 20 MB of free
disk space is also required.

10
TECHNICAL APPROACH

4.1 ARCHITECTURE AND ENVIRONMENT

Our application is Desktop application which will use following software tools:

Language: Java

Libraries: Swing, JavaFX, Optaplanner , ControlFX,

IDE: NetBeans

Visual Layout tools: Scene Builder

4.2 GENETIC ALGORITHM

11
4.3 USECASE DIAGRAM

Fig 1 Use case Diagram

4.4 USE CASE CONTRACTS:

Use case UC1: Enter Teachers Data:

Primary Actor: Admin

Cross References: Enter Teacher Data’ use case

Secondary Actor:

Stakeholders:

Admin: enter the lecturer data.

System: active state

Preconditions: none

Post conditions: The data must be entered into database successfully.

12
Use case UC1: Enter Class Details:

Primary Actor: Admin

Cross References: Enter Class Details’ use case

Secondary Actor:

Stakeholders:

Admin: enter the Class details.

System: active state

Preconditions: none

Post conditions: The data must be entered into database successfully.

13
RESULT AND DISCUSSION
Using this application, we are able to obtain the schedule. Software testing is a critical
element of software quality assurance and represents the ultimate review of
specification, design and code generation.

5.1 OBHECTIVE OF TESTING

 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-discovered error.

5.2 TESTING
This application was run for several minutes. But it didn’t end. scheduling task ran until
we stopped ourselves.

5.3 TEST CASES

Test Test Case Purpose Result


Case ID
TC1 System must be started To access the System started
successfully database without any
exception/errors.
TC2 Teachers data and classes Inserting data into Data unacceptable
data must be entered. database due to error in
database scheme
TC3 Automate the scheduling Generating the Unable to generate
process schedule the schedule.
TC4 Data left blank. Inserting data Data cannot be null

14
SNAPSHOTS OF APPLICATION

15
16
17
CONCLUSION
Course Scheduling is Constraint Satisfaction Problem. We can’t be sure that the
obtained schedule is the optimal schedule. It is also time consuming and require high
cost of processing. So, to obtain the near optimal solution it requires sophisticated
algorithm like Genetic Algorithm.

But instead of developing entire system using genetic algorithm we used Optaplanner
Course Scheduling, as this is open source.

The manual system is adaptable and useful in the making of class schedules. However,
the automated class scheduling system is more functional because of the distinctive
performance in the aspect of speed, project design, accuracy and stability of the system
in the preparation of class schedules, room schedules and instructors’ load. With these
features, the automated system can really solve the primary problems being
encountered during the class schedule preparation.

18
BIBLIOGRAPHY
[1] (2005). In C. Larman, Applying UML and Patterns (p. 703) [offline]

[2] (2017). Asc Time Table. [online]

Retrieved from asc TimeTable- School Scheduling:

https://www.asctimetables.com/

[3] Optaplaner. (2017). Retrieved from Optaplaner:

https://www.optaplanner.org/

[4] Genetic algorithms for task scheduling problem [online]

https://www.sciencedirect.com/science/article/pii/S0743731509001804

19

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