Software engineering: theory and practice - Pfleeger, Shari Lawrence (Pearson Education, 2002)