Object oriented analysis and design - Brett D. McLaughlin (O'Reilly media, 2007)