View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Summer 2005 Milestone 2


In this milestone you will implement a basic fish tank with 2 fish. Fish can be fed, they grow, and complete the circle of life: fish die if they are fed too much, too little, or if they live to a ripe old age. This will give you experience with a bigger chunk of code. Additionally, it lets you try your hand at design with a relatively simple problem; you must go through the 2340 process of scenarios, CRC cards, and class diagrams for this milestone, and you must create some SUnit tests.

Additionally, you must submit a description of two more fishtank denizens of your own. Any kind of creatures or other objects are fine so long as they are at least as complicated as the required fish. Email your submission to the instructor to check whether it is okay; you will finalize your specification for Milestone 3.


When a new fish tank is created it should have 2 baby fish in it.

There must be some way for a user to add a new food pellet to your tank.

Fish food pellets have the following behaviors:

Your fish should have the following behaviors:

It must be possible to open multiple fish tanks in one Squeak image, so that serious fish enthusiasts can play with five tanks at once.

All other details are up to you WITHIN REASON. You can have your 2+-phase animation look however you like; you can have your life phases look however you like; you can have food pellets drift to the bottom at any speed.


Note about collaboration tools

There is no requirement that your team has to use CVS or any other version control system. Configuration control systems do make code exchange and work easier, though. I recommend you look at using Collaboration Tools of some kind.

Regression Testing

Milestones 4 and 5 will require that your previous functionality still works. By having your tests available in SUnit, you can quickly verify this: just hit the RUN button in an SUnit test runner. Don't be some of the many students who focus so hard on the new requirements that they forget to check that the old functionality is still present – it's a needless way to lose points.


Link to this Page