4. Developer Overview

The following is a list of the major data objects, UML drawings and additional information that may assist and guide developers through the use of the Scheduling Tool. This section is broken down into the following parts.


4.1. Primary Objects and Operations

While the Scheduling Tool consists of a handful of complex and unique operations and objects, there are several that are core to its operation and functionality. These include the following:

4.1.1. The Generate Schedule Operation

The most important operation in the Scheduling Tool is the Generate Schedule operation. This operation is responsible for taking a collection of completed Databases, Preferences, Constraints and Term-Settings and producing a fully functional Schedule (consisting of Schedule Entries) that can be later deployed by the scheduler for production. This operation is responsible for ensuring that no Constraints are violated, the Preferences specified by the instructors are met as closely as possible, and no Teachers exceed the maximum alloted WTUs for the quarter. These operations and the related functions are fully defined in the scheddb.fmsl File.


A simplified black box drawing of the Generate Schedule operation is seen below:

Figure 4.1: Generate a Schedule - Simplified


4.1.2. The Database Objects

The major database objects for the Scheduling Tool include the Room Database, the Course Database and the Instruction Database and Perferences. These Databases are used as 'input' to the Generate Schedule operation as listed above. A complete database must have entries for all [Rooms|Courses|Instructors] and may not contain any redundant or duplicate rows. The Room and Course Databases are administered by the Scheduler and the Instructor Databases and Preferences and configured by the respective Instructor. A broken down view of all the Database Objects can be seen in the Databases UML Diagram.

4.1.3. The Viewing a Schedule Operation

Once a Schedule has been generated using the Generate Schedule operation, it is ready to be viewed by both the instructors, scheduler, and possible guest users (we leave it to the discretion of later developers to choose to include guest viewing functionality; in this document we omit such functionality). The View operation is best defined as taking an input of Schedule Entries and presenting them in a format that is acceptable to the general audience. This includes the ability to sort by Courses, Times, Instructors and Days and the ability to present the Schedules in a Daily, Weekly or Quarterly format.

4.2. Data and Operation Dictionaries

Our Data and Operation is location Here. As can be seen, the major operations and datatypes are completemented with a complete description of their purpose and/or functionality. To see the FMSL that was used to generate this Data Dictionary, please reference the Formal Specification.

4.3. UML Drawings and Dataflow

Our two main UML Drawings for the Scheduling Tool are the Scheduling Overview and the Databases Data Diagrams. These drawings highlight the main objects in the Scheduling Tool and are set up to completely mirror all of the objects in our Functional Requirements Document.





Prev: non-functional | Next: specification | Up: index | Top: index