Software engineering an object-oriented perspective - Braude, Eric J. (Wiley, 2001)