4. Developer Overview
The GNAT TestTool program is a program-based test tool to assist instructors in efficiently generating reliable tests. There are three different types of users that should be kept in mind when developing the software, each of which has different functionality. First, instructors will use the TestTool to make questions and create tests either manually or automatically with those questions. Next, proctors will use the program to distribute the tests for taking. Finally, students will take the tests either in a proctored environment or from home. Functionality for each of these tasks is covered in depth with user scenarios in Functional Requirements.
The major objects and operations have been outlined in the Formal Specification. The modules that contain all of this information are the following:
- Questions - Contains all objects and operations having to do with adding, deleting, and modifying questions.
- Database - Contains all objects that define the question database.
- Tests - Contains all objects for the different types of tests. Also contains operations for creating tests.
- Test Template - Contains all objects and operations for creating and modifying a test template to automatically generate tests.
- Questions Create Functionality - Contains objects and operations for creating questions.
- Question Edit Functionality - Contains objects and operations for editing questions.
- Autograding - Contains all objects and operations for automatically grading taken tests.
- Grade Interface - Contains operations for the grading interface.
- Proctor Functionality - Contains all objects and operations for proctoring a test and distributing it to students.
- Student Functionality - Contains all objects and operations to allow students to take the tests.
- Main User Interface Functionality - Contains objects and operations for the main user interface.
- File - Contains all objects and operations for the file menu.
- Edit - Contains all objects and operations for the edit menu.
This formal specification has been used to create a data dictionary, which should be useful during development.
Prev: non-functional
| Next: spec
| Up: index
| Top: index