C++ project development process record chapter 2 source code