This is a Team assignment.

Due: see below - weekly demo/status report starts Feb 1st

Update 2/11 - added a schedule for the weekly meetings

Team Project

This assignment documents the requirements and expectations for the team project you proposed in Assignment 1.

Version Control

You must use a version control system. I strongly recommend using Git and hosting your project on Github. You could also use Assembla or Bitbucket for hosting.

If you are considering using a version control system or hosting service other than the ones mentioned above, please see me. I am happy to provide assistance setting up and using Git, but if you use another version control system, you're on your own.

Issue Tracking

You should use an issue tracking system to keep track of all development tasks. Specifically, the following kinds of tasks should be managed using issue tracking:

  • Requirements that your team has selected to be implemented
  • Bugs that have been found and need to be fixed
  • Enhancements to existing features
  • User interface changes

Each team member who works on an issue should log his/her activity in the issue-tracking system.

Github has an excellent issue tracking system.

Unit Testing

All of your problem domain classes should have unit tests. If you are using Java, then use JUnit to implement your unit tests. Whatever language and development environment you choose, your unit tests must be automated.

Your unit tests should achieve high test coverage (100% method coverage for public methods, and at least 90% statement coverage of public methods.

Weekly meeting

On Fridays (starting on Feb 1st) I will meet with each group for 10 minutes. You should come prepared to demonstrate the progress your group has made. Because our time will be limited, your team should be ready to give a live demo by the time class starts (or shortly thereafter).

Grading of weekly meeting: I will give your group a grade based on whether I think you are making adequate progress, on a scale of 0 (no progress) to 1 (excellent progress). A score of .8 or higher means I think you are making adequate progress with a comfortable safety margin.

Schedule

What I would like to see:

Date I would like to see
Feb 8 Use cases, analysis model
Feb 15 Version control set up, implementation of one or more problem domain classes (with unit tests), issue tracker set up with some initial tasks in it
Feb 22 Initial user interface
Mar 1 More progress on user interface
Mar 15 Minimal working system
Mar 22 At least one view in UI