3. Non-Functional Requirements

The Scheduler non-functional requirements are organized into the following categories:

3.1. Performance

All preference editing, viewing, administrative, and options commands must execute instantaneously, except for the following:

The time to execute all instructor commands must be instantaneous, except for any delays due to network transmission of data from the central host.

In general, the performance of the Scheduler Tool commands that must access data across a network is subject to potential network delays. The Scheduler Tool must transmit data as fast as is possible on any given network, but delays due to external network circumstances are beyond the control of the Scheduler Tool.

There are no specific requirements for the allowable size of a schedule in terms of the number of scheduled courses. A Schedule on the order of hundreds of courses is the maximum expected size during normal use.

The maximum expected sizes of the Scheduler Tool databases are the following:

  • course database -- up to thousands of courses
  • room database -- up to thousands of rooms
  • instructor database -- up to hundreds of instructors

The Scheduler Tool must be able to operate with schedules and databases of sizes larger than these normal maximums. However, the tool need not the meet the previously-enumerated time performance requirements for schedules or databases larger than normal maximum sizes.

3.2. General Characteristics

3.2.1. Security and Privacy

All information related to the generation of schedules using the Scheduler is public to all users of the Scheduler. Only administrative and instructor users are allowed to modify information in the central databases. Passwords must remain hidden and only a primary administrator and the user themself

3.2.2. Simplicity versus Power

In a balance of simplicity vs. powerful the Scheduler leans toward powerful. Interfaces are designed to be easy to use, but the targeted users are members of the Computer Science Department, and are expected to have a high level computer and technical literacy.




Prev: Functional Requirements | Next: Developer Overview | Up: index | Top: index