Programming and Problem Solving with Java

(やまだぃちぅ) #1

(^276) | Object-Oriented Software Design and Implementation
The point is this: Don’t hesitate to begin solving a problem because you are waiting for
some flash of genius that leads to the perfect solution. There is no such thing. It is better to
jump in and try something, step back and see if you like the result, and then either proceed
in the same direction or make changes. The CRC card technique is a way to easily explore
different design choices and keep track of them.


Software Engineering


Humans have come to depend greatly on computers in many aspects of their lives. That re-
liance is fostered by the perception that computers function reliably; that is, they work cor-
rectly most of the time. However, the reliability of a computer depends on the care that is taken
in writing its software.
Errors in code can have serious consequences. Here are a few examples of real inci-
dents involving software errors. An error in the control software of the F–18 jet fighter
caused it to flip upside down the first time it flew across the equator. A rocket launch went
out of control and had to be blown up because a comma was typed in place of a period in
its control software. A radiation therapy machine killed several patients because a software
error caused the machine to operate at full power when the operator typed certain com-
mands too quickly.
Even when the software is used in less critical situations, errors can have significant ef-
fects. Examples of such errors include the following:
 An error in your word processor that causes your term paper to be lost just hours
before it is due
 An error in a statistical package that causes a scientist to draw a wrong
conclusion and publish a paper that must later be retracted
 An error in a tax preparation application that produces an incorrect return, lead-
ing to a fine
Free download pdf