3. Non-Functional Requirements

For the purposes of a CSC 308 example, the non-functional requirements for the Scheduler Tool are organized into these categories:

3.1. Performance

All scheduling, viewing, and options 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 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 is specific requirements on the allowable size of a Schedule in terms of the number of classes scheduled is the number of availible, hour-long time slots in a admin-defined school day (default 7am-10pm) times the number of availible classrooms. There is to be absolutely no double-booking of a classroom at the same time, or double-booking of a teacher during the same time.

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

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

3.2. General Characteristics

3.2.1. Security and Privacy

The Schedule tool is designed to be three seperate applications based on with type of user is running it.

The Administration version of the tool must have total control over all aspects of the Schedule. Only those with the Admin version of the tool will be allowed to add classes, instructors, and classrooms to their respective databases. Only the Admin version of the tool must be allowed access to the editable schedule files on the network.

The Instructor version of the tool must allow each Instructor to edit his/her course and time prefrences and those settings must not be visable to the other instructors as a matter of privacy. The Instructor version must also allow the user to view the current schedule, but not edit any of the entries in the Instructor/Course/Classroom databases.

The Student version of the tool must allow the user to view the current and/or previous/future schedules without any ability to edit any of the entries in the Instructor/Course/Classroom databases. It also must allow for the submission of feedback to the Administrators that is not availible to be viewed by other students.

3.2.2. Simplicity versus Power

On a spectrum of simple-to-use versus powerful, the Schedule Tool differs with the versions, but averages in the middle of the spectrum. Users are assumed to be nearly completely computer literate and knowledgeable on the use of computer networks consisting of local computers and central data servers, but the administration users must have a much more intircate knowledge of the significance of each and every setting in the domain of the tool.




Prev: functional | Next: developer-overview | Up: index | Top: index