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