Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ТРПП 2 семестр.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
969.22 Кб
Скачать

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

Используемые термины

При определении надежности ПП пользуются следующим! принятыми терминами.

Надежность — состояние, позволяющее избежать поврежде­ний в момент совершения ошибки. Ошибки ПП происходят в сш дефектов или ошибок проекта, кодирования, организационным ошибок, неадекватной отладки и ошибок тестирования (опреде­ления понятиям «ошибка» и «дефект» даны в подразд. 5.4.3).

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

Проблема — отклонение от заданных технических характерис­тик или ожидаемых результатов.

Ошибка при обработке — вывод некорректных результатов npi выполнении процесса обработки.

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

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

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

Устойчивость — см. определение в подразд. 8.4.

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

Надежность считается ключевым показателем качества ПП. Особое внимание обеспечению надежности ПП уделяется в силу

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

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

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

Процесс создания падежного ПП в отличие от аппаратного обеспечения не зависит от времени, что демонстрируют модели надежности аппаратного обеспечения и ПП, имеющие вид тра­диционных U-образных кривых, представленных соответственно На рис. 13.1 представлена топология факторов качества, пред­ложенная Р. Макколом, Б. Ричардсом и С.Уолтерсом в 1977 г.

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

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

Рисунок. 27- Топология факторов качества программною продукта

Корректность Эффективность Целостность Надежность Применимость

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

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

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

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

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

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

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

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

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

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

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

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