Здравствуйте,при покупке печатной формы сертификата,будут ли выданы обе печатные сторны? |
Модели качества и надежности в программной инженерии
10.2.3. Марковские и пуассоновские модели надежности
Марковский процесс характеризуется дискретным временем и конечным множеством состояний. Временной параметр пробегает неотрицательные числовые значения, а процесс (цепочка) определяется набором вероятностей перехода , т.е. вероятностью перейти на
-шаге из состояния
в состояние
. Процесс называется однородным, если он не зависит от
. В моделях, базирующихся на процессе Маркова, предполагается, что количество дефектов, обнаруженных в ПС, в любой момент времени зависит от поведения системы и представляется в виде стационарной цепи Маркова [10.5, 10.7, 10.10]. При этом количество дефектов конечное, но является неизвестной величиной, которая задается для модели в виде константы. Интенсивность отказов в ПС или скорость прохода по цепи зависит лишь от количества дефектов, которые остались в ПС.
К этой группе моделей относятся: Джелински- Моранды [10.20], Шика-Вулвертона, Шантикумера [10.21] и др.
Ниже рассматриваются некоторые модели надежности, которые обеспечивают рост надежности ПО (модели роста надежности [10.7, 10.10]), находят широкое применение на этапе тестирования и описывают процесс обнаружения отказов при следующих предположениях:
- все ошибки в ПС не зависят друг от друга с точки зрения локализации отказов;
- интенсивность отказов пропорциональна текущему числу ошибок в ПС (убывает при тестировании программного обеспечения);
- вероятность локализации отказов остается постоянной;
- локализованные ошибки устраняются до того, как тестирование будет продолжено;
- при устранении ошибок новые ошибки не вносятся.
Приведем основные обозначения величин при описании моделей роста надежности:
-
- число обнаруженных отказов ПО за время тестирования;
-
- интервалы времени между отказами
и
, при
;
-
- моменты времени отказов (длительность тестирования до
-отказа),
при
;
-
- продолжительность тестирования ПО (время, для которого определяется надежность);
-
- оценка числа ошибок в ПО в начале тестирования;
-
- оценка числа прогнозированных ошибок;
-
- оценка среднего времени до следующего отказа;
-
- оценка среднего времени до завершения тестирования;
-
- оценка дисперсии;
-
- функция надежности ПО;
-
- функция риска в момент времени
между
и
-отказами;
-
- коэффициент пропорциональности;
-
- частота обнаружения ошибок.
Далее рассматриваются несколько моделей роста надежности, основанные на этих предположениях и использовании результатов тестирования программ в части отказов, времени между ними и др.
Модель Джелинского-Моранды. В этой модели используются исходные данные, приведенные выше, а также:
- число обнаруженных отказов за время тестирования;
- интервалы времени между отказами;
- продолжительность тестирования.
Функция риска в момент времени
расположена между
и
имеет вид:

где ;
Эта функция считается ступенчатой кусочнопостоянной функцией с постоянным коэффициентом
пропорциональности и величиной ступени - . Оценка параметров
и
производится с помощью системы уравнений:

При этом суммарное время тестирования вычисляется так:
Выходные показатели для оценки надежности относительно указанного времени включают:
- число оставшихся ошибок
;
- среднее время до текущего отказа
;
- среднее время до завершения тестирования и его дисперсию
При этом функция надежности вычисляется по формуле:

при и числе ошибок, найденных и исправленных на каждом интервале тестирования, равным единице.
Модель Шика-Вулвертона. Модель используется тогда, когда интенсивность отказов пропорциональна не только текущему числу ошибок, но и времени, прошедшему с момента последнего отказа. Исходные данные для этой модели аналогичны выше рассмотренной модели Джелински-Моранды:
-
- число обнаруженных отказов за время тестирования,
-
- интервалы времени между отказами,
-
- продолжительность тестирования.
Функции риска в момент времени между
и
отказами определяются следующим образом:

Эта функция является линейной внутри каждого интервала времени между отказами, возрастает с меньшим углом наклона. Оценка c и N вычисляется из системы уравнений:
К выходным показателям надежности относительно продолжительности относятся:
- число оставшихся ошибок
;
- среднее время до следующего отказа MTт = (р / (2 (N - m) c) )1/2;
- среднее время до завершения тестирования и его дисперсия
Функция надежности вычисляется по формуле:

Модели пуассоновского типа базируются на выявлении отказов и моделируются неоднородным процессом, который задает - неоднородный пуассоновский процесс с функцией интенсивности
, что соответствует общему количеству отказов ПС за время его использования
.
Модель Гоело-Окумото. В основе этой модели лежит описание процесса обнаружения ошибок с помощью неоднородного пуассоновского процесса, ее можно рассматривать как модель экспоненциального роста. В этой модели интенсивность отказов также зависит от времени. Кроме того, в ней количество выявленных ошибок трактуется как случайная величина, значение которой зависит от теста и других условных факторов.
Исходные данные этой модели:
-
- число обнаруженных отказов за время тестирования;
-
- интервалы времени между отказами;
-
- продолжительность тестирования.
Функция среднего числа отказов, обнаруженных к моменту , имеет вид

где - интенсивность обнаружения отказов и показатель роста надежности
.
Функция интенсивности в зависимости от времени работы до отказа равна

Оценка и
получаются из решения уравнений:

Выходные показатели надежности относительно времени определяют:
- среднее число ошибок, которые были обнаружены в интервале
, по формуле
,
- функцию надежности
В этой модели обнаружение ошибки трактуется как случайная величина, значение которой зависит от теста и операционной среды.
В других моделях количество обнаруженных ошибок рассматривается как константа.В моделях роста надежности исходной информацией для расчета надежности являются интервалы времени между отказами тестируемой программы, число отказов и время, для которого определяется надежность программы при отказе. На основании этой информации по моделям определяются показатели надежности вида:
- вероятность безотказной работы;
- среднее время до следующего отказа;
- число необнаруженных отказов (ошибок);
- среднее время дополнительного тестирования программы.
Модель анализа результатов прогона тестов использует в своих расчетах общее число экспериментов тестирования и число отказов. Эта модель определяет только вероятность безотказной работы программы и выбрана для случаев, когда предыдущие модели нельзя использовать (мало данных, некорректность вычислений). Формула определения вероятности безотказной работы по числу проведенных экспериментов имеет вид

где - число ошибочных экспериментов,
- число проведенных экспериментов для проверки работы ПС.
Таким образом, можно сделать вывод о том, что модели надежности ПС основаны на времени функционирования и/или количестве отказов (ошибок), полученных в программах в процессе их тестирования или эксплуатации. Модели надежности учитывают случайный марковский и пуассоновский характер соответственно процессов обнаружения ошибок в программах, а также характер и интенсивность отказов.
Контрольные вопросы и задания
- Определите понятие качество ПО.
- Назовите основные аспекты и уровни модели качества ПО.
- Определите характеристики качества ПО и их назначение.
- Какие методы используются при определении показателей качества?
- Определите метрики программного продукта и их составляющие.
- Какие стандарты в области качества ПО существуют?
- Назовите основные цели и задачи системы управления качеством.
- В чем суть инженерии качества?Назовите критерии классификации моделей надежности.
- Дайте определение типов моделей надежности и их базис.
- В чем отличие марковских и пуассоновских моделей надежности?
- Сформулируйте основные параметры и предположения модели Джелинского.