Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оценка надежности программного изделия и его эк...doc
Скачиваний:
2
Добавлен:
22.11.2019
Размер:
101.89 Кб
Скачать

Тема 9. Оценка надежности программного изделия и его экономическая эффективность

Понятие надежности и определение ее показателей.

Динамические модели надежности.

Статические модели надежности.

Основные показатели экономической эффективности.

Оценка экономической эффективности программного изделия.

Понятие надежности и определение ее показателей.

Надежность программного изделия - характеристика качества программного изделия, определяющая такое свойство программного изделия, как сохранение работоспособности в течение определенного периода времени [33].

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

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

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

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

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

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

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

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

Динамические модели надежности.

Исходные данные для динамической модели, собираются в процессе тестирования ПС в течение фиксированных или случайных временных интервалов. Каждый интервал - это стадия, на которой выполняется последовательность тестов и фиксируется некоторое число ошибок.

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

Предполагается, что до начала тестирования в ПС имеется ET ошибок. В течение времени тестирования r обнаруживается Eс ошибок в расчете на команду в машинном языке.

Таким образом, удельное число ошибок на одну машинную команду, оставшихся в системе после времени тестирования, равно:

(3.1)

где IT — общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.

Значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся в ПС после израсходованного на тестирование времени r.

где С — некоторая константа; t — время работы ПС без отказа. Тогда, если время работы ПС без отказа t отсчитывается от точки t = 0, а r остается фиксированным, функция надежности, или вероятность безотказной работы на интервале времени от 0 до t, равна:

Из величин, входящих в формулы (2) и (3), не известны начальное значение ошибок в ПС (Ет) и коэффициент пропорциональности – С.

Для их определения прибегают к следующим рассуждениям. В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования r складывается из времени каждого прогона:

r = r1 + r2 +r3 + ......+ rn

Предполагая, что интенсивность появления ошибок постоянна и равна λ, можно вычислить ее как число ошибок в единицу времени

где Аi- — количество ошибок на i-м прогоне.

Имея данные для двух различных моментов тестирования rA и rb, которые выбираются произвольно с учетом требования, чтобы Ec(rb) > Eс(ra), можно сопоставить уравнения (3) и (5) при ra и rb.

Вычисляя отношения (6) и (7), получим:

Подставив полученную опенку параметров Ет в выражение (6), получим оценку для второго неизвестного параметра:

Получив неизвестные ЕТ и С, можно рассчитать надежность программы по формуле (2). Пример. В тестируемой программе 1000 операторов. В процессе последовательных х прогонов получены следующие данные (таблица 3.2):

№ прогона

1

2

3a

4

5

6

7

8

9

10b

Количество ошибок

5

4

2

5

7

2

3

3

2

3

Время прогона (c)

4

4

3

4

6

4

4

5

3

2

Решение. Нужно выбрать две точки (два момента времени) так, чтобы число ошибок, найденных на интервале А ÷ В, было больше, чем на интервале от О ÷ А.

Eс(ra) = 11/1000 = 0,011 – ошибка, найденная соответственно на этапе тестирования О ÷ А;

Ec(rb) = 0,025 – то же на этапе А ÷ В;

ra = 11 – время от начала тестирования до A.

rb = 28 – время на интервале А ÷ В .

λa = 11/11 = 1 - интенсивность выявления ошибок на 1-м интервале.

λb = 25/28 = 0,89 - интенсивность выявления ошибок на 2-м интервале.

ET = 1000(0,89/1*1*0,11-0,025)/0,89/(1-1) = 1000(0,0098-0,025)/(0,89-1) =

= -5,2/-0,11 = 138 ошибок.

С = 1/(0,138 – 0,036) = 1/0,102 = 9,8

Подставляя различные t (время) при r = 39, можно рассчитать по формуле (2) вероятность безотказной работы в течение соответствующего времени. 100 100