Hangman Project Plan

[docs]

Project Description

Your team is to implement a computer solitaire version of the classic word game Hangman. The program has been completely specified and designed in detail. You are to follow the design exactly to create an implementation which completely and correctly meets the specifications.

Work Breakdown

The design separates the game logic, user interface, data model, and network communications into separate components (classes).  Each of these components must be assigned to a single person on the team who must do the implementation as an individual task. Specifically the four assignments are:
#1 HangmanApp (28), HangmanLogic (27)

#2 SimpleUI (46), SwingUI (73)

#3 Board (47)

#4 NetClient (30), WordServer (34)

(Number in parenthesis is estimated lines of code including skeleton code provided).

If there are five people on the team, person #2 can do the Swing UI and person #5 can do SimpleUI and GallowsUI.

The "word server" runs as a separate application and may be on a remote host on the internet.  The instructor has provided a running demo for you to experiment with. You can connect to the demo word server from on-campus with telnet:
          telnet vogon.csc.calpoly.edu 55555

Budget

Estimated total of 240 LOC at an estimated production rate of 20 LOC/hr yields 12 hours divided by four programmers gives 3 hours per person.

Schedule

Tuesday Lab 
  1. Receive assignment
  2. Read all project documentation, experiment with demo word server to obtain a word.
  3. Ask clarifying questions of instructor. 
  4. Begin individual implementation

Thursday Lab

  1. Finish implementation
  2. Individuals submit java source code via handin (details will be provided in lab).
  3. Teams formed. Bonus awards for successful "instant integration."
  4. Team integration and testing, defect repair.
  5. Acceptance testing

Acceptance Test

You will demonstrate your completed application to the instructor. The instructor will run tests on your program to see that it meets the specifications. In particularly you will likely be asked to show that your application:
  1. can obtain a hidden word from a word server provided by the instructor on a remote computer.
  2. can execute with a simple console user interface and the Swing user interface.
  3. can play the Hangman game correctly for both winning and losing games.
  4. can run an alternate user interface provided at run-time.

Documentation

Analysis Model

SRS - System Requirements Specification

User Interface Prototypes

Class Diagram

Class Skeletons (javadocs)

Detailed Design (pseudocode) pseudocode.zip
 

Reference

Networking with Sockets Sample Code
Sun tutorial All about Sockets


Document History

1/28/08 JD Updated for 305 lab.
9/25/03 JD Added requirement to bring printout on Tuesday.
9/21/03 JD Initial Release

CPE 305 Home