2. Non-Functional Requirements

Non-functional requirements cover other related characteristics of the program. These include program performance (time and size), and several general system characteristics such as interaction between components external to the system, reliability, security, privacy, and portability.

 

Performance

The two most time consuming operations that the Test Tool performs are automatic test grading and test generation. Test generation may take as long as 5 minutes for a final exam or something of that magnitude. Grading operations will take more time as the size of the test increases, but should usually take less than five seconds to complete. These two operations take the longest because the system has more information to process than the other operations performed.

Local Question Database operations such as loading, saving, adding a question, and removing a question should be pretty much instantanious. Upload/Download operations involving the shared question database may be slower due to connection speed, or traffic, but should take no more than 1 second. to complete under normal conditions

The Question Databases consume the most disk space of all, being collections of questions. The size of a question databse depends on the number of questions it contains. Each question should usually take no more than 50KB of space depending on the amount of information contained. A Test is also a collection of questions, but generally much smaller than the databases. A test will vary in size with the number of questions it contains. Questions that are unanswered are a little larger than questions in the database. Answered questions contain the students responce and can be as large as 100KB per answered question in the test. Once tests are graded, and may have feedback, they have reached their maximum size of usually no more than 110KB per graded question with feedback plus 20KB for overall test feedback, if any.

 

General characteristics

The Question Database consists of saved files each file being a question in the database. The shared database question files are saved remotely to all users. When a test is complete, and all students have submitted the test or have had it submitted automatically, the completed test files are saved to a location chosen by the proctor administering the test.

When the Test Tool program automatically grades tests, it is comparing the students responce with the correct responce. Coding questions are tested for correctness by comparing the output of the code submitted with the correct output. For questions that require a human to decide, the person grading the test assigned correctness of the responce.

Security features include individual IDs and passwords for students and administrators. Students log in to take a test, and check their grades and feedback. Instructors log in to perform any shared database transactions. Instructors also can create/edit/delete tests as well as administrate a test. Proctors only have access to the saved tests for selecting a test to administer and testing controls.

The testing environment consists of a networked computer lab with the Test Tool program installed on every machine a student will be using as well as the test administrator's control computer. The proctor administering the test watches over students to enforce cheating issues during testing.

The Test Tool program is a relatively complicated tool that will take an hour or so to become comfortable with. Once a user understands the Test Tool program, it is a powerful tool that can greatly ease the task of testing using "paper and pencil" methods.


Prev: functional | Next: Developer Overview | Up: index | Top: index