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

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

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

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

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

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

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

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

- интенсивность программных отказов Особенности оценки надежности программного обеспечения - №3 - открытая онлайн библиотека , где Особенности оценки надежности программного обеспечения - №4 - открытая онлайн библиотека - плотность распределения времени безотказной работы программы;

- среднее время безотказной работы Особенности оценки надежности программного обеспечения - №5 - открытая онлайн библиотека ;

- вероятность исправления ошибки в течение заданного времени Особенности оценки надежности программного обеспечения - №6 - открытая онлайн библиотека , где Особенности оценки надежности программного обеспечения - №7 - открытая онлайн библиотека - функция распределения времени исправления ошибки;

- интенсивность исправления ошибки Особенности оценки надежности программного обеспечения - №8 - открытая онлайн библиотека , где Особенности оценки надежности программного обеспечения - №9 - открытая онлайн библиотека - плотность распределения времени исправления ошибки;

- среднее время исправления ошибки Особенности оценки надежности программного обеспечения - №10 - открытая онлайн библиотека .

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

Особенности оценки надежности программного обеспечения - №11 - открытая онлайн библиотека . (3.71)

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

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

Особенности оценки надежности программного обеспечения - №13 - открытая онлайн библиотека

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

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

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

- вероятность отсутствия ошибки при однократном обращения к программе Особенности оценки надежности программного обеспечения - №14 - открытая онлайн библиотека ;

- вероятность обнаружения Особенности оценки надежности программного обеспечения - №15 - открытая онлайн библиотека ошибок при Особенности оценки надежности программного обеспечения - №16 - открытая онлайн библиотека - кратном обращении к программе Особенности оценки надежности программного обеспечения - №17 - открытая онлайн библиотека ;

- вероятность отсутствия ошибок в программе Особенности оценки надежности программного обеспечения - №18 - открытая онлайн библиотека и т.п.

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

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

Особенности оценки надежности программного обеспечения - №22 - открытая онлайн библиотека , Особенности оценки надежности программного обеспечения - №23 - открытая онлайн библиотека . (3.72)

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

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

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

Особенности оценки надежности программного обеспечения - №32 - открытая онлайн библиотека , (3.73)

где Особенности оценки надежности программного обеспечения - №33 - открытая онлайн библиотека - Особенности оценки надежности программного обеспечения - №27 - открытая онлайн библиотека -я реализация случайной величины Особенности оценки надежности программного обеспечения - №29 - открытая онлайн библиотека .

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