Working in groups of two or three, identify a small board, card, or video
game, find the rules (or detailed description) for the game online, apply
the nouns and verb technique to identify potential classes, attributes, and
operations, and draw a UML class diagram capturing the domain
classes. "Small" means a game like Battleship, Angry Birds, or Tetris (or
maybe a newer one!) that has a relatively few elements and simple game
play.
- Check with your instructor on group assignments. They are often
specified in Canvas.
- If you want to review what a domain diagram looks like,
see this page. But what you
learned in class about identifying domain classes is sufficient for this
assignment.
- Do not use games covered in lab assignments. For example, variants on
checkers or the license plate game are not appropriate since we have
already analyzed these. Games with many different pieces, such as chess,
typically lead to diagrams that are too complex.
- There must be between 6 and 15 classes on the diagram. Feel free to
simplify the game if you have too many classes, though 15 is not a hard
limit.
- Ensure your class names (and names in general) are meaningful. For
example, RedPiece is not descriptive, but RedCapturePiece would indicate
a piece that captures others. Be sure to use singular names unless the
class represents a collection!
- The diagram must include inheritance, associations, and
multiplicities other than 1. There should be no part of the diagram that
is completely disconnected from another part - that is, you should be
able to trace a path from any class to any other by following
associations and generalization arrows.
- Give key attributes and methods for several classes, but you do not
have to be comprehensive. Think in terms of operations the gamer would
recognize like "explode" and "hideInRoom".
When you are finished, upload a PDF containing
- The name of the game you chose.
- The game rules or description with nouns and verbs highlighted in a
reasonable way (for instance, circle nouns and underline verbs).
-
Your class diagram, either drawn by hand or using Enterprise Architect.