Object-Oriented Software Construction, 2nd ed (1997)

by B Meyer