- •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.5.2.Оценка исходного числа дефектов
Надежность ПК оценивается на стадии проектирования, когда известны структура ФПО и описание каждой структурной единицы по входам и выходам. Поэтому для оценки ИЧД используются формулы (10.12) и (10.13). Чтобы оценить влияние структурирования на ожидаемое число дефектов, каждый алгоритм разбивается на секции, размеры которых определяются требованиями технологии программирования, принятой в САПР ПО, и соображениями повышения эффективности работы отдельного программиста с учетом рекомендаций психологии программирования и соображений удобства дальнейшей отладки. Исходные данные для расчетов и результаты расчетов ИЧД по секциям и алгоритмам приведены в табл. 4.4.
Таблица 4.4
Исходное число дефектов по секциям и алгоритмам
Наименование |
Исходные данные |
|
|
ИЧД |
|
|||
|
Входы |
|
|
|
|
|
|
|
|
1 |
2 |
1 |
2 |
1 |
2 |
1 |
2 |
Алгоритм А1ц |
11 |
9 |
17 |
15 |
80,71 |
69,49 |
1,01 |
0,745 |
Алгоритм Alс |
16 |
10 |
28 |
20 |
- |
- |
1,264 |
0,609 |
Секция А11 |
7 |
4 |
14 |
12 |
64,0 |
53,3 |
0,632 |
0,439 |
Секция А12 |
9 |
6 |
14 |
8 |
64,0 |
33,2 |
0,632 |
0,170 |
Алгоритм А2ц |
- |
- |
48 |
36 |
282,2 |
199,4 |
12,29 |
6,137 |
Алгоритм А2с |
41 |
32 |
68 |
48 |
- |
- |
3,71 |
1,763 |
Секция А21 |
14 |
10 |
23 |
16 |
116,1 |
75,06 |
2,08 |
0,869 |
Секция А22 |
10 |
10 |
15 |
14 |
69,5 |
64,0 |
0,745 |
0,632 |
Секция А23 |
6 |
2 |
12 |
4 |
53,3 |
15,51 |
0,439 |
0,002 |
Секция А24 |
6 |
6 |
9 |
8 |
38,1 |
33,22 |
0,223 |
0,170 |
Секция А25 |
5 |
4 |
9 |
6 |
38,1 |
24,00 . |
0,223 |
0,089 |
Алгоритм A3 |
17 |
13 |
30 |
21 |
160,0 |
104,0 |
3,95 |
1,67 |
Алгоритм А4ц |
9 |
6 |
15 |
8 |
69,5 |
33,22 |
0,745 |
0,170 |
Алгоритм А4с |
12 |
8 |
22 |
12 |
- |
- |
0,714 |
0,178 |
Секции А41. А42 |
6 |
4 |
11 |
6 |
48,1 |
24,0 |
0,357 |
0,089 |
Алгоритм А5ц |
- |
- |
19 |
19 |
92,2 |
92,2 |
1,313 |
1,313 |
Алгоритм А5с |
20 |
20 |
32 |
32 |
- |
- |
0,681 |
0,681 |
Секции А51...А54 |
5 |
5 |
8 |
8 |
33,22 |
33,22 |
1,170 |
0,170 |
Алгоритм А6ц |
- |
- |
28 |
20 |
147,2 |
98,1 |
3,344 |
1,485 |
Алгоритм А6с |
28 |
20 |
48 |
32 |
- |
- |
1,754 |
0,681 |
Секции А61...А64 |
7 |
5 |
12 |
8 |
53,3 |
33,22 |
0,439 |
0,170 |
Алгоритм А7 |
20 |
20 |
21 |
21 |
104,0 |
104,0 |
1,67 |
1,67 |
Алгоритм А8 |
12 |
8 |
24 |
20 |
122,2 |
98,1 |
2,305 |
1,485 |
А1...А8ц |
- |
- |
202 |
160 |
- |
- |
26,63 |
14.68 |
А1...А8с |
166 |
141 |
273 |
206 |
- |
- |
16,05 |
10,34 |
Примечание. 1 − учитываются все обрабатываемые входы; 2 − учитываются все независимые входы; Ац − алгоритм без разбиения на секции; Ас − алгоритм с разбиением на секции.
Расчеты проведены для двух вариантов исходных данных. В первом варианте учтены все обрабатываемые входы и все ветвящиеся выходы. Во втором варианте учтены только независимые входы и выходы. Расчеты показывают, что разбиение алгоритмов на секции приводит к увеличению суммарного количества входов и выходов: в первом варианте на 35%, а по отдельным алгоритмам до 70%; во втором варианте на 29%, а по отдельным алгоритмам до 60%. Однако суммарное количество дефектов при разбиении на секции сократилось: на 40% в варианте 1 и на 30% в варианте 2. Разбиение на секции отдельных алгоритмов не всегда приводит к снижению ИЧД. Так произошло для А1 в варианте 1 и для А4 в варианте 2. Однако разбиение все-таки проводят по другим причинам Например, разбиение А1 полезно для облегчения автономной отладки. В этом случае при разбиении на две секции для полной отладки надо просмотреть 27+29=640 комбинаций значений бинарных входов, а без разбиения − 211=2048 комбинаций, то есть в 3,2 раза больше. Варианты 1 и 2 могут рассматриваться как крайние для получения двусторонней оценки ИЧД, так как при функционально зависимых входах и выходах независимыми остаются операции адресации, при программировании которых также могут возникать ошибки. Именно поэтому может быть использовано среднее арифметическое оценок.
В качестве секций ввода в состав ФПО НУ входят модули сравнения результатов измерения аналоговых параметров с уставками с последующей индикацией нарушения уставки. В качестве секций вывода используют два типа контроллеров, БУ1 и БУ2, для управления ИМ двух различных типов. Исходные данные о секциях ввода и вывода и результаты расчетов ИЧД приведены в табл. 4.5.
Таблица 4.5
