Head first object-oriented analysis and design - McLaughlin, Brett (Head first series., 2007)