Java Reference
In-Depth Information
Chapter 3. Reliability
ISO/IEC/IEEE 24765:2010, Systems and software engineering—Vocabulary , defines re-
liability as the ability of a system or component to perform its required functions under
stated conditions for a specified period of time [ISO/IEC/IEEE 24765:2010]. ISO/IEC
9126-1:2001, Software engineering—Product quality—Part 1: Quality model , provides a
similar definition of reliability as the capability of the software product to maintain a spe-
cified level of performance when used under specified conditions [ISO/IEC 9126-1:2001].
Software reliability is an important factor affecting system reliability. It differs from
hardware reliability in that it reflects design perfection, rather than manufacturing perfec-
tion. Wear or aging does not occur in software. Limitations in reliability are the results of
faults in requirements, design, and implementation. Failures resulting from these faults de-
pend on the way the software product is used and the program options selected rather than
on elapsed time.
ISO/IEC/IEEE 24765:2010 defines software reliability as the probability that software
will not cause the failure of a system for a specified time under specified conditions [ISO/
IEC/IEEE 24765:2010]. The probability is a function not only of the inputs to and use of
the system, but also of the existence of faults in the software. The inputs to the system de-
terminewhetherexistingfaults,ifany,areencountered.Thehighcomplexityofsoftwareis
the major contributing factor to software reliability problems.
These guidelines deal with Java language features that can easily be misused by the un-
wary. The Java language allows a great deal of flexibility in the ways in which it is used,
but some of these uses can lead to obscure techniques and code that is difficult to under-
stand and maintain. By following these guidelines, programmers will produce code that is
less prone to bugs and runtime failure.
This chapter includes guidelines that
1. Help reduce errors, and are consequently important for developing reliable Java
code
2. Contain specific Java coding recommendations to improve software reliability
Search WWH ::




Custom Search