This assignment is a logical continuation of the case study presented in the lectures requiring you to develop features on top of an existing application. The code base you will be using is an implementation of the "maze game" discussed in the lectures.
Start by spending some time exploring the structure of the code, understand the roles each class plays within the system. Modify the code by adding some locations and exits as a way of getting familiar with it.
You will be required to implement a variety of user stories using the Boost methodology. The "warm up" and some "sets" have been implemented already and your task is to implement a number of further "sets" using the Boost methodology (no "warm down" is required).
The Boost methodology mandates the use of pair programming and the assignment will be performed in pairs (and pairs will be formed from within a lab group).
Marks will be allocated according to the functionality of your code in addition to the elegance and extensibility of your design and the quality of your documentation.
You are free to take ideas presented in the lectures and integrate it into your existing codebase however you must work within the code base given to you by your lecturer for this assignment.
Each student pair is required to extend the existing code base by implementing the following user stories:
Describe your implementation of each pattern in your report by beginning with the name of the pattern and then giving the structure of the pattern in UML, as shown in the text by Gamma et. al.
Briefly state the motivation of the pattern then describe your implementation of the pattern in the MazeGame.
Use class diagrams to compare your final implementation of the pattern with the structure given by Gamma et. al. Finally clearly explain how your implementation improves the code.