Review Questions
1. Describe the various steps of the programming process:
a. “Requirements”
b. “Specification”
c. “Code Design”
d. “Coding”
e. “Testing”
f. “Debugging”
g. “Release”
h. “Maintenance”
i. “Revision and updating”
Requirements
The requirement document describes, in very general terms, what is wanted.
Specification
A description of what the program does.
Code design
The programmer does an overall design of the program.
Coding
Writing the program.
Testing
A description of how to test the program.
Page 22
Debugging
Locating and removing errors in the program.
Release
The program is packaged, documented, and sent out into the world to be used.
Maintenance
Correction of bugs in released software.
Revision and updating
Adding new features to the program and going through the process again.
2. Why do we put each program in its own directory?
To keep all the files for this program together in one place and to have a place that isn’t
cluttered with irrelevant files.
3. What is “Fast Prototyping?”
Writing a very small first version of the program that allows the programmer to examine
and debug a small program before making it into a large program.
4. What is the make utility and how is it used?
The make utility is a programmer’s assistant that decides what commands need to be run
to produce a program and runs them. To use this program, you create a description of
how your program is built in a file called Makefile and type make on most systems. If you
are using Microsoft C++, you need to type nmake .
5. Why is a “Test Plan” necessary?
If a bug is found, it gives the programmer the steps needed to reproduce it. Also when
modifications are made it serves as a guide to regression testing.
6. What is “Electronic Archeology?”
The art of going through someone else’s code to figure out amazing things like how and
why it runs.
7. What tools are available to aid you in going through some one else’s code?
This varies from system to system. Most of the common ones are the text editor and grep .
Practical C++ Programming by manish baranwal
Start from the beginning
