Software engineering : a practitioner's approach ([S.l] : Mc Graw Hill, 2005)