logo
Пособие 5

3.5. Особенности оценки надежности программного обеспечения

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

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

Надежность программы - это сложное свойство. Оно включает в себя два простых (частных) свойства: безотказность и восстанавливаемость.

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

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

Показатели надежности программного обеспечения условно разделяют на две группы. К первой группе относятся показатели сходные с показателями безотказности восстанавливаемых объектов (п. 3.2 – 3.4):

- вероятность безотказной работы программы , где- функция распределения времени безотказной работы программы;

- интенсивность программных отказов , где- плотность распределения времени безотказной работы программы;

- среднее время безотказной работы ;

- вероятность исправления ошибки в течение заданного времени , где- функция распределения времени исправления ошибки;

- интенсивность исправления ошибки , где- плотность распределения времени исправления ошибки;

- среднее время исправления ошибки .

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

. (3.71)

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

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

Рис. 3.13. График зависимости интенсивности исправления ошибок от времени использования программного обеспечения

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

Во вторую группу показателей надежности программного обеспечения входят:

- вероятность отсутствия ошибки при однократном обращения к программе ;

- вероятность обнаружения ошибок при- кратном обращении к программе;

- вероятность отсутствия ошибок в программе и т.п.

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

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

,. (3.72)

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

В процессе реального функционирования программы поступление на ее вход исходных данных происходит не с одинаковой вероятностью, а диктуется определенными условиями эксплуатации системы РКТ. Характеристикой этих условий является ряд распределения , где- вероятность реализации- го маршрута программы.

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

, (3.73)

где --я реализация случайной величины.

Нахождение ряда распределения представляет собой достаточно сложную проблему. Решение этой проблемы основывается на анализе возможностей появления тех или иных исходных данных в реальных условиях функционирования ОТС.