Software engineering fundamentals - Behforooz, Ali; Hudson, Frederick J.