Автор: Пользователь скрыл имя, 24 Марта 2013 в 23:04, реферат
Модели надежности программных средств подразделяются на аналитические и эмпирические. Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования. Эмпирические модели базируются на анализе структурных особенностей программ.
Введение 3
1 Аналитические модели надежности ПС 4
1.1 Динамические модели надежности 4
1.2 Статические модели надежности 20
2 Эмпирические модели надежности 34
Заключение 42
Список использованных источников 43
ГОУ ВПО Ростовский Государственный Экономический Университет («РИНХ»)
автоматизации управления
Р Е Ф Е Р А Т
Факультет: Информатизации и управления
По дисциплине: Метрология и сертификация ПО
Группа: 351
Специальность: Прикладная информатика в экономике
Вариант: 11
Выполнила:
студентка
Проверила:
ст. преподаватель
Ростов - на - Дону
2010 год
Содержание:
Введение 3
1 Аналитические модели надежности ПС 4
1.1 Динамические модели надежности 4
1.2 Статические модели надежности 20
2 Эмпирические модели надежности 34
Заключение 42
Список использованных источников 43
В международном стандарте ISO 9126:1991 надежность выделена как одна из основных характеристик качества программного обеспечения (ПО). Стандартный словарь терминов программного инжиниринга определяет надежность программного обеспечения как способность системы или компонента выполнять требуемые функции в заданных условиях на протяжении указанного периода времени.
Сама проблема надежности программного обеспечения имеет, по крайней мере, два аспекта: обеспечение и оценка (измерение) надежности. Практически вся имеющаяся литература посвящена первому аспекту, а вопрос оценки надежности компьютерных программ недостаточно проработан. Вместе с тем очевидно, что надежность программы гораздо важнее таких традиционных ее характеристик, как время исполнения или требуемый объем оперативной памяти, однако никакой общепринятой количественной меры надежности программ до сих пор не существует.
Модели надежности программных средств подразделяются на аналитические и эмпирические. Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования. Эмпирические модели базируются на анализе структурных особенностей программ.
Аналитические модели представлены двумя группами: динамические и статические. В динамических моделях поведение ПО (появление отказов) рассматривается во времени. Если фиксируются интервалы каждого отказа, то получается непрерывная картина появления отказов во времени (модели с непрерывным временем). Может фиксироваться только число отказов за произвольный интервал времени. В этом случае поведение ПО может быть представлено только в дискретных точках (модели с дискретным временем).
В статических моделях появление
отказов не связывают со временем,
а учитывают зависимость
Аналитическое моделирование надежности ПС включает четыре шага:
Свойства динамических методов:
Достоинства:
Недостатки
Модель Шумана
Исходные данные для модели Шумана, которая относится к динамическим моделям дискретного времени, собираются в процессе тестирования ПС в течение фиксированных или случайных временных интервалов. Каждый интервал — это стадия, на которой выполняется последовательность тестов и фиксируется некоторое число ошибок.
Модель Шумана может быть использована при определенным образом организованной процедуре тестирования. Использование модели Шумана предполагает, что тестирование проводится в несколько этапов. Каждый этап представляет собой выполнение программы на полном комплексе разработанных тестовых данных. Выявленные ошибки регистрируются (собирается статистика об ошибках), но не исправляются. По завершении этапа на основе собранных данных о поведении ПС на очередном этапе тестирования может быть использована модель Шумана для расчета количественных показателей надежности. После этого исправляются ошибки, обнаруженные на предыдущем этапе, при необходимости корректируются тестовые наборы и проводится новый этап тестирования. При использовании модели Шумана предполагается, что исходное количество ошибок в программе постоянно и в процессе тестирования может уменьшаться по мере того, как ошибки выявляются и исправляются. Новые ошибки при корректировке не вносятся. Скорость обнаружения ошибок пропорциональна числу оставшихся ошибок. Общее число машинных инструкций в рамках одного этапа тестирования постоянно.
Предполагается, что до начала тестирования в ПС имеется ЕT ошибок. В течение времени тестирования τ обнаруживается εс ошибок в расчете на команду в машинном языке.
Таким образом, удельное число ошибок на одну машинную команду, оставшихся в системе после т времени тестирования, равно:
(1)
где IT — общее число машинных команд, которое предполагается постоянным в рамках этапа тестирования.
Автор предполагает, что значение функции частоты отказов Z(t) пропорционально числу ошибок, оставшихся в ПС после израсходованного на тестирование времени τ:
где С — некоторая константа;
t — время работы ПС без отказа.
Тогда, если время работы ПС без отказа t отсчитывается от точки t = 0, а τ остается фиксированным; функция надежности, или вероятность безотказной работы на интервале времени от 0 до t, равна:
(2)
(3)
Из величин, входящих в формулы (2) и (3), не известны начальное значение ошибок в ПС (ET ) и коэффициент пропорциональности С. Для их определения прибегают к следующим рассуждениям. В процессе тестирования собирается информация о времени и количестве ошибок на каждом прогоне, т.е. общее время тестирования τ складывается из времени каждого прогона:
Предполагая, что интенсивность появления ошибок постоянна и равна λ, можно вычислить ее как число ошибок в единицу времени:
(4)
где Ai — количество ошибок на i-м прогоне;
(5)
Имея данные для двух различных моментов тестирования τA и τb, которые выбираются произвольно с учетом требования, чтобы εc(τb) > εc (τA), можно сопоставить уравнения (3) и (5) при τA и τb
(6)
(7)
Вычисляя отношения (6) и (7), получим:
(8)
Подставив полученную оценку параметров ET в выражение (6), получим оценку для второго неизвестного параметра:
(9)
Получив неизвестные ET и С, можно рассчитать надежность программы по формуле (2).
Например, в программе имеется It = 4381 оператор. В процессе последовательных тестовых прогонов были получены следующие данные:
N прогона |
1 |
2А |
3 |
4 |
5 |
6 |
7 |
8А |
9 |
10 |
Кол-во ошибок |
1 |
2 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
Время (м) |
5 |
8 |
2 |
1 |
5 |
1 |
1 |
2 |
5 |
5 |
Выберем две точки, исходя из требования, чтобы число ошибок, найденных на интервале А ÷ В , и было больше, чем на интервале 0 ÷ А. За точку А возьмем 2 прогон, а за точку В – 8 прогон. Тогда ошибки, найденные на этапах тестирования на интервалах 0 ÷ А и А ÷ В, будут равны соответственно:
εс (τА) = 3/4381 = 0.0007
εс (τВ) = 7/4381 = 0.0015
Время тестирования на интервалах равно:
τА = 13
τВ = 12.
Рассчитаем интенсивности появления ошибок на двух интервалах:
λА = 3 . 13 = 0.23
λВ = 7 . 12 = 0.58.
Et = 4381 (0.58/0.23*0.0007-0.0015) / (0.58/0.23-1) = 0.763 ≈ 1 ошибка
Тогда число имеющихся до начала тестирования ошибок равно
C = 0.23/ (0.76/4381-0.0007) = - 460
Рассчитаем вероятность безотказной работы в течение времени t при τ = 35 мин.
R (t,35) = exp {460*[0.763/4381-εc (35)]t}
Возьмем t=60 мин.
R (60,35) = exp {460*[0.0002-0.0027]60}≈ 0.9
Таким образом, надежность
безотказной работы достаточно велика
и вероятность сбоев и
Модель La Padula
По этой модели выполнение последовательности тестов производится в т этапов. Каждый этап заканчивается внесением изменений (исправлений) в ПС. Возрастающая функция надежности базируется на числе ошибок, обнаруженных в ходе каждого тестового прогона.
Надежность ПС в течение i-го этапа:
R(t) = R (¥) – A/(i), i = 1,2…,
где А — параметр роста;
R (¥) = lim R (i) - предельная надежность ПС
i®¥
Эти неизвестные величины автор предлагает вычислить, решив следующие уравнения:
Определяемый по этой модели показатель есть надежность ПС на i-м этапе: R(t) = R(∞) — A/(i), i = m + 1, m + 2...
Преимущество модели заключается
в том, что она является прогнозной
и, основываясь на данных, полученных
в ходе тестирования, дает возможность
предсказать вероятность
Это одна из первых и простейших моделей классического типа, послужившая основой для дальнейших разработок в этом направлении. Модель была использована при разработке таких значительных программных проектов, как программа Аполло (некоторых ее модулей). Модель Джелинского-Моранды основана на следующих предположениях:
Согласно этим предположениям, функция риска будет представлена как:
R(t) = K[B – (i-1)]
В этой формуле t – это произвольный момент времени между обнаружением (i-1)-й и i-й ошибок; K – неизвестный коэффициент масштабирования; B – начальное количество оставшихся в программе ошибок (также неизвестное). Таким образом, если в течении времени t было обнаружено (i-1) ошибок, это означает, что в программе еще остается B-(i-1) необнаруженных ошибок. Полагая, что
и используя предпосылку 6, а также равенство (11), можно заключить, что все Xi имеют экспоненциальное распределение
P(Xi) = exp { -K[B-(i-1)]Xi}
и плотность вероятности отказа, соответственно, равна
q (Xi) = K[B-(i-1)]exp{-K[B-(i-1)] Xi }
Тогда функцию правдоподобия (согласно предпосылке 2) можно записать как
или, переходя к логарифму функции правдоподобия, имеем
(11)
Максимум функции
(12)
(13)
Из формулы (12) получается оценка максимального правдоподобия для K
Подставляя выражение (14) в (13), находим нелинейное уравнение для вычисления –оценки максимального правдоподобия для B
Это уравнение можно упростить перед тем, как искать его решение, если записать его с использованием следующих обозначений
где
Поскольку имеют смысл лишь целочисленные значения , функции из выражения (16) можно рассматривать только для целочисленных аргументов. Более того, m≥n+1, поскольку n ошибок с программе уже обнаружено. Таким образом, оценка максимального правдоподобия для B может быть получена с помощью вычисления начальных значений функций fn(m) и gn(m) для m=n+1, n+2…, и анализа разницы |fn(m)-gn(m)|.
Поскольку правая и левая части выражения (16) одинаково монотонны, это порождает проблему единственности решения, а также проблему его существования. Конечное решение B^ в области B^≥n существует тогда и только тогда, когда выполняется неравенство
Информация о работе Общая характеристика моделей надежности программных средств