Software engineering - Aggarwal, K. K (New Age International, 2008)