Software engineering - Sommerville, Ian (Pearson Education, Inc., 2011)