Subsystem Definition 20% ------------------------- The expected subsystems are: command, gui, connection, data model Variations from this are acceptable provided there is no coupling in the design. Subsystem interactions 20% -------------------------- Check carefully how subystems interact. The best design is the one where a developer can replace one subsystem with another equivalent implementation (e.g. a web gui interface instead of desktop gui interface) without changing a single line of code in other subsystems. This could be achieved by using interfaces across subsystems, a facade, or by sending/recieving general purpose data structures (e.g. hashtable) between subsystems. If all subystems instantiates classes from other subsystems -10% If only one subsystem instantiates classes from other subsytems -5% Class Design 20% ------------------ This portion is similar to what you were checking for in the first assignment. We need to make sure that they can identify classes properly and have composition, aggregation, inheritance in their design where applicable. Design Patterns Usage 20% -------------------------- The students are required to use the following design patterns command, (all operations inherit from Command) object pool (could be used in maintaining commands or any other classes) facade (typically associated with a subsystem) singleton iterator observer chain-of-responsibility Documentation 20% ------------------ - Attributes and operations for each indentified class 5% - Preconditions and post-conditions for each operation 10% - Proper UML diagrams 5% - Document difficult to print -5% Team evaluation; ---------------- If 2 team members (or more) complain that a member X is not working then subtract 30% from X's grade. If 2 team members (or more) complain that a member X has a communication problem, then subtract 15% from X's grade. If 2 team members (or more) complain that a member X is not attending meetings (but working and doing his/her share), then subtract 10% from X's grade. If 2 team members (or more) complain that a member X is responding too late to team communication, then subtract 5% from X's grade.