Fundamentals of Software Engineering - Ghezzi, C; Jazayeri, Mehdi; Mandrioli, Dino (Prentice Hall, Pearson Education, 2003)