Essentials of software engineering - Frank Tsui et.al. (Burlington Jones & Barlett learning, 2018)