What Every Engineer Should Know about Software Engineering by Phillip A. Laplante, Philip A. Laplante & Laplante A.