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