Object-Oriented Analysis and Design with Applications - Booch