why UML? to make Marty believe you're doing work establish relationships btwn classes force honesty about your understanding of your project formal representation of classes w/o committing to a language generate code from UML when UML? during design phase, before coding dark alley with existing code when testing see higher level behavior what doesn't go in a UML diagram? helper functions duplicates trivial (get / set) methods Poker game classes Deck Hand Card PokerGame, Table Player -> Human Computer Dealer Round current players pot each player's bet kind of round: betting or playing