Software development : - Brugali, Davide (Addison-Wesley, 2005)