Requirements Specification
for a Scheduler Tool
Winter 2015




Contents

1.  Introduction
     1.1. Problem Statement
     1.2. System Personnel
     1.3. Operational Setting
     1.4. Impacts
     1.5. Related Systems
         1.5.1. Lantiv
         1.5.2. University Timetabling
         1.5.3. ScheduleWhiz
         1.5.4. Wise Timetable
         1.5.5. Mimosa Scheduling Software
         1.5.6. CyberMatrix Class Scheduler
         1.5.7. Feature Comparison Matrix

2.  Functional Requirements
     2.1. User Interface Overview
         2.1.1. Scheduling Administrator
         2.1.2. Instructor
         2.1.3. Student
         2.1.4. Keyboard Shortcuts
     2.2. Create A Schedule
     2.3. Manage Existing Schedules
         2.3.1. View A Schedule
             2.3.1.1. Table Schedule Viewer
             2.3.1.2. Calendar Schedule Viewer
             2.3.1.3 Open A Schedule
             2.3.1.4 Save A Schedule
         2.3.2. Filtering The Schedule Viewer
         2.3.3. Schedule Conflict Resolution
     2.4. Manage Schedule Resources
         2.4.1. Instructors
           2.4.1.1 Adding Instructors
           2.4.1.2 Editing Instructors
           2.4.1.3 Removing Instructors
         2.4.2. Courses
             2.4.2.1 Adding Courses
             2.4.2.2 Editing Courses
             2.4.2.3 Removing Courses
         2.4.3. Rooms
           2.4.3.1 Adding Rooms
           2.4.3.2 Editing Rooms
           2.4.3.3 Removing Rooms
     2.5. View/Edit Preferences
         2.5.1. Instructors
           2.5.1.1 Editing Time Preferences
           2.5.1.2 Editing Teaching Preferences
         2.5.2. Courses
           2.5.2.1 Editing Day Pattern
           2.5.2.2 Editing Number Of Sections
     2.6. Administrative Functions
         2.6.1. Global Schedule Constraints
         2.6.2. Administrator Management
         2.6.3. Schedule Attributes
     2.7. Details of File/Edit
         2.7.1 File
         2.7.2 Edit

3.  Non-Functional Requirements
     3.1. Performance
     3.2. General Characteristics
         3.2.1. Security and Privacy
         3.2.2. Simplicity versus Power

4.  Developer Overview

5.  Formal Specification