Object oriented design : with applications - Booch, Grady. (The Benjamin Cummings, 1991)