Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛАВА_4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.4 Mб
Скачать

Основные понятия о надежности программных продуктов и методах ее обеспечения

Надежность считается ключевым показателем качества ПП. Особое внимание обеспечению надежности ПП уделяется в силу того, что этот показатель наиболее важен для конечного пользо­вателя, а факторы качества, связанные с изменением ПП и раз­работкой его новых версий, имеют определяющее значение для разработчиков ПП и групп технической поддержки. Вряд ли кому понравится программа либо полностью неработоспособная, либо некорректно работающая.

На рис. 13.1 представлена топология факторов качества, пред­ложенная Р.Макколом, Б.Ричардсом и С.Уолтерсом в 1977 г.

Издание «IEEE. Standart Glossary of Software Engineering Terms» («IEEE. Перечень стандартных терминов, используемых в програм­мной инженерии») определяет надежность ПП как способность системы или ее компонента выполнять требуемые функции в за­данных условиях на протяжении указанного периода времени. Сте­пень надежности ПП непосредственно зависит от совершенства процесса разработки. Основной показатель, влияющий на надеж­ность ПП — сложность разрабатываемых программ.

Процесс создания надежного ПП в отличие от аппаратного обеспечения не зависит от времени, что демонстрируют модели надежности аппаратного обеспечения и ПП, имеющие вид тра­диционных U-образных кривых, представленных соответственно на рис. 13.2 и 13.3, где — планируемое число сбоев.

Рис. 13.2. U-образная кривая надежности аппаратного обеспечения

Методы оценки надежности ПП окончательно еще не разрабо­таны, однако если не выполнять адекватную оценку данных о слу­чившихся сбоях, невозможным становится и выполнение расши­ренных статических моделей, требующихся для анализа реальной степени надежности. До сих пор еще не был разработан ни один надежный количественный метод оценки надежности, не содер­жащий чрезмерное число ограничений.

Степень надежности ПП можно улучшать с помощью различ­ных методов, тем не менее, трудно достичь нужного соотношения между временем разработки, ее бюджетной стоимостью и кажу­щейся высокой ценой, уплаченной за достигнутую надежность ПП.

В отличие от аппаратного обеспечения ПП с течением времени не «изнашивается», просто выявляются все новые и новые его дефекты. Изображенная на рис. 13.3 U-образная кривая демонстрирует распределение сбоев на протяжении эксплуатации про граммы. Проявление сбоев в ПП отличается от характера сбоев аппаратуры, причем их вероятность всегда выше нуля.

Рис. 13.3. U-образная кривая надежности программных продуктов

При определении размера требуемых инвестиций для обеспе­чения желаемой надежности ПП необходимо учитывать вопро­сы, связанные с риском появления ненадежных программ. Ба­ланс между затратами и достигаемой надежностью при проекти­ровании ПП определяется критерием уменьшения указанного риска. Если достигаемая надежность не позволяет значительно уменьшить риск, то на ее обеспечение не стоит тратить допол­нительных средств.

Большинство проблем надежности ПП не являются жизненно важными. Основная масса проблем, связанных с достижением надежности, относится к тестированию ПП.

Остановимся на рассмотрении четырех методов, обеспечива­ющих создание высоконадежного ПП:

прогнозирование ошибок — создание моделей надежности, анализ исторических данных, сбор информации об ошибках, про­филирование операционной среды;

предотвращение ошибок — использование формальных методов, повторное использование программ, применение инструментов конструирования программ;

устранение ошибок — формальное инспектирование, верификация и аттестация;

обеспечение отказоустойчивости — использование методов мониторинга, верификация решений, анализ избыточности, исключительных ситуаций.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]