Requirements Specification
for Academic Scheduling System
Version 1.0
13 December 2001






Contents

1.  Introduction
    1.1. Problem Statement
    1.2. System Personnel
    1.3. Operational Setting
    1.4. Impacts
    1.5. Related Systems

2.  Functional Requirements
    2.1. UI Overview
            2.1.1. Administrator Overview
            2.1.2. Instructor Overview
            2.1.3. Student Overview
   2.2. Creating and Editing a Basic Project
           
2.2.1. Creating a Project
                2.2.1.1 Creating Project from Scratch
                 2.2.1.2. Creating Project Based on a Finished Schedule
                 2.2.1.3. Creating a Blank Project
            2.2.2. Editing a Basic Project
                 2.2.2.1. Editing a Project
                 2.2.2.2. Opening a Project
    2.3. Editing Instructor Preferences
            2.3.1. Selecting an Instructor
            2.3.2. Time Preferences
            2.3.3. Course Preferences
            2.3.4. General Settings
   2.4. Advanced Details of Scheduling
            2.4.1. Incremental Schedule Editing
                 2.4.1.1. Add or Delete a Section
                 2.4.1.2. Edit a Section
            2.4.2. Resolving Conflicts
                 2.4.2.1. Conflict - Warnings
                 2.4.2.2. Conflict - Errors
            2.4.3. Schedule Evaluation and Student Reports
                 2.4.3.1. Schedule Evaluation
                 2.4.3.2. Student Reports
    2.5. Scheduling Database Management
            2.5.1. Instructors
                 2.5.1.1. Permanent Instructor Database
                      2.5.1.1.1. Adding and Removing
                      2.5.1.1.2. Changing Preferences
                 2.5.1.2. Local Instructor Database
            2.5.2. Courses
                 2.5.2.1. Permanent Course Database
                 2.5.2.2. Local Course Database
            2.5.3. Rooms
                 2.5.3.1. Permanent Room Database
                 2.5.3.2. Local Room Database
            2.5.4. Reconciling the Databases
    2.6. Student Access
            2.6.1. Logging In
            2.6.2. Answering Survey
            2.6.3. Viewing Posted Information
    2.7. Options
            2.7.1. Map Options
            2.7.2. Time Options
            2.7.3. Posting Options
    2.8. File-Specific Commands
            2.8.1. New, Open, and Close
            2.8.2. Save, Save As...
            2.8.3. Posting
    2.9. Edit Menu Commands
            2.9.1. Cut, Copy, Paste, and Delete
            2.9.2. Undo and Redo
    2.10. Error Conditions

3.  Non-Functional Requirements

4.  Developer Overview

5.  Formal Specification
    5.1. Creating a Project
    5.2. Editing a Schedule
    5.3. Instructor Database
    5.4. Course Database
    5.5. Room Database
    5.6. Students
    5.7. File Commands
    5.8. Edit Commands
    5.9. Schedule Reporting
    5.10. Conflicts