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