CMPM171, Winter 2015, Section 01: Technical Design Document Evaluation

Assessment of the sprint technical design document will focus on the following aspects, as presented during one or more team meetings focusing on the technical design documents.

(50 points) UML Class Diagram.

  • Format. Does the diagram follow UML formatting conventions for classes, class variables, methods, inheritance arcs, and containment arcs?
  • Completeness. How complete is the diagram? Do all classes list important methods and class variables? Are all classes that will be in the sprint described? Does the diagram describe audio, input handling, collision detection, updating, and drawing (if relevant)? For the user stories to be implemented in this release, does the design describe the classes necessary to implement all of the user stories?
  • Inter-class relationships. Does the document have the appropriate arcs for inheritance and containment relationships among classes?
  • Consistency. Are all of the classes in the diagram consistent with the classes and methods used in the UML sequence diagrams?
  • Connections to frameworks. Does the diagram clearly show where your classes connect (inherent) from framework classes, such as SFML or game engine classes?

(30 points) UML Sequence Diagram

  • Format. Does the sequence diagram follow standard formatting conventions for UML sequence diagrams, and for labeling message passing among objects, including create and destroy stereotypes?
  • The following sequences should be present for games that create their own game engines:
    • Initialization. Does the sequence show the player class, menus, opponent classes, levels, and audio being created and intialized? Does the diagram clearly show objects being created?
    • Menu system. If the game has a sequence of menus, is the handling of input shown, and the prorgression from menu to menu displayed?
    • Main game loop. Does the sequence show the main steps in game processing, including input gathering, state update, collision checking, drawing, end-of-level checks, etc.?
    • Player collision. Does the sequence show what happens when the player has a collision with a wall, enemy, etc.? Does the diagram clearly show objects being destroyed, if needed?
    • Enemy collision. Does the sequence show what happens when an enemy object has a collision?
    • End of level. Does the sequence show the processing that occurs when the end of a level happens?

(20 points) Design revisions. If needed, how well is the design revised to accommodate changes resulting from a review of the design?