Object-oriented analysis and design with applications - Booch, Grady (Addison Wesley, 2000)