UCS - Computer Science & Engineering

Download Report

Transcript UCS - Computer Science & Engineering

The University Class Scheduler (U.C.S.)
Deanna Needell, Jeff Stuart, Tamara Thiel
Dr. Sergiu Dascalu, Dr. Frederick Harris, Jr.
Department of Computer Science, University of Nevada, Reno
Abstract
The University Class Scheduler (U.C.S) is an
innovative scheduling tool. It is intended to be
used by major Universities to schedule classes into
classrooms, although it can easily be adapted for
general use outside the academic realm. U.C.S.
allows University administrators to enter relevant
college and building information, schedule the
input classes into the input classrooms, and create
web pages linking to the appropriate University
pages with the scheduled class/classroom
information. Scheduling is done based on a wide
variety of user-chosen parameters. Thus U.C.S. is
quite flexible to each individual user’s needs.
U.C.S. also comes with a generic XML parser,
allowing the program to read and translate files it
has stored.
Use Case Diagram
Future Extensions
The Use Case diagram depicts the interactions
between the staff, students, and professors of
the University and the program. The staff of
each department will enter in the professor,
college, building, department, class, and classroom
information. Once this is done, the University
administrator will use the University Class
Scheduler to create the classroom schedule.
The University Catalog Creators will then use
the generated classroom schedule to create the
semester class catalog. The University webmaster
will post the web pages and the generated schedule
file to the University’s server. Then students and
professors may view and use those web pages.
Web Pages Output by U.C.S.
 Suggest an optimal course of action for resolving
scheduling conflicts
 Extend the scheduling capabilities to also schedule
class times
 Include additional features that will make the UCS a
more general scheduling system
Add Class
Main Characteristics / Components:
The University Class Scheduler will consist primarily of
two components:
 The first component is used by the administrators of the
University. This component allows the administrator of
each University department to enter in, either manually
or from a file, the department’s classes, times, and
professors. The program then saves this information.
Next, this component schedules the input classes into
classrooms without overlap based on various constraints
and parameters set by the user. Such constraints may be
classroom size, distance from department, and room
features.
 Once the scheduling is complete, the program creates a
Hyper-Text Markup Language (HTML) file based on
the user’s parameters. This file embodies the second
component of the program, and will be used by students.
It consists of a list of classes and contains appropriate
links to the University’s online map system, as well as
professor and department home pages.
The University Class Scheduler is written in C++, and its
interfaces are implemented using the QT NonCommercial Toolkit. It stores all files used by the
program in XML format.
The most important of the user interfaces
provides a means for entering class information.
Because the structure of classes at different
Universities varies, this component allows
for flexibility. It allows the user to subdivide
classes into lectures and labs, manually
restrict lab locations, enter different class
times on different days, and provide other
mechanisms to distinguish classes of
different types.
Web Pages 1: Department Page – Displays schedule of
classes in classrooms per department.
Schedule
User can set parameters that
U.C.S. needs to consider when
scheduling classes into classrooms.
Once all the parameters are set, and
the user selects the Schedule button,
U.C.S. puts the classes into available
classrooms. If no complete schedule
can be created, the user is notified
and must resolve the conflict. Once
scheduling is complete, the user can
create web pages to enable students to
view the data.
Web Pages 2: Classroom Page – Displays schedule of
classes in a classroom
Information:
For additional information, please visit our web site at:
http://www.cs.unr.edu/~Needell/cs426/
This project was developed as part of the Senior Projects course CS426, Instructor Dr. Sergiu Dascalu, Spring 2003