Requirements Specification
for Scheduler
Version 2.4.0.0
09 October 2009

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 WhenToWork
         1.5.2. Cyber Matrix
         1.5.3. Asc Timetables
         1.5.4. Mimosa
         1.5.5. Lantiv Timetabler
         1.5.6. FET
         1.5.7. Feature Comparison Matrix

   2. Functional Requirements
      2.1. User Interview Overview
         2.1.1. Administrative UI
         2.1.2. Instructor/Faculty UI
         2.1.3. Student UI
      2.2. Basic Schedule Generation
      2.3 Database Management
         2.3.1. Instructor
            2.3.1.1. Add
            2.3.1.2. Edit
            2.3.1.3. Remove
         2.3.2. Course
            2.3.2.1. Add
            2.3.2.2. Edit
            2.3.2.3. Remove
         2.3.3. Room
            2.3.3.1. Add
            2.3.3.2. Edit
            2.3.3.2. Remove
      2.4. Advanced Schedule Generation and Editing
         2.4.1. Preferences
            2.4.1.1. Add
            2.4.1.2. Edit
            2.4.1.3. Remove
         2.4.2. Administrator Preference Setting
         2.4.3. Manual Editing
             2.4.3.1 Courses
             2.4.3.2 Locking
         2.4.4. Conflict Resolution
         2.4.5. Viewing Schedule Attributes
           2.4.5.1. Schedule Fairness
           2.4.5.2. Schedule Quality
      2.5. Viewing a Schedule
         2.5.1. Course Schedule View
            2.5.1.1. Daily
            2.5.1.2 Weekly
         2.5.2. Location Schedule View
            2.5.2.1. Daily
            2.5.2.2. Weekly
         2.5.3. Instructor Schedule View
            2.5.3.1. Daily
            2.5.3.2 Weekly
         2.5.4. Sorting the List View
         2.5.5. Advanced Filters
         2.5.6. View Availability of Instructors and Locations
      2.6. Student Access
      2.7. Server Administration
      2.8. Details of File commands
         2.8.1. New
         2.8.2. Open
         2.8.3. Open Recent
         2.8.4. Save
         2.8.5. Save As
         2.8.6. Print Preview and Print
         2.8.7. Close Project
         2.8.8. Exit

   3. Non-Functional Requirement
      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
      5.1 Database (database.sl)
         5.1.1 InstructorDB (instructorDB.sl)
         5.1.2 CourseDB (courseDB.sl)
         5.1.3 LocationDB (locationDB.sl)
      5.2 Preference (preference.sl)
      5.3 Conflicts (conflict.sl)
      5.4 Course Editing (course-edit.sl)
      5.5 Viewing (view.sl)
      5.6 Generate (generate.sl)
      5.7 Edit Commands (edit.sl)
      5.8 Open Commands (edit.sl)
      5.9 Quality (quality.sl)

   Appendix A


List of Figures