MC0071 ± Software Engineering
Book ID: B0808 & B0809
There are three kinds of measurement, which can be made when assessing the reliability of asystem:1) The number of system failures given a number of systems inputs. This is used to measure thePOFOD.2) The time (or number of transaction) between system failures. This is used to measure ROCOFand MTTF.3) The elapsed repair or restart time when a system failure occurs. Given that the system must becontinuously available, this is used to measure AVAIL.Time is a factor in all of this reliability metrics. It is essential that the appropriate time unitsshould be chosen if measurements are to be meaningful. Time units, which may be used, arecalendar time, processor time or may be some discrete unit such as number of transactions.
rogramming for Reliability:
There is a general requirement for more reliable systems in all application domains. Customersexpect their software to operate without failures and to be available when it is required.Improved programming techniques, better programming languages and better qualitymanagement have led to very significant improvements in reliability for most software.However, for some systems, such as those, which control unattended machinery, these µnormal¶techniques may not be enough to achieve the level of reliability required. In these cases, special programming techniques may be necessary to achieve the required reliability. Some of thesetechniques are discussed in this chapter.Reliability in a software system can be achieved using three strategies:·
This is the most important strategy, which is applicable to all types of system. The design and implementation process should be organized with the objective of producing fault-free systems.·
This strategy assumes that residual faults remain in the system. Facilities are provided in the software to allow operation to continue when these faults cause system failures.·
Faults are detected before the software is put into operation. The softwarevalidation process uses static and dynamic methods to discover any faults, which remain in asystem after implementation.