Software engineering : theory and practice - Pfleeger, Shari Lawrence. (Pearson Prentice Hall, 2010)