A concise introduction to software engineering - Jalote, Pankaj (Undergraduate topics in computer science / series editor Ian Mackie, 2008)