Похожие презентации:
Обеспечение надёжности прикладного программного обеспечения (Раздел 3)
1.
Раздел 3. Обеспечениенадёжности прикладного
программного обеспечения
2.
1. Причины и проявлениененадёжности прикладных
компьютерных программ
3.
По мнению специалистоввклад программного обеспечения (ПО) в ненадёжность
сложных информационнокомпьютерных систем может
составлять до 40 процентов.
4.
Согласно ГОСТ 28806-90 поднадёжностью (reliability) программного средства (ПС) понимают
совокупность свойств, характеризующих способность ПС сохранять
заданный уровень пригодности
в заданных условиях в течение
заданного интервала времени.
5.
Уровень пригодности ПС – этостепень удовлетворения потребностей пользователей посредством
обеспечения определённого набора
характеристик качества, среди которых важнейшим является функциональность.
ГОСТ 28806-90
Качество программных средств.
Термины и определения
6.
Формы проявления ненадёжности прикладных компьютерныхпрограмм (КП) разнообразны:
«зависание» программы, переполнение памяти, невозможность продолжения выполнения из-за некорректности входных данных, деление на нуль и т.д.
7.
Частота появления ошибок в программном обеспечении:Тип ошибки
Не полная или ошибочная
спецификация
Отклонение от спецификации
Пренебрежение правилами
программирования
Ошибочная выборка данных
Ошибочная логика или
последовательность операций
Ошибочные арифметические операции
Нехватка времени для решения
Ошибка обработки прерываний
Ошибка в исходных данных
Неточная запись
Частота
появления, %
28
12
10
10
12
9
4
4
3
8
8.
В качестве единственно приемлемой количественной характеристикой измерения размера (объёма)программы, определяющей надёжность прикладной КП, является
число исполняемых строк программного кода (в англоязычном варианте LOC – Lines Of Code).
9.
Ненадёжность прикладных КПбольшого размера (тыс.…млн LOC)
является следствием наличия в
программах скрытых неявных ошибок, оставшихся после выполнения
процедуры их тестирования в
течение выделенного бюджета
времени на разработку программ.
10.
Объём (размер) программ в выполняемыхстроках (LOC) программного кода:
ОС
ОС
Косми- Косми- Самолёт
ПС
ческая ческий Boeing Windows Windows
(объект)
станция корабль
777
95
XP
LOC,
млн
40
10
7
5
40
11.
Надёжность ПС определяетсякачеством его отладки и глубиной
тестирования.
Целью тестирования является
не тотальное обнаружение всех
ошибок (для ПС большого размера
это принципиально невозможно), а
выявление наибольшего количества наиболее критичных ошибок с
точки зрения функциональности
компьютерной программы.
12.
Среднее число ошибок , приходящихся натысячу строк кода (KLOC) после тестирования
программ варьируется от 5 до 50 ошибок.
Число
ош/KLOC
13.
2. Количественные показателидля описания надёжности
прикладных компьютерных
программ
14.
По ГОСТ 27.205-1997 о прогноз-ной надёжности разрабатываемой
компьютерной программы можно
судить по интенсивности проявления ошибок (λ), обусловленных
дефектами её проектирования.
15.
Использование λ в качестве характеристики надёжности компьютерной программы удобно тем, что еёможно оценивать по прогнозируемой плотности ошибок
F в программе.
16.
Плотность ошибок F этоотношение вида
Количество возможных ошибок в КП (N ош )
F
.
Число строк кода (L)
Прогнозирование плотности отказов не
требует знания среды исполнения компьютерной программы и, следовательно, подходит для ранних этапов разработки программного обеспечения.
17.
В качестве основной характеристики безотказности выполнения программой своих функций,согласно ГОСТ, можно использовать вероятность того, что прикладная КП безотказно выполнит
обработку одного произвольного
набора исходных данных.
18.
Эту вероятность P1 определяютв предположении
экспоненциаль-ного закона
распределения време-ни
проявления отказов при использовании прикладной КП:
P1 exp экс t1 ,
(*)
19.
где λэкс – ожидаемая (прогнозируемая) эксплуатационная интенсивность отказов прикладной КП,размерность [1/ч = ч–1];
t1 – среднее время (в часах)
обработки прикладной КП одного
набора исходных данных.
20.
Вероятность того, что оставшиеся ошибки в прикладной КП непроявятся в течение заданного
календарного времени τ находят
по формуле
P( ) P1 , (**)
где η - частота обращения к прикладной КП, прогнозное значение
среднего числа сеансов («прогонов») программы за один час.
21.
3. Эксплуатационнаянадёжность прикладных
компьютерных программ
22.
После устрания ошибок, обусловленных нарушением правил языкапрограммирования прикладная КП
характеризуется начальным уровнем надёжности – начальной инте-
нсивностью отказов λ0.
23.
Надёжность, которую показывает прошедшее тестированиеприкладная КП в условиях её реального использования называют
эксплуатационной надёжностью (λэкс).
24.
4. Факторы, влияющие наинтенсивность отказов
компьютерной программы
25.
Факторы, оказывающие наибольшее влияние на значение λэкси, следовательно, вероятность P1:
– прогнозное число оставшихся
в ПКП скрытых ошибок и их размещение в структуре программы;
– степень изменчивости потока
наборов исходных данных на
входе ПКП;
26.
– уровень нагрузки на ПКП состороны эксплуатационной среды,
а именно: загрузка и выгрузка
модулей ПКП из памяти, нахождение операций ввода-вывода в очереди, наличие состояний ожидания и т.д.).
27.
Что касается влияния быстродействия R процессора компьютера, то на компьютерах с болеевысоким R интенсивность проявле-
ния ошибок λ будет иметь большее
значение. В то же время в этом
случае процессорное время t1 обработки данных будет меньше.
28.
В общем случае произведение,λэкс∙ t1 = const,
т. е. быстродействие R процессора компьютера фактически не
влияет на значение вероятности,
определяемой по формуле
P1 exp экс t1 .
29.
6. Влияние объёмакомпьютерной программы на
её надёжность
30.
Установлено, что для интенсивности (λ) проявления скрытых ошибок справедливо выражениеCп Nош Cп F L
где Cп – коэф-т пропорциональности;
Nош – число оставшихся ошибок в
прикладной КП;
F – плотность ошибок в приклад-ной
КП: (F = Nош / L);
L – объём КП в исполняемых строках
программного кода (L = LOC).
31.
В данном случае коэф-т пропорциональности Cп зависит от области применения прикладной КП ибыстродействия R процессора
компьютера.
32.
7. Прогнозирующие моделинадёжности прикладных
компьютерных программ
33.
Под моделью надёжности КПпонимают математическую модель, построенную для оценки зависимости надёжности программы
от некоторых определённых её параметров, значения которых либо
предполагаются известными, либо
должны быть определены (спрогнозированы).
34.
В практике находят широкоеприменение модель Муса и модель
Холстеда.
Согласно модели Муса интенсивность отказов КП до начала
тестирования (λ0) с учётом быстродействия процессора R определится как
0,7 R
R
0 C V N0 3600 C
F0 L 2520 C F0 L,
B
B
35.
где C – к-т проявления ошибок КП;V – средняя скорость выполнения
команд компьютерной программы;
R – пиковое быстродействие процессора, указываемое в технической
документации, размерность: оп/с;
B – количество команд (операто-ров) в
КП;
множитель 3600 – к-т перевода R в
размерность «оп/ч»;
множитель 0,7 – средний к-т, учитывающий реальное быстродействие
процессора.
36.
F0 – начальная плотность ошибок в КП (после написания кода иустранения нарушений правил
языка программирования).
Скорость V представляет собой
возможное число прогонов КП в
течение одного часа.
На основе экспериментальных данных определены значения к-та С для
прикладных КП разных областей применения.
37.
Область примененияприкладной КП
К-т C,
1/ошибка
К-т KΣ
Значение FБ,
ошибка / KLOC
1. Авиация
1,246 10-7
5,23
12,8
2. Мониторинг и обеспечение безопасности
0,238 10-7
1,00
9,2
3. Телекоммуникации,
мобильные устройства
2,738 10-7
11,5
7,8
4. Управление производственными
процессами
0,754 10-7
3,17
1,8
5. АСУ
4,563 10-7
19,2
8,5
6.Разработка КП,
моделирование,
обучение
3,353 10-7
14,1
12,3
Среднее
2,103 10-7
8,83
8,7
Назад
38.
Удобно к-т С представить ввиде произведения:
C = СБ ∙Kвх ∙Kн = СБ ∙KΣ,
где СБ – базовое значение к-та
проявления ошибок программы;
39.
Kвх – к-т увеличения λ, обусловленный изменчивостью входныхданных;
Kн – к-т увеличения λ, обусловленный рабочей нагрузкой на
прикладную КП;
KΣ – суммарный к-т увеличения
λ, обусловленный совместным
действием изменчивости входных
данных и рабочей нагрузки на
прикладную КП.
40.
В качестве базового значениякоэффициента проявления ошибок
СБ выбран коэффициент С для
прикладных КП, предназначенных
для мониторинга и обеспечения
безопасности:
СБ = 0,238 10-7 1/ошибка.
41.
Для прикладных КП этого назначения суммарный к-т KΣ = 1,0.Значения к-тов KΣ для прикладных КП других областей применения > 1.
Таблица
42.
8. Приближённый методоценки ожидаемой надёжности
разрабатываемых прикладных
компьютерных программ
43.
Рекомендуемая последовательностьдействий:
1. Ожидаемую начальную
интенсивность отказов КП, т.е. интенсивность проявления скрытых
ошибок до выполнения тестирования (λ0), определяют по модели
60 K Vпик F L 10 ,ч ,
(i )
0
(i )
(i )
0
6
1
44.
где верхний индекс (i) указываетна то, что соответствующие характеристики относятся к прикладной
КП i-й области применения;
Vпик - пиковая скорость выполнения команд компьютерной программы (скорость для пикового
быстродействия процессора R),
определяемая как Vпик = R/B.
45.
2. Эксплуатационную интенсивность отказов прикладной КП(ожидаемое проектное значение λ
после тестирования) находят как
λ0
λ экс
,
Q
где Q – к-т эффективности тестирования прикладной КП, Q > 1.
46.
3. Определив значение процессорного времени t1, по формуле (*)рассчитывают вероятность P1 –
вероятность безотказной обработки
одного набора исходных данных.
P1 exp экс t1 ,
(*)
47.
4. Вероятность безотказной работы прикладной КП в течение интересующего календарного времени τ находят по формуле (**) какP( ) P1
,
где η – частота обращения к прикладной КП; является для заданного времени τ прогнозом среднего
числа сеансов («прогонов») программы за один час.
48.
9. Влияние области применения насреднюю плотность ошибок в
разрабатываемой компьютерной
программе
49.
На значение F0 модели расчётаλэкс оказывает влияние область применения будущей прикладной КП.
Экспериментально получены
усреднённые значения плотности
ошибок для прикладных КП разных областей применения. Их называют базовыми значениями начальной плотности ошибок КП (FБ).
50.
Область примененияприкладной КП
1. Авиация, космос
2. Мониторинг и обеспечение безопасности
3. Телекоммуникации,
мобильные устройства
4. Управление производственными процессами
5. АСУ
6. Разработка КП, моделирование, обучение
Среднее
Значение FБ,
ошибка / KLOC
12,8
9,2
7,8
1,8
8,5
12,3
8,7
51.
10. Определениеначальной плотности
отказов прикладной КП
(пересчёт базовой
плотности отказов)
52.
Рекомендуется использоватьмодель RL-92-52, известную под
названием «Римская модель»:
F0 = FБ ∙ D ∙ S ,
где D – метрика, учитывающая производственную среду разработки
ПО: особенность организации, разрабатывающей КП, характеристику
группы программистов, их квалификацию;
53.
S – метрика, учитывающая характеристики разрабатываемой КП.D = Kорг ∙ Kкв.прог ,
где Kорг к-т, характеризующий
особенность организации, разрабатывающей КП;
Kкв.прог к-т, учитывающий квалификацию и опыт программистов.
0,5 ≤ Kорг ≤ 2.
54.
Значения коэффициента Kкв.прогКвалификация и опыт программиста Kкв.прог
1. Студент, освоивший программирование на уровне программы учебной
дисциплины технического вуза
2. Младший программист (Junior
Developer)
2,0
1,3
3. Программист (Middle Developer)
1,0
4. Ведущий программист (Senior
Developer)
0,7
55.
Определение метрики S:S = Kслож ∙ KС.Р ∙ Kнов ∙ Kмод,
где Kслож к-т, учитывающий категорию сложности КП;
KС.Р к-т, учитывающий используемые средства разработки КП;
Kнов к-т, учитывающий сте-пень
новизны КП;
Kмод к-т, учитывающий сте-пень
использования стандартных
модулей в КП.
56.
Для выбора значений указанныхк-тов могут быть использованы
данные документа [*] с учётом
гипотезы о том, что число возможных ошибок в КП прямо пропорционально затратам труда на её
разработку.
* Постановление министерства труда и социальной защиты РБ 27 июня 2007 г. № 91 «Об
утверждении укрупнённых норм затрат труда на разработку программного обеспечения»
[Электронный ресурс].
57.
Например, согласно тому документу:Выбор коэффициента Kмод
Степень охвата реализуемых функций КП стандартными модулями
Kмод
1. От 60% и выше
0,55
2. От 40 до 60%
0,65
3. От 20 до 40%
0,77
4. До 20%
0,9
5. Не используются стандартные
модули
1
58.
11. Обеспечениеэксплуатационной надёжности
компьютерной программы
59.
Рекомендуемая последовательность действий специалиста:1. Уточняется интересующее
календарное время τ и число
возможных прогонов η прикладной КП в час для этого времени τ.
60.
2. С учётом допустимой (заданной) вероятности безотказной работы прикладной КП в течение календарного времени τ с использованием формулы (*) определяетсявероятность P1 безотказной обработки одного произвольного набора исходных данных:
P1 P( )
1
61.
3. С использованием формулыP1 exp экс t1
определяется эксплуатационная
интенсивность проявления программой скрытых ошибок λэкс , обеспечивающая требование к вероятности P1:
ln P1
экс
t1
62.
4. Определяется значение к-таэффективности тестирования, обеспечивающее требование к значению λэкс:
0
Q
,
экс
где λ0 - начальная интенсивность
отказов КП (до начала тестирования), определяемая
63.
12. Определение прогнозногосуммарного процессорного
времени тестирования
прикладной КП
64.
Примерное значение суммарного процессорного времени t, необходимого для обеспечения требуемого значения коэффициента эффективности тестирования Q может быть найдено по моделиB ln(Q)
t
, ч,
6
60 10 K R
где R должно подставляться в размерности [оп/с].
65.
Примерное значение B (числокоманд прикладной КП) может
быть принято как
B ≈ L · EL = | EL =10| = 10 L∙EL.
66.
13. Определение нормативнойкалендарной трудоёмкости
процедуры тестирования
компьютерной программы
67.
Для прикладных КП требуемоекаледарное время тестирования
определяется с учётом того, каков
средний процент времени в течение рабочего дня занимает процессорная обработка данных по
прикладной программе.
68.
Средний процент времени, занимаеОбласть применениямый процессорной обработкой дан-ных
прикладной КП
при тестировании программы, r[%]
1. Авиация, космос
2. Мониторинг и
обеспечение
безопасности
3. Телекоммуникации, мобильные
устройства
4. Управление
производственными
процессами
5. АСУ
6. Разработка программ, моделирование, обучение
Среднее
8
43
3,5
14
2,5
3
12
69.
Прогнозная календарная продолжительности тестирования дляобеспечения требуемого значения
к-та эффективности тестирования
Q прикладной КП может быть определена как
(i )
календ
T
100 t
(i ) ,
r
где верхний индекс (i) указывает
на параметры для i-й области применения
70. 3. Отказы и их классификация
71.
Под отказом понимаютсобытие, состоящее в
нарушении работоспособного
состояния изделия.
Отказ,
англ. - Failure
72.
Вид отказа: единица классификации отказов, исходящая изустановленных критериев:
• характера;
• причины;
• последствий отказа;
• функции, способность выполнения которой потеряна;
• изменения состояния изделия.
73.
15. Экспоненциальный законнадёжности
74.
Вслучае
EXP-распределения
времени до отказа
w( t ) = e
t
Тогда с использованием выражения
P(t ) w(t )dt
t
для любого интересующего времени t
получим
75.
P(t ) e-λ t
- Формула известна под
названием
«экспоненциальный
закон надёжности»
Здесь λ – параметр EXP-распределения для рассматриваемого типа
изделия (численно равный интенсивности отказов этого изделия).
Информатика
Программное обеспечение