29-11-2012, 06:21 PM
Software Requirements Specification of A University Class Scheduler
Software Requirements.pdf (Size: 181.05 KB / Downloads: 132)
Abstract
The University Class Scheduler (UCS) presented
in this paper is a novel scheduling tool intended
to be used by universities to schedule classes into
classrooms. In essence, UCS allows university
administrators to enter relevant college and
building information, schedule the input classes
(courses) into input classrooms, and create web
pages that provide detailed schedule information
on a semester-by-semester basis. The UCS, which
performs the scheduling of classes according to a
number of user-selected parameters, can be
easily adapted for applications outside the
academic realm. This paper presents the main
aspects of the University Class Scheduler’s
UML-based specification, gives details of the
UCS’ current development status, and points to a
series of possible extensions that we intend to
investigate in the near future.
Introduction
The University Class Scheduler (UCS) that
we have recently developed is a software product
intended to be used by universities to schedule
classes (courses) offered during a semester into
available classrooms. The focus of this project
has been on academic scheduling for universities,
yet due to its flexible design the UCS can be
easily adapted for applications outside the
academic realm. The UCS program allows
university administrators to input relevant
college, department, and building information,
schedule courses into classrooms, and create web
pages linked to appropriate university pages
(specifically, college and department web pages).
Thus, via web posting, the UCS makes available
to the public detailed information on the
scheduling of classes.
The UCS performs the scheduling based on
certain parameters selected by the user, as
explained later in the paper. Besides its
scheduling algorithms, UCS incorporates a
generic XML parser that allows the manipulation
of large data files. In particular, the XML parser
is used to translate raw data files into XMLdefined
storage files, thus reducing or eliminating
the user’s highly tedious and time consuming
task of entering large amounts of data.
General Description
The UCS is intended to provide a means for
entering the necessary information for class
scheduling, viewing and modifying this
information, storing the information into XMLdefined
files, parsing XML files into ready-toprocess
data, scheduling classes into classrooms
based on user-selected parameters, and creating
web pages with scheduling details about courses
offered and their assigned classrooms.
From an organizational point of view the
UCS software tool has two main components: the
scheduler itself and the publisher of the schedule.
The first component, the scheduler, is used by the
administrators of each university department to
enter, either manually or by loading data from
existing files, the department’s classes, times,
and professors. Information on buildings and
classrooms is also entered. As soon as all the
necessary information is entered into the system
the UCS can schedule the specified classes into
available classrooms without overlap, based on
certain parameters selected by the user.
Specifically, these parameters are classroom size,
classroom type (e.g., regular room, distance
education room, or “smart” room), and distance
from department. Once the scheduling is
complete, the second component of the UCS, the
publisher, can be invoked to create an HTML file
with detailed schedule information and pointers
to appropriate web pages.
Use Case Modeling
As part of the modeling process, the
functionality of the UCS has been defined using
use cases and scenarios. At a high level of
abstraction the entire functionality of the class
scheduler is captured in the use case diagram
shown in Figure 1, a couple of major parts of
UCS functionality are presented in use cases
shown in Figures 2 and 3, and examples of
specific ways of using the software are provided
as scenarios in Figures 4 and 5. According to
Rumbaugh, a use case is “a specification of
sequences of actions, including variant sequences
and error sequences, that a system, subsystem, or
class can perform by interacting with outside
actors” [9]. One the other hand, as pointed out by
Booch, “scenarios are to uses cases as instances
are to classes, meaning that a scenario is
basically one instance of a use case” [5].
Conclusions
The UCS tool whose specification has been
presented in this paper provides a simple but
efficient means of scheduling university classes
into classrooms. We believe that the UCS not
only represents a useful, practical tool, but also a
research proof of concept based on which many
possible extensions to this project can be further
investigated.
A very useful addition to the UCS would be
the inclusion of time scheduling. Thus, the UCS
would schedule classes not only into classrooms
but also into time slots. Also, the UCS could
suggest optimal courses of actions for resolving
scheduling conflicts of various types, including
time conflicts. Another possible extension would
be to elaborate the web pages associated with
UCS so that they could link to campus maps,
campus images, and so forth. Enhancement of
scheduling algorithms is another potential area
of research and development for the UCS.
Finally, the UCS could evolve into a generic
scheduler that could be used in numerous
applications outside the university environment.