In this Requirement's Document, the Non-Functional Requirements for the Scheduling Tool are organized into these categories:
All viewing, editing, and options commands in the Scheduling Tool must execute instantaneously, except for the following:
The time to execute all commands (with the exception of Schedule Generation) must be instantaneous, except for any delays due to network transmission of data from the central host.
In general, the performance of Scheduling Tool commands that must access data across a network is subject to potential network delays. The Scheduling 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 Scheduling Tool.
There are absolute requirements for the allowable size of a schedule, however there cannot be more schedule entries then there are professors/classes to teach them. A Schedule on the order of thousands of items is the maximum expected size during normal use.
The maximum expected sizes of the Scheduling Tool databases are the following:
The Scheduling 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
All Scheduling Entries should only be viewable to users that have access to the Scheduling Tool
system. As we have not allowed for guest access within our tool, a valid username/password combo
is required for viewing any of the schedules, preferences and databases. Instructors should only
be able to edit and view their own preferences but will be able to view the entire generated schedule
post-generation. A scheduler has access to edit and view all of the schedules, databases, and preferences
in the Scheduling Tool system. He has the ability to change any of the scheduling options, system-wide settings
and preferences for the users in this system. The central host passwords of any user must be kept secure from viewing
or modification by any other Scheduling Tool user, and from any user at all on
the central host.
3.2.2. Simplicity versus Power
In regards to the Scheduler, this tool is heavily on the side of powerful. The Scheduler is assumed to be fully computer literate and knowledgable about the workings of the Scheduling Tool and how the preferences, databases, and constraints are used to create a schedule. Additionally, the Scheduler is assumed to have knowledge of system administration and on the use of computer networks consisting of local computers and central data servers.
In regards to the Instructor, this tool is heavily on the side of simple. The Instructor is assumed to have knowledge of basic computer skills including how to launch an application, make changes to data and commit changes. However, they need not be concerned with the inner workings of the Scheduling Tool and should only told how their own preferences will affect the final schedule generation. Because certain aspects of this system could be considered confusing to less literate Instructors, a detailed manual or help documentation may need to accompany the distribution of the Scheduling Tool.