next up previous contents
Next: Note This Well Up: General Information Previous: Course Goals

Project Goals

The product to be developed is to be a cross-country flight planner for a small airplane.

Object-oriented design will be used, with design stress to be laid upon the use of abstraction, encapsulation, dynamic binding, and loose coupling to provide clean structure and maintainability. Documentation at three levels will be provided. One level will be planning documents. A second level will be development/maintenance documentation in the form of code comments and man pages. The third level will be user documentation. (Students will maintain a fourth level: an accounting of their individual time and activities.)

The final product will include the legacy of code, testing structure, documentation, and archives. Each team will also deliver an honest time accounting for its development efforts, from which a final ``price'' for the product can be determined.

The development effort will follow several phases, consisting of:

  1. consultation with the customer, establishing requirements;
  2. planning implementation from requirements, presentation, submission for review;
  3. planning testing strategy, presentation, submission for review;
  4. work schedule planning, presentation, submission for review;
  5. implementation, testing, documentation
  6. delivery of system for evaluation
  7. receipt of a similar system for enhancement (maintenance)
  8. enhancement, testing, reporting
  9. final delivery of all materials

In these phases there will be planning documents to be delivered, on which a team member must sign off, indicating that the quality assurance of the work was their personal responsibility. Class presentations of team material for review may be required, for which an assessment of personal responsibility will also be made. These factors will contribute to a person's individual grade.

The team as a whole will will also be assessed through the quality of the system material delivered. This will be judged in two ways. Firstly, by the ``customer's'' (instructor's) evaluation of its organization, style, documentation, testing, careful version control, and correct execution. Secondly, by the ``maintainer's'' (another team's) evaluation of its organization, style, documentation, testing, and ease of enhancement.

Additionally, before teams are chosen, individuals will be responsible for some short assignments to provide environment training and personal calibration.

A individual's final grade will be given as

where the former will be composed of And the latter will be composed of In the real world, errors found later in the development life cycle are more expensive than those found earlier. To simulate this, the points counted off against a group or individual will escalate, as the stages of the project progress.

next up previous contents
Next: Note This Well Up: General Information Previous: Course Goals




Mon Sep 9 09:16:07 EDT 1996