Object- Oriented Software Engineering - Bernd Bruegge (Prentice- Hall International, Inc, 2000)