The Personal Self-Assessment Environment

Project 8 Software Requirements Specification

Last modified: Thu Dec 2 10:13:16 HST 1999

Overview

This semester, you will be incrementally constructing a "Personal Self-Assessment Environment"---a small software system that you can use to build assessment quizzes on topics of your choice. You can think of this system as a flexible, configurable set of "intelligent flash cards" that you can use to help you learn factually-oriented material. Each assessment quiz consists of a set of multiple choice questions, where one or more of the potential answers can be correct. No "short answer" or "essay" question types are allowed so that the system can automatically grade and correct your answer on each question. Some example application areas for the personal self-assessment environment are learning vocabulary words in a foreign language, important events in history, or technical concepts relevent to a certification exam. Note that many technical certification exams are multiple choice and automatically graded, making this software ideal for certification self-study.

Project 7 Increment: Question Editor

This increment involves the addition of a question editor to your system.

  1. First, the software must conform to all of the requirements stated in prior projects. See the Module 16 Home Page for complete details.

  2. Several people are finding that their package does not fit on a floppy. To solve this, include a zipped version of the javadoc folder which should solve the space problem.

  3. This is version 8.0. You know what that implies by now.

  4. The software must support the optional command line argument "-editFile".

    When this argument is provided, the software comes up in an "edit" mode on the provided -qa file, rather than in "quiz presentation mode". When the -editFile switch is provided, it is legal to supply a file name for the -qa argument that is new, and that file will be created. If an existing file name is provided, then the questions in that file will be made available for editing. Alternatively, no -qa option could be provided, in which case the user can use the "File->New" or "File->Open" menu commands to begin editing a new or pre-existing file, respectively.

  5. To simplify construction and use of the editor, you can assume that a maximum of 10 answers can be specified per question.

  6. A properly designed editor will minimize the number of syntax errors that could be made by users. No user should ever need to explicitly type a keyword such as ":TYPE", or ":CAT". Instead, the user should be presented with a "form" containing labelled text fields or text areas in which to provide the values for each field in a legal question. The values for a field such as :TYPE should be specified through a drop-down list (which currently contains only a single value). The values for a field such as :DIFFICULTY (or the argument to :ANSWER) should be guaranteed to be an integer.

  7. The editor should allow you to load a PSAE file containing a set of questions, and navigate through and potentially edit modify each question in turn. Therefore, there should be a "Next" and "Previous" button at the bottom of the frame containing a question that allows you to navigate to the Next and Previous questions, respectively. (Each buttons should be grayed out and nonselectable when displaying the last and first question, respectively.)

  8. The editor should allow you to insert a new question between two pre-existing questions. Therefore, in addition to a "Next" and "Previous" button, there should be a "New" button that brings up an empty question form. This question will be inserted in the list of questions directly following the current question. Be sure that you deal with the case where the user has opened a new file and you are creating the first question to be edited.

  9. The editor must include a menubar with at least the following menus and menu selections:

Philip Johnson