Shaw M. Engineering Problem Solving. A Classical Perspective 2002