The Personal Self-Assessment Environment

Project 5 Software Requirements Specification

Last modified: Mon Oct 18 11:06:36 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 4 Increment: Creating a simple quiz GUI.

This increment involves the addition of a new command line parameter and a single GUI presentation of a quiz and the grade.

  1. First, the software must conform to all of the requirements stated in prior projects. This includes coding standards, JavaDoc standards, command line argument processing, etc. Your Project 4 software must pass all of the test cases created for prior projects.

  2. You must have completed module 11 before starting this module.

  3. This is version 5.0. You should have a single (typically static) string instance somewhere in your program storing this version number. This single string instance should be used whenever the version number is printed. It is a design error for you to create multiple copies of the version number string. Remember to update the first line of your output to refer to this version string.

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

    If this command line is supplied, then after all of the quiz data is loaded, a simple GUI interface is presented to the user. This GUI interface has the following components:

    The user can mark one or more of the answers, then press "Next" to go on to the next question, which is then displayed on the screen along with its associated answers. When the last question is displayed, pressing the "Next" button then brings up a screen listing the question titles associated with the questions that have been asked, and the amount of credit the person received for that question given their answer(s).

    You will be extending this GUI in upcoming assignments, so try to design it in a flexible and extensible manner.


Philip Johnson