A Concise Introduction to Software Engineering - Jalote, Pankaj (Springer London, 2008)