Requirements Specification
for an Electronic Class Scheduler
Version 0.4
18 February 2014

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 Scheduling Studio
         1.5.2. Mimosa Scheduling Software
         1.5.3. Event Management Systems
         1.5.4. aSc TimeTables
         1.5.5. myEdu Schedule Planner
         1.5.6. Cybermatrix
         1.5.6. 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.3.1. Student Feedback
     2.2. Schedule Overview
     2.3. Database Management
         2.3.1. Instructors
             2.3.1.1. Add Instructor
             2.3.1.2. Remove Instructor
             2.3.1.3. Edit Instructor
             2.3.1.4. Manage Instructor Preferences
                 2.3.1.4.1. Instructor Edit Preferences
                 2.3.1.4.2. Admin Edit Instructor Preferences
         2.3.2. Courses
             2.3.2.1. Add Course
             2.3.2.2. Remove Course
             2.3.2.3. Edit Course
         2.3.3. Rooms
             2.3.3.1. Add Room
             2.3.3.2. Remove Room
             2.3.3.3. Edit Room
         2.3.4. Buildings
             2.3.4.1. Add Building
             2.3.4.2. Remove Buildings
     2.4. Manage Schedules
         2.4.1. Add Schedule
         2.4.2. Remove Schedule
     2.5. Edit Schedules
         2.5.1. Administrator Preference Settings
         2.5.2. Conflict Resolution
             2.5.2.1. Time Conflicts
             2.5.2.2. Room Conflicts
             2.5.2.3. Exceeding WTUs
         2.5.3. Schedule Attributes
     2.6. Generate Schedules
         2.6.1. Not Enough Instructors
         2.6.2. Not Enough Rooms
         2.6.3. Instructor Preference Conflicts
     2.7. View Schedules
         2.7.1. Calendar View
         2.7.2. Table View
         2.7.3. Filtering
     2.8. Schedule Constraints
         2.8.1. Course Overlap
         2.8.2. Time Restrictions
         2.8.3. Course Time Proximity
         2.8.4. Course Distance Proximity
         2.8.5. Scheduling Time Patterns
         2.8.6. Constraints Not Met
     2.9. Details of File Commands
         2.9.1. Schedule File Commands
         2.9.2. Database File Commands
     2.10. Details of Edit Commands
         2.10.1. Cut, Copy, and Paste
     2.11. Error Conditions

3.  Non-Functional Requirements
     3.1. System Performance
     3.2. Qualitative System Characteristics

4.  Developer Overview

5.  Formal Specification



List of Figures