An integrated approach to software engineering - Jalote, Pankaj (Texts in computer science, 2005)