Information Technology Reference
In-Depth Information
Unfortunately, errors or bugs arise frequently in many pro
grams, particularly in large ones, and the next step of program de
velopment involves finding errors and correcting them. It can be
very dangerous to rely on the output of a program until you are
confident that the results are correct. Thus, programs are usually
run with special data, the results of which are known ahead of time.
This testing allows the results from a program to be compared with
the previously known results to determine if errors are present.
When errors are found, it is necessary to find the cause of each er
ror and to correct it; this process is called debugging . When work
ing on large projects, this process of testing and debugging can take
considerable time and effort.
Maintaining Programs: At the beginning of this section, it was
observed that, in giving assignments, an instructor sometimes will
need to clarify or expand the statement of the problem, so that stu
dents understand what they need to do. In addition (although it may
be hard to believe), teachers have been known to change their minds
about an assignment. In such cases, students may try to revise any
work they have already done in order to meet the new specifications
of the problem, but, if the problem has changed too much, the en
tire assignment may need to be done over.
This same situation commonly arises in working with complex
problems that computers may help solve. For example, changes in
tax laws or accounting procedures may require different calcula
tions or records to be processed. Companies producing computer
programs that calculate state and federal income taxes must stay up
to date and release new versions each year to ensure that the pro
grams are making the current computations. Further, as people gain
experience with a computer program, they may suggest ways the
program might be changed to make it more useful. Feedback forms
or customer surveys are often used to solicit input on how a pro
gram can be improved.
More generally, programs may need to be changed to accommo
date new or changed circumstances or to correct errors that may not
have been found during testing. With short programs, such work
can often be accomplished simply by rewriting the algorithm or
code, but, in more complex settings, rewriting is simply too time
consuming and expensive. Thus, old programs are frequently re
worked to meet the revised specifications; this process is called
maintenance . For large projects, this maintenance effort may extend
Search WWH ::




Custom Search