Classical and object-oriented software engineering - Schach (Irwin, 1996)