Developing C++ Software, 2nd Edition