Software engineering - Sommerville, Ian (Addison-Wesley, 2001)