Software engineering theory and practice - Pfleeger, Shari Lawrence (Pearson Prentice Hall, 2006)