Functionality, not performance, is the first priority of the CSTutor tool. However, performance is relevant in terms of memory space and processing time.
All operations shall complete instantly. Nowhere in the tool is there a lengthy operation which an end-user is able to discern a noticeable time lapse. This tool does not account for network delays which may occur during any data transmission to or from the server.
The CSTutor tool makes a relatively small memory footprint under nomral circumstances. It some extreme cases, the memory footprint may reach a significant size but nothing a contemporary server cannot handle. In case of such extremems, the CSTutor tool is prepared to work with:
The tool shall operate continuously for no less than 12 continuous hours without failure.
The tool shall gracefully handle errors stemming from the user, the tool itself and the network which the tool is using.
The tool shall be tested to ensure data is saved correctly.
The tool shall be tested to ensure it correctly functions.
The tool shall not allow a student to gain instructor or administrator privileges to
The tool shall not reveal any student's ID number, name or quiz scores to anyone other than the student or the student's instructor. The tool shall keep all guest information anonymous, even to the instructor for the course.
This tool has no critical operations which may endager human life and hence has no Safety requirements.
The tool shall not have a bias for any platform over all others and shall function identically on all platforms.
The tool shall be implemented with appropriate design patterns such that the tool's components are extensible, such as:
The tool does not have any heavy-weight operations thus its primary focus is simplicity. Speed and efficiency shall give way to simplicity in the tool's implementation.