Object Oriented Analysis and Design with Applications - Booch, Grady (2008)