Software Development for Engineers by William Buchanan