Object-oriented Software Construction (book/cd-rom) [with] by Bertrand Meyer