Encyclopedia Of Software Engineering by John J. Marciniak