Software engineering - Sommerville, Ian (Pearson Education, 2004)