ud957 ยป

Word Counter

(* Note: Deliverables are described at the end of the document *)

Logistics

Prepare a Java program that counts the words in a file. The program should satisfy at least the following requirements:

  • The program must be written in Java and must not make use of any non-standard Java library. It will be tested on a machine with a vanilla Java 1.6 installation.
  • All code required to execute the program that is not part of the standard JDK must be turned in in source format. Your program must compile on the command line using the javac command without any additional options.
  • Your program should be an application, that is, it should have a main method and should be executable from the command line using the java command.
  • Your program and all deliverables should be submitted as attachments by the team leader (whom you will select among the member of your team). We expect one submission per team.
  • It is your job to elicit the actual program requirements from <<todo: insert="" link="" to="" video="" with="" interview="" here!="">>

Process

You should construct your program by using a Waterfall process (or a variation thereof). It is your team's job to specify the exact form by defining appropriate process activities. You must include activities responsible for producing at least the following deliverables:

  • Project Plan
  • Requirements Document
  • Design Document
  • Test Plan
  • User Documentation (man page)
  • Code
  • Process Assessment Document

Measurements

During the course of development you should keep track of the following items, which you will use in your process assessment document.

  • Time spent in units of hours
  • Number of lines of source code in the final product
  • Number of defects detected during testing

Deliverables

  • Deliverable 1/3:
    • Project Plan
    • Requirements Document
  • Deliverable 2/3:
    • Design Document
    • Test Plan (without results)
    • User Documentation (man page)
  • Deliverable 3/3: Remaining documents
    • Test Plan (with results)
    • Code
    • Process Assessment Document