Designing Object Oriented Software - Rebecca (Prentice Hall of India, New Delhi)