3. Non-Functional Requirements

3.1. System Performance

All UI drawing, grade entering, course, assignment, category, or student creation must execute instantaneously with the exception of:

Any importating or exporting of data and saving data should serialize and unserialize on the order of seconds with respect to disk access times.

In general, the performance of the Grader tool command which use a network such as authentification is subject to a potential of delays based on congestion and bandwidth.

There are no specific requirements for how large the gradebooks can be as there can be gradebook so long as there is a course associated with them.

The database breakdowns are as follows: The Grader tool needs to operate efficiently on database at the specified maximums.

3.2. General Characteristics

3.2.1. Security and Privacy

As for student security, the Grader tool shall not publically display their EMPL IDs and full names adjacently. The security of their grades shall be determined by the local machine of the TA and instructor as well as the security of the department server. For any authentification, the password shall not be stored in plain text in any database relating to the Grader program; the username and password will be directly sent to the CAS server or the user shall be redirected to a webview containing a login operated by Cal Poly. The only thing stored regarding authentification will be an OAuth key or authentification status.

3.2.2. Simplicity versus Power

The Grader tool aims to let instructors and TA customize as much as their courses as they'd like with infinite subcategories and flexible weighting. The Grader tool aims to be powerful for its users while still maintaining an intuitive user interface.

Users are assumed to be somewhat computer literate and knowledgeable on the use of computer networks consisting of local computers and central data servers.