Information Technology Reference
In-Depth Information
suppose someone from the Treasurer's Office updates a student's
financial account, recording that a payment was made. That
worker now has some privileges because she or he is already in
the system. If the program were not sufficiently careful, the pro
gram might also allow access to the student's grade information
rather than limiting access to only the financial information. Such
access should be denied, and in a direct test the person from the
Treasurer's Office would not be able to view the grade data.
However, trouble might arise from a sequence of events. Because
the person from the Treasurer's Office had made changes to the
account and then tried to access the student's grades, she or he
was able to circumvent the security that regulates access.
Although this example may be relatively easy to anticipate and
check, computer programs often have dozens, hundreds, or even
thousands of interacting components. By themselves, each may
function smoothly, but certain sequences of events may disrupt
that normal processing, producing errors.
What if all the interacting components of a program
are error-free? What else can cause errors?
A third type of difficulty may arise when several programs are
running on a system or when several users access the system at the
same time. For example, recall that in Chapter 4, a husband and
wife decided to withdraw $50 from different branches of the bank
at the same time. In most cases, the processing for withdrawals
would yield the correct result, and $100 would be deducted from
the couple's bank account. However, Chapter 4 also identified a
special sequence of events that resulted in the couple's two requests
yielding incorrect balance updates; only $50 was removed from
their account. In cases where an unusual sequence of events pro
duces inaccurate results, programs could be tested at length over a
long period of time, and the special sequence might never appear
during testing. The error, however, could arise unexpectedly at any
time during actual use. When that precise sequence of events does
happen and problems occur, the root of the problem is particularly
difficult to track down and resolve. We will return to this general
topic in Chapter 9, when we address questions on networking and
distributed systems.
 
Search WWH ::




Custom Search