Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_ИС.doc
Скачиваний:
270
Добавлен:
22.02.2015
Размер:
1.69 Mб
Скачать

6.4.1. О возможности построения априорных мнп

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

Еще труднее количественно оценить такое свойство программ, как сложность. Интуитивно понятно, что чем сложнее программа, тем больше вероятность появления ошибок в ПО. Но, если программа усложняется с целью повышения надежности, т.е. вводится программная избыточность, то пропорциональная связь надежности и сложности ПО будет уже не такой очевидной. Анализ статистических данных о фиксируемых ошибках из практики создания программных продуктов [6.4, 6.5] позволяет сделать следующее утверждение: «Процент ошибок практически не зависит от количества команд в программе, а зависит от сложности и разнообразия связей, логических условий и переходах в программе».

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

6.4.2. Непрерывные эмпирические модели надежности по (нэмп)

Для построения НЭМП используются следующие определения [6.5]:

Отказ – недопустимое отклонение характеристик процесса функционирования программы от требуемых.

Дефект – изъян программы, приводящий к отказу.

Ошибка – действие человека, вызывающее появлению дефекта в программе.

Одной из наиболее ранних и популярных НЭМП является модель Джелински – Моранды [6.5, 6.6]. Эти авторы предложили интенсивность отказов ПО описывать кусочно-постоянной функцией, пропорциональной числу неустранимых дефектов. После каждого обнаруженного при опытной эксплуатации ПО дефекта интенсивность отказов скачком уменьшается на постоянную величину, а в промежутках между обнаружением и устранением следующего дефекта остается постоянной величиной. Таким образом, модель основана на следующих допущениях:

  • случайное время между обнаружениями отказов в программе подчиняется экспоненциальному распределению;

  • λ – интенсивность отказов ПО пропорциональна количеству еще оставшихся не выявленными дефектов в программе.

Согласно этим допущениям вероятность безотказной работы ПО как функция времени ti равна

(6.1)

где ti- время между появлением (i-1) и i отказа;

(6.2)

С- коэффициент пропорциональности;

N- количество первоначально заложенных дефектов в программе.

Как видно из (6.2) , коэффициенты C, N - неизвестны, и их необходимо экспериментально определять. Недостаток модели состоит в том, что при неточном экспериментальном определении величины N интенсивность отказа λi может стать отрицательной.

Покажем определение искомых коэффициентов, используя метод максимального правдоподобия [6.8].

Функция правдоподобия – F (t1, t2,…tn), равная произведению плотностей вероятности времени появления отказов ПО, для определения неизвестных параметров должна быть максимальной:

(6.3)

где t1, t2,…tn – временные отрезки между проявлениями отказов в ПО при отладке или опытной эксплуатации.

Покажем, как можно воспользоваться выражением (6.3) для получения коэффициентов C, N.

Допустим [6.6], при отладке получены следующие значения наработки между отказами ПО: t1=10ч, t2=20ч, t3=25ч.

Необходимо определить, сколько в среднем времени система проработает до 4 отказа. Обозначим, к = 4.

(6.4)

Известно [6.8], что максимум функций F(t1, t2,…tn) и Ln F(t1, t2,…tn) имеет место при одних и тех же значениях искомых переменных.

(6.5)

Поскольку в точке максимума частные производные функции по неизвестным параметрам равны 0, получим систему из двух уравнений:

, (6.6)

(6.7)

Из (6.7) следует, что

(6.8)

Подставим (6.8) в (6.2):

(6.9)

Из (6.9) получим значение N методом перебора.

Если N = 3, то левая часть (6.9) равна 3(10+25+20)/(1/3+1/2+1) = 90, в правой части 3*10+2*20+1*25) = 95. При N = 4 слева получится 152, а справа – 150. При N = 5 получится 210 и 205 соответственно.

Следовательно, наименьшая ошибка в (6.9) будет при N = 4.

Из (6.8) С = (1/4+1/3+1/2)/ (10=20+25) = 0.02.

Из (6.2) λ4 = 0.02(4 - 3) = 0.02 (1/ч)

Отсюда средняя наработка программы до появления 4 ошибки .

Модель Шумана [6.5, 6.6] отличается от рассмотренной выше модели Джелински - Моранды только тем, что периоды времени отладки и эксплуатации рассматриваются отдельно. Модель основана на следующих допущениях:

  • в момент сдачи ПО на тестирование ( отладку) в нем имеется E0 ошибок, в ходе корректировок новые ошибки не вносятся;

  • общее число I – машинных команд не изменяется при корректировках;

  • интенсивность отказов λ ПО пропорциональна количеству дефектов, оставшихся в нем после отладки в течение времени τ,

  • интенсивность отказов λ считается постоянной величиной на отрезке времени эксплуатации [0, t].

(6.10)

εс(τ)- отношение числа ошибок , устраненных в течение времени отладки отладки τ л общему числу команд I .

Следовательно, в этой модели надежности ПО различаются два времени:

  • t – наработка программы в эксплуатации (ч.),

  • τ – время отладки .

Тогда вероятность безотказной работы ПО на отрезке времени эксплуатации равна

(6.11)

Из эксперимента, используя метод максимального правдоподобия, найдем для двух периодов отладки τ1 и τ2 1 < τ2 ) значения двух неизвестных коэффициентов – С и Е0.