The Essence of Software: Why Concepts Matter for Great Design - Jackson (IEEE, 2003)