Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
16 вариант.doc
Скачиваний:
13
Добавлен:
02.09.2019
Размер:
182.27 Кб
Скачать

4. «Надежность информационных систем»

16. Модели надежности программных средств. Аналитические статические модели.

Следует определить термин «надежность программного обеспечения». Принято считать, что надежность есть вероятность того, что при функционировании системы в течение некоторого периода времени не будет обнаружено ни одной ошибки.

Классификация моделей надежности программного обеспечения:

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

Аналитическое моделирование надежности ПС включает четыре шага:

1) определение предположений, связанных с процедурой тестирования ПС;

2) разработка или выбор аналитической модели, базирующейся на предположениях о процедуре тестирования;

3) выбор параметров моделей с использованием полученных

данных;

4) применение модели — расчет количественных показателей

надежности по модели.

Статические модели принципиально отличаются от динамических прежде всего тем, что в них не учитывается время появления ошибок в процессе тестирования и не используется никаких предположений о поведении функции риска X(t). Эти модели строятся на твердом статистическом фундаменте.

Модель Миллса. Использование этой модели предполагает необходимость перед началом тестирования искусственно вносить в программу («засорять») некоторое количество известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателей надежности по модели Миллса. Предполагается, что все ошибки (как естественные, так и искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования. Тестируя программу в течение некоторого времени, собирают статистику об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные.

Пусть после тестирования обнаружено n собственных ошибок программы и v искусственно внесенных ошибок. Тогда первоначальное число ошибок в программе N можно оценить по формуле Миллса:

где S – количество искусственно внесенных ошибок.

Вторая часть модели связана с проверкой гипотезы об N. Допустим, мы считаем, что в программе первоначально K ошибок. Вносим искусственно в программу S ошибок и тестируем ее до тех пор, пока все искусственно внесенные ошибки не будут обнаружены. Пусть при этом обнаружено n собственных ошибок программы. Вероятность, что в программе первоначально было K ошибок, можно рассчитать по соотношению

Формулу сию можно использовать только в случае, если обнаружены все S искусственно внесенных ошибок. Если же обнаружено только v искусственно внесенных ошибок, то применяют формулу

, где

Преимущества и недостатки модели.

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

Однако есть недостатки:

1) необходимость внесения искусственных ошибок (этот процесс плохо формализуем);

2) достаточно вольное допущение величины K, которое основывается исключительно на интуиции и опыте человека, производящего оценку, то есть допускает большое влияние субъективного фактора.

Модель Липова. Липов модифицировал модель Миллса, рассмотрев вероятность обнаружения ошибки при использовании различного числа тестов. Если сделать то же предположение, что и в модели Миллса. Модель Липова дополняет модель Миллса, давая возможность оценить вероятность обнаружения определенного количества ошибок к моменту оценки.

Модель Нельсона

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

В модели предполагается, что область, которой могут принадлежать входные данные программы, разделена на k непересекающихся областей Zi , i = 1, 2, …, k. Пусть pi – вероятность того, что для очередного выполнения программы будет выбран набор данных из области Zi. Значения pi определяются по статистике входных данных в реальных условиях работы программного обеспечения.

Пусть к моменту оценки надежности было выполнено ni прогонов программного обеспечения на наборах данных из области Zi , и ni- из этих прогонов закончились отказом. Тогда надежность программного обеспечения оценивается по формуле

Преимущества и недостатки модели. Основным преимуществом этой модели является то, что она была специально создана для определения надежности программного обеспечения, а не исходила из теории надежности аппаратуры, как другие модели (кроме модели Миллса), поэтому может использоваться для расчета надежности программного обеспечения на всех этапах его жизненного цикла.

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

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

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

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

где n+ – число успешных прогонов программного обеспечения;

ni- – число обнаруженных ошибок i-го типа, устраняемых с вероятностью pi;

d i – коэффициент, определяемый следующим образом:

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

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

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