Principle of Software Engineering and Design - Alan C. Shaw (Prenhallindo)