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