Software engineering - Sommerville, Ian (Pearson Addison Wesley, 2004)