At left is the Problem-solving phase and at right is the Implementation phase. In the problem-solving phase, arrows indicate the flow of labeled boxes from top to bottom, as follows:

Arrows also point from the Desktop testing box back to each of the previous two boxes; all three of these are grouped together in a dashed box.

An arrow points from the Algorithm design box to a box in the implementation phase labeled “Translating to C++", which in turn points down to a box labeled “Testing", which in turn points back up to the Translating to C++ box. These two boxes are grouped together in a dashed box. Another arrow points from the Testing box down to a box labeled “Working program" below the dashed box.