S/W Quality: Dependability (2)
Menyambung tulisan sebelumnya di sini, berikut adalah penjelasan tiga elemen dependability :
- Availability – readiness for correct service
- Reliability – continuity of correct service
- Safety – absence of catastrophic consequences on the user(s) and the environment
- Integrity – absence of improper system alteration
- Maintainability – ability to undergo modifications and repairs
- Fault: A fault (which is usually referred to as a bug for historic reasons) is a defect in a system. The presence of a fault in a system may or may not lead to a failure, for instance although a system may contain a fault its input and state conditions may never cause this fault to be executed so that an error occurs and thus never exhibits as a failure.
- Error: An error is a discrepancy between the intended behaviour of a system and its actual behaviour inside the system boundary. Errors occur at runtime when some part of the system enters an unexpected state due to the activation of a fault. Since errors are generated from invalid states they are hard to observe without special mechanisms, such as debuggers or debug output to logs.
- Failure: A failure is an instance in time when a system displays behaviour that is contrary to its specification. An error may not necessarily cause a failure, for instance an exception may be thrown by a system but this may be caught and handled using fault tolerance techniques so the overall operation of the system will conform to the specification.
- Prevention; deals with preventing faults being incorporated into a system. This can be accomplished by use of development methodologies and good implementation techniques.
- Removal; can be sub-divided into two sub-categories: Removal During Development and Removal During Use. Removal during development requires verification so that faults can be detected and removed before a system is put into production. Once systems have been put into production a system is needed to record failures and remove them via a maintenance cycle.
- Forecasting; predicts likely faults so that they can be removed or their effects can be circumvented.
- Tolerance; deals with putting mechanisms in place that will allow a system to still deliver the required service in the presence of faults, although that service may be at a degraded level.
Untuk sebuah faktor kualitas saja, kajiannya lumayan juga ya… 🙂
Categories: software quality