Head first object-oriented analysis and design - McLaughlin, Brett (O'Reilly, 2007)