
- •1.Программное обеспечение
- •Виды программ
- •2.Стадии жизненного цикла программного обеспечения
- •2.1.Основные процессы жизненного цикла программного обеспечения
- •2.2.Вспомогательные процессы жизненного цикла программного обеспечения
- •2.3.Организационные процессы жизненного цикла программного обеспечения
- •3.Основные понятия и показатели надежности программных средств
- •3.1.Показатели качества и надежности программного обеспечения
- •3.2.Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств
- •3.2.1.Модель факторов, определяющих надежность программных средств
- •3.2.2.Методы обеспечения надежности программных средств
- •Предупреждение ошибок
- •Обнаружение ошибок
- •Исправление ошибок
- •Устойчивость к ошибкам
- •Обработка сбоев аппаратуры
- •3.3.Модели надежности программного обеспечения
- •3.3.1.Аналитические модели надежности
- •Динамические модели надежности Модель Шумана
- •Модель La Padula
- •Модель Джелинского – Моранды
- •Модель Шика – Волвертона
- •Модель Мусса
- •Модель переходных вероятностей
- •Статические модели надежности
- •Модель Миллса
- •Модель Липова
- •Простая интуитивная модель
- •Модель Коркорэна
- •Модель Нельсона
- •3.3.2.Эмпирические модели надежности
- •Модель сложности
- •Модель, определяющая время доводки программ
- •3.3.3.Особенности обеспечения надежности функционирования импортных программных средств
- •4.Оценка надежности комплексов аппаратно-программных средств с учетом характеристик программного и информационного обеспечения
- •4.1.Постановка задачи
- •4.2.Общая схема проектной оценки надежности программного комплекса
- •4.2.1.Расчет исходного числа дефектов
- •4.2.2.Расчет остаточного числа дефектов после автономной отладки
- •4.2.3.Расчет остаточного числа дефектов после комплексной отладки
- •4.2.4.Оценка вероятности проявления дефекта при однократном выполнении фсо
- •4.2.5.Оценка вероятности проявления дефектов при многократном выполнении фсо
- •4.2.6.Оценка характеристик потоков инициирующих событий
- •4.2.7.Оценка показателей надежности системы с учетом случайного потока инициирующих событий
- •4.3.Факторные модели
- •4.3.1.Модели распределения числа дефектов в алгоритмах и базах данных
- •4.3.2.Модели распределения дефектов в базах данных
- •4.3.3.Модели эффективности отладки
- •Условная вероятность обнаружения дефекта в км r-го ранга
- •Безусловная вероятность обнаружения дефекта
- •Среднее остаточное число дефектов
- •4.3.4.Модели потоков инициирующих событий
- •4.4.Проектная оценка надежности программного комплекса при выполнении фсо
- •4.4.1.Вероятность проявления дефекта при однократном выполнении фсо
- •4.4.2.Вероятность проявления дефекта при многократном выполнении фсо
- •4.4.3.Вероятность безотказной работы пк в режиме мкцп при случайном потоке инициирующих событий
- •4.4.4.Учет процедур парирования ошибок
- •4.5.Пример проектной оценки надежности программного комплекса
- •4.5.1.Краткое описание аппаратно-программного комплекса
- •4.5.2.Оценка исходного числа дефектов
- •Исходное число дефектов по секциям и алгоритмам
- •Исходное число дефектов в секциях ввода и вывода
- •4.5.3.Оценка числа дефектов фпо по подсистемам до автономной отладки
- •Состав подсистем фпо
- •Исходное число дефектов в подсистемах до автономной отладки
- •4.5.4.Оценка остаточного числа дефектов после автономной отладки
- •Среднее остаточное число дефектов в секциях после ао
- •Результаты автономной отладки (вариант 1)
- •Длина тестовой последовательности после m-й серии
- •Зависимость эффективности ао от трудоемкости
- •4.5.5.Оценка остаточного числа дефектов после комплексной отладки
- •Результаты комплексной отладки
- •Коэффициент полноты отладки км различных рангов
- •4.5.6.Оценка вероятности проявления дефекта при однократном и многократном выполнении фсо после ко
- •Распределение вероятностей проявления дефекта по км
- •Вероятность проявления дефекта при однократном выполнении фсо
- •Вероятность проявления дефектов при многократном выполнении фсо
- •Вероятность проявления дефектов бд до отладки
- •Условная вероятность проявления дефектов бд после автономной отладки
- •Безусловная вероятность проявления дефектов бд после автономной отладки
- •Условная вероятность проявления дефектов бд после комплексной отладки
- •Безусловная вероятность проявления дефектов бд после комплексной отладки
- •Вероятность отказа фпо и ио при однократном выполнении фсо
- •4.5.7.Поток инициирующих событий
- •4.5.8.Вероятность безотказной работы пк
- •Интенсивность отказов подсистем
- •Показатели надежности подсистем
- •Показатели надежности подсистем с учетом парирования ошибок в ио
- •4.6.Оценка надежности программного комплекса по результатам отладки и нормальной эксплуатации
- •Экспоненциальная модель Шумана
- •Экспоненциальная модель Джелинского−Моранды
- •Геометрическая модель Моранды
- •Модель Шика−Волвертона
- •Модель Липова
- •Модель Мусы−Гамильтона
- •Вейбулловская модель (модель Сукерта)
- •Модель Уолла−Фергюссоиа (степенная модель)
- •Структурная модель Нельсона
- •Структурная модель роста надежности
- •Гиперболическая модель роста надежности
- •5.Литература
Структурная модель Нельсона
Структурная модель Нельсона [31], [32].
В качестве показателя надежности принимается вероятность Р(п) безотказного выполнения п прогонов программы. Для j-ro прогона вероятность отказа представляется в виде
где
− индикатор отказа на
-м
наборе данных;
−
вероятность появления
-го
набора в
-м
прогоне. Тогда
Если
− время выполнения j-го
прогона, то интенсивность отказов
Практическое использование формул (10.54) и (10.55) затруднено из-за множества входов и большого количества трудно оцениваемых параметров модели. На практике надежность программ оценивается по результатам тестовых испытаний, охватывающих относительно небольшую область пространства исходных данных.
Для упрощенной оценки в [33] предлагается формула
где N − число прогонов; ni
− число обнаруженных при прогоне
i-го теста ошибок;
−
индикатор отсутствия ошибок при прогоне
i-го теста.
Для уменьшения размерности задачи
множество значений входных наборов
разбивают на пересекающиеся подмножества
,
каждому из которых соответствует
определенный путь
.
Если
содержит ошибки, то при выполнении теста
на поднаборе
будет отказ. Тогда вероятность правильного
выполнения одного теста
При таком подходе оценка надежности по
структурной модели затруднена, так как
ошибка в
проявляется не при любом наборе из Gj,
а только при некоторых. Кроме того,
отсутствует методика оценки
по результатам испытаний программ.
Структурная модель роста надежности
Структурная модель роста надежности (модель Иыуду) [34].
Модель является развитием модели Нельсона. В ней делают следующие допущения:
исходные данные входного набора выбираются случайно в соответствии с распределением
все элементы программ образуют s классов, вероятность правильного исполнения элемента
-го класса равна
ошибки в элементах программ независимы. Вероятность правильного исполнения программы по i-му пути
где
−
количество элементов
-го
класса в i-м пути.
Безусловная вероятность безотказной
работы при однократном исполнении
программы в период времени до первой
обнаруженной ошибки
где п − количество путей исполнения программы.
При корректировании программы после
обнаружения ошибки учитывается
возможность внесения новой ошибки с
помощью коэффициента эффективности
корректирования
.
Вместо
в (10.56) следует использовать
где
−
номер интервала времени между соседними
ошибками.
При
вероятность
не меняется, при
вероятность увеличивается, а при
,
напротив, падает. Для
-го
интервала вероятность успешного
исполнения программы по
-му
пути
При
выражение (10.57) можно представить в виде
Подставляя (10.58) в (10.57), получим:
Если наиболее вероятные пути проверены, то
В формуле (10.59) параметры
и
можно оценить по экспериментальным
данным. Для плана испытаний [NBr],
в котором определяются значения
−
числа прогонов между
-м
и
-м
отказами,
с
помощью метода максимального правдоподобия
найдем уравнения относительно искомых
оценок:
В частности, при r = 2 имеем: