For the purposes of a CSC 308 example, the non-functional requirements for the Test Tool are organized into these categories and subcategories:
All question management, creating, editing, and options commands must execute instantaneously.
All test management, creating, generating, and options commands must execute instantaneously, except for the following:
The time to execute all administrative commands must be instantaneous, except for the following:
The time for any test taking, reviewing, and proctoring commands must be instantaneous, except for any delays due to network transmission of data from the central host.
The time for any test grading or test viewing commands must be instantaneous, except for the following:
In general, the performance of Test Tool commands that must access data across a network is subject to potential network delays. The Test 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 Test Tool.
There are no specific requirements for the allowable size of a test bank or question bank in terms of the number of items. A bank on the order of thousands of items is the maximum expected size during normal use.
The maximum expected sizes of the Test Tool databases are the following:
The Test Tool must be able to operate with questions databases and test databases of sizes
larger than these normal maximums. However, the tool need not the meet the
previously-enumerated time performance requirements for questions databases and test databases
larger than normal maximum sizes.
3.2. General Characteristics
The Test Tool data structures were designed with privacy in mind, this is clearly displayed in the class Question, and it's extending classes. The Question class contains only the basic information that makes up a question. The extending class TestQuestion contains a maximum score assigned for the Question, and is assembled in a list for test to be administered.
AnsweredQuestion types contain the answers students provide, but they do not contain the actual defined answers to the question. There are many examples of this security within the Test Tool system. They are all in place to attempt the most secure solution in an educatinoal environment.
Scheduled items with a security setting other than `Public' must have only the allowed information viewable to any user other than the Test's owner. The central host passwords of any user must be kept secure from viewing or modification by any other Test Tool user, and from any user at all on the central host.
On a spectrum of simple-to-use versus powerful, the Test Tool does favorably on
both sides. The Interface is quite simple, proividing an eye-friendly and
uncluttered View. On the other hand, Test Tool's automatic generation of tests
from large databases of questions are an extremely powerful and useful feature.