Software engineering principles and practices - Jain, Deepak (Oxford, 2009)