3. Non-Functional Requirements

3.1 Performance

All scheduling, viewing, options, preference setting commands must execute instantaneously, except for the following: The time to execute all administrative commands must be instantaneous, except for any delays due to network transmission of data from the central host.

In general, the performance of 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 thousands of items is the maximum expected size during normal use.

The maximum expected sizes of the Calendar Tool databases are the following: While there may on the order of tens of thousands of registered users, the expected maximum number of users connected to any given server at any given time is on the order of hundreds.

The Scheduler Tool must be able to operate with calendars 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

Schedules must only be visible to an administrator user until such time as the schedule is published for public viewing. Instructor preferences must only be visible to the instructor they are tied to and administrator users. The central host passwords of any user, especially the administrator, must also be kept secure from viewing or modification by anyone.

3.2.2. Simplicity versus Power

On a spectrum of simple-to-use versus powerful, the Scheduling Tool leans toward the side of simple. While some of the features, such as database management, require some level of understanding of the organization of a scheduling system, most are very approachable to users that have no experience with course scheduling.




Prev: 2. Requirements | Next: 4. Developer Overview | Up: Contents | Top: Contents