Software engineering An engineering approach. - Peters James F; Pedrycz Witold (New York John Wiley, 2000)