CSPP 51090 & CMSC 22001: Software Construction Assignment 5: Contracts |
Due: November 2, 2004 @ 5pm |
For this assignment, you should add contracts to your Parcheesi implementation. For some of the contracts, blame for failure lies with the player and for some, blame lies with the administrative infrastucture. For those where blame lies with the administrator, abort the program when a failure is detected. For those where the blame lies with the player, inform the player that they have violated the contract (if possible) and kick them out of the game, but do not stop the game for the other players. Behavioral Contracts The following invariants govern the interactions in Parcheesi:
Sequence Contracts Here are two of the primary interfaces with sequence contracts:
Your own contracts As we discussed in class, contracts belong at key interfaces in the program. The above contracts protect the administration of the game from the players (and vice-versa). Find another place in your own organization of your program that would benefit from contracts and work our some contracts to add to it. [4pts] |
CSPP 51090 & CMSC 22001: Software Construction |