Object-oriented analysis and design with applications - Booch, Grady (Boston Pearson, 2007)