What every engineer should know about software engineering - Laplante, Phillip A. (What every engineer should know ;, 2007)