
- •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.Литература
4.3.2.Модели распределения дефектов в базах данных
При отсутствии специальных знаний о
возможном распределении дефектов в
базах данных естественной является
модель равномерного распределения
числа дефектов
по полю данных объемом
.
Если для выполнения конкретной ФСО
используется только часть этого объема,
а именно данные объема
,
то в объёме V
оказывается случайное число дефектов,
задаваемое некоторым распределением.
При построении распределения можно
использовать дискретную или непрерывную
модели. Если база данных структурирована
и в ней выделены структурные единицы
(кластеры, теги и др.) примерно одинакового
объема
,
причем
много больше, чем п, то с высокой
вероятностью в каждой структурной
единице будет не более одного дефекта.
Тогда число дефектов в объеме V
имеет гипергеометрическое распределение
Если база данных не структурирована, то используется биномиальная модель
Эта модель допускает наличие в одном
фрагменте данных объема v
более одного дефекта. При больших
и малых v распределения
(10.15) и (10.16) близки друг к другу.
4.3.3.Модели эффективности отладки
Для прогнозирования момента обнаружения (проявления) дефекта можно использовать экспоненциальную, вейбулловскую или степенную модели. Тогда зависимости (3.41)−(3.43) можно трактовать как функции распределения времени обнаружения дефекта. Однако они не учитывают такой важный параметр, как исходное число дефектов. Используя главную идею моделей (3.41)−(3.43) о нелинейной зависимости числа обнаруженных дефектов от времени отладки, можно рассчитывать ОЧД с помощью формул
где
−
параметры моделей. Значения параметров
определяют на основании опыта отладки
других программных изделий и уточняют
по результатам отладки после обнаружения
первого и второго дефектов в данном
программном изделии.
Рассмотрим еще одну модель отладки ПО,
основанную на понятии конгруэнтного
множества (КМ). Пусть имеется комбинационная
логическая структура со входным вектором
и выходным вектором
.
В комбинационной схеме каждому набору
X соответствует
определенный набор Y,
не зависящий от внутреннего состояния
системы при правильной ее работе.
Обнаружение дефекта происходит по
несовпадению фактического значения
вектора Y с
правильным значением. Назовем конгруэнтным
множеством подмножество
множества Е значений вектора X,
обладающее следующим свойством:
предъявление любого значения из
способно обнаружить дефект определенного
типа. Логическим индикатором КМ является
минимальная дизъюнктивная нормальная
форма, содержащая все элементарные
конъюнкции
логических
переменных без отрицания. Число
называют рангом КМ. Например, логический
индикатор КМ первого ранга имеет вид
.
Размером КМ называют количество
конституент единицы в совершенной
дизъюнктивной нормальной форме (СДНФ)
логической функции, соответствующей
одной тестовой комбинации. Так, для
количество конституент единицы равно
.
Элементарной конъюнкции
соответствует СДНФ, содержащая
конституент единицы. В общем случае КМ
-го
ранга имеет размер
,
а относительный размер равен
. Количество КМ такого размера равно
.
Для полного тестирования КМ
-го
ранга надо предъявить
входных наборов. Предъявляя входные
наборы сериями по
входных наборов
,
так что в каждой серии набор содержит
ровно
единиц, проводим тестирование одновременно
нескольких КМ. После серии с номером
полностью проверенными оказываются КМ
ранга
и частично проверенными − КМ ранга
Если в КМ
-го
ранга есть хотя бы один дефект, то после
завершения
-й
серии условная вероятность его обнаружения
равна
Если известно распределение вероятностей
дефекта
по
конгруэнтным множествам, то после
завершения
-й
серии шагов отладки безусловная
вероятность обнаружения дефекта
Общая длина тестовой последовательности
Вероятность необнаружения дефекта после завершения m-й серии
Здесь
имеет смысл вероятности того, что после
т-й серии отладочных наборов дефект
в КМ r-го ранга не проявится.
Вероятность проявления дефекта после
m-й серии равна
.
Согласно другой трактовке,
есть
безусловная вероятность того, что в КМ
после отладки останется дефект, а
−
вероятность отсутствия дефекта после
отладки.
Пусть теперь т-я тестовая серия
длиной
выполнена не полностью, а проверен
результат только по
наборам
.
Представим (10.20) в виде
Тогда вероятность проявления дефекта в КМ r-го ранга при неполной т-й серии
После
полных
и m-й неполной серии
условная вероятность проявления дефекта
в КМ r-го ранга
Безусловная вероятность проявления дефекта
Вероятность того, что дефект не будет обнаружен после неполной m-й серии,
Вероятность
можно трактовать как математическое
ожидание количества обнаруженных
дефектов при наличии в программе не
более одного дефекта. Если в ней есть N
дефектов, то математическое ожидание
числа обнаруженных дефектов после
-й
серии
Среднее остаточное количество дефектов
При неполной т-й серии
Вероятность того, что после т-й серии в программе не останется ни одного дефекта
Вероятность
является гарантированной нижней оценкой
вероятности безотказной работы.
Правило завершения отладки может быть
составлено либо путем нормирования
длительности отладки, либо путем
нормирования коэффициента эффективности
отладки. В первом случае отладка
завершается по достижении длиной
тестовой последовательности нормативного
значения
.
Исходя из этого рассчитывают коэффициент
эффективности отладки по одной из
следующих формул:
Во втором случае отладка завершается по выполнении одного из следующих неравенств:
Если в (10.28) принято первое правило, то
нормируется остаточное число дефектов.
Из уравнения находят сначала
а
затем L. Если
принято второе правило, то нормируется
вероятность полного отсутствия дефектов.
Второе требование более жесткое и
требует знания исходного числа дефектов
N. Оба правила дают одинаковые
длительности отладки, если
Пример 4.1. Пусть на вход программы комбинационного типа подается набор данных из пяти бинарных переменных. Известно, что после программирования ожидаемое число дефектов равно 2 и они распределены по КМ равномерно. Необходимо оценить эффективность отладки после т-й серии отладочных наборов (m = 1...5) и найти гарантированную нижнюю оценку вероятности безотказной работы программы для L = 6, 16, 26 и 31.
Решение. Результаты расчетов по формуле (10.20) приведены в табл. 4.1.
Таблица 4.1