Software engineering foundations : a software science perspective - Wang, Yingxu (Auerbach, 2008)