Information Technology Reference
In-Depth Information
Software Distinct Characteristics as Compared with Hardware 3
TABLE 14.1
Characteristic
Differentiation from Hardware
Wear Out
Software does not have energy-related wear.
Reliability prediction
Software reliability cannot be predicted from any
physical basis because it depends completely on
human factors in design.
Redundancy
We simply cannot improve software reliability if
identical software components are used.
Failure cause
Software defects are mainly design defects.
Repairable system concept
Periodic restarts can help fix software problems.
Time dependency and life cycle
Software reliability is not a function of operational time.
Environmental factors
Do not affect software reliability, except it might affect
program inputs.
Interfaces
Software interfaces are purely conceptual other than
visual.
Failure rate motivators
Usually not predictable from analyses of separate
statements.
Built with standard components
Well-understood and extensively tested standard parts
will help improve maintainability and reliability. But
in software industry, we have not observed this trend.
Code reuse has been around for some time, but to a
very limited extent. Strictly speaking, there are no
standard parts for software, except some standardized
logic structures.
reliability estimation, analysis, and usage. Hardware faults are mostly physical faults,
whereas software faults are design faults, which are harder to visualize, classify, de-
tect, and correct (Dugan and Lyu, 1995). In software, we can hardly find a strict cor-
responding counterpart for “manufacturing” as a hardware manufacturing process if
the simple action of uploading software modules into place does not count. Therefore,
the quality of software will not change once it is uploaded into the storage and start
running. Trying to achieve higher reliability by simple redundancy (duplicating the
same software modules) will not enhance reliability; it may actually make it worse.
Table 14.1 presents a partial list of the distinct characteristics of software compared
with hardware is presented in (Keene, 1994) and in Figure 14.1:
All software faults are from design, not manufacturing or wear. Software is not
built as an assembly of preexisting components. Off-the-shelf software components
do not provide reliability characteristics. Most “reused” software components are
modified and are not recertified before reuse. Extending software designs after prod-
uct deployment is commonplace. Software updates are the preferred avenue for
product extensions and customizations. Software updates provide fast development
turnaround and have little or no manufacturing or distribution costs.
3 See Jiantao Pan, at http://www.ece.cmu.edu/
koopman/des s99/sw reliability/presentation.pdf.
 
Search WWH ::




Custom Search