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