Managing Software Development Project 5: Building the core of SDG(CSP) Spring 2008 Karl Lieberherr Out: Feb. 25, 2008 Due date: March 3, 2008 In any software development project, it is important to polish the requirements and to practice proper separation of concerns at the requirements document level. PART 1. =========================================================== Check the new requirements/design document: http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/requirements/ (sdg.pdf) for completeness by comparing it with your requirement document you wrote at the beginning of the course. PART 2: =========================================================== Testing your software is of utmost importance in any software development project. We produce a program that supervises an on-going game and checks for any violation of rules. Implement the checker described in: http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/requirements/ (sdg.pdf) Notice that this checking is independent of the details of the derivatives. One good approach is to write an archiving aspect that creates the transaction sequence or to use the history directly that your player produces. Then you write a checker to check the sequence. A good way to do this is to use DemeterF. On the pass down you collect a well-organized store that gives you information quickly. On the way up you collect information about any violation. PART 3: =========================================================== Read chapter 7 of the text book and make connections to the SDG project. Possible topics: Distinction between requirements, policy and implementation. Overspecification in requirements documents. Use of a project glossary. Don't Think Outside the Box - Find the Box. Let your instincts contribute to your performance. Prototyping. See Milena's and Jason's document: SDG2.doc See my document: sdg.pdf in http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/requirements/ to have requirements/design documents to discuss. PART 4: =========================================================== The text book states the Law of Demeter incorrectly. Point to the part that is wrong. The original formulation is here: http://www.ccs.neu.edu/research/demeter/biblio/LoD.html