Software engineering an object-oriented perspective - Braude (John Wiley & Sons, 2001)