- •ОСНОВЫ НАДЕЖНОСИ ИНФОРМАЦИОННЫХ СИСТЕМ
- •Оглавление
- •Глава 1. Основные понятия и определения теории надежности
- •1.1 Понятие надежности. Термины и определения
- •1.2 Надежность как свойство ТУ. Понятие состояния и события. Определение понятия отказа
- •1.3. Классификация отказов ТУ
- •1.4. Факторы, влияющие на снижения надежности ТУ
- •1.5 Факторы, определяющие надежность информационных систем
- •1.6 Влияние человека-оператора на функционирование информационных систем
- •Вопросы для самоконтроля
- •2.1. Составляющие надежности
- •2.2. Простейший поток отказов
- •2.3. Вероятность безотказной работы и вероятность отказов
- •2.4. Интенсивность отказов
- •2.5. Среднее время безотказной работы
- •2.6. Аналитические зависимости между основными показателями надежности
- •2.7. Долговечность
- •Вопросы для самоконтроля
- •Глава 3. Надежность программного обеспечения
- •3.1. Основные понятия
- •3.2. Основные причины отказов программного обеспечения
- •3.3. Основные показатели надежности программного обеспечения
- •3.3.1. Модель с дискретно-понижающей частотой появления ошибок ПО
- •3.3.2. Модель с дискретным увеличением времени наработки на отказ
- •3.3.3. Экспоненциальная модель надежности ПО
- •Вопросы для самоконтроля
- •4.1. Характеристики надежности на различных этапах эксплуатации
- •4.2. Надежность в период износа и старения
- •4.3. Надежность технических устройств в период хранения
- •4.4. Характеристики надежности информационной системы при хранении информации
- •Вопросы для самоконтроля
- •Глава 5. Элементы теории восстановления
- •5.1 Основные понятия и определения теории восстановления
- •5.2. Коэффициенты отказов
- •5.3. Комплексные показатели надежности
- •5.4. Аналитические зависимости между показателями надежности восстанавливаемых технических устройств
- •5.5. Полная вероятность выполнения заданных функций
- •Вопросы для самоконтроля
- •Глава 6. Структурные схемы надежности
- •6.1. Структурные схемы надежности с последовательным соединением элементов
- •6.2. Структурные схемы надежности с параллельным соединением элементов
- •6.3. Структурные схемы надежности со смешанным соединением элементов
- •6.4. Сложная произвольная структура
- •6.5. Расчет надежности по внезапным отказам
- •6.5.1. Покаскадный метод расчета надежности
- •6.5.2. Поэлементный метод расчета надежности
- •6.6. Расчет надежности по постепенным отказам
- •Вопросы для самоконтроля
- •Глава 8. Испытания на надежность
- •8.1. Временные характеристики, применяющиеся при статистических исследованиях надежности
- •8.2. Экспериментальное определение характеристик надежности
- •8.3. Ускоренные испытания на надежность
- •8.4. Метод статистического моделирования надежности
- •8.5. Прогнозирование надежности
- •Вопросы для самоконтроля
- •Библиографический список
Глава 3 Надежность программного обеспечения
3.1. Основные понятия
Решение любой задачи, выполнение любой функции, возложенной на ЭВМ, работающей в сети или локально, возможно при взаимодействии ап- паратных и программных средств. Поэтому при анализе надежности вы- полнения ЭВМ заданных функций следует рассматривать единый ком- плекс аппаратных и программных средств.
По аналогии с терминами, принятыми для обозначения показателей надежности ТУ, под надежностью программного обеспечения (ПО) пони- мается свойство этого обеспечения выполнять заданные функции, сохра- няя свои характеристики в установленных пределах при определенных ус- ловиях эксплуатации.
Надежность ПО определяется его безотказностью и восстанавливае-
мостью. Безотказность ПО – это свойство сохранять работоспособ- ность при использовании его для обработки информации в ИС. Безотказ-
ностью программного обеспечения оценивается вероятность его работы без отказов при определенных условиях внешней среды в течение заданно- го периода наблюдения.
В приведенном определении под отказом ПО понимается недопус-
тимое отклонение характеристик функционирования этого обеспечения от предъявляемых требований. Определенные условия внешней среды – это совокупность входных данных и состояние самой ИС. Заданный пери- од наблюдения соответствует времени, необходимому для выполнения на ЭВМ решаемой задачи.
Безотказность ПО может характеризоваться средним временем воз- никновения отказов при функционировании программы. При этом предпо-
38
лагается, что аппаратные средства ЭВМ находятся в исправном состоянии. С точки зрения надежности, принципиальное отличие ПО от аппаратных средств состоит в том, что программы не изнашиваются и их выход из строя из-за поломки невозможен. Следовательно, характеристики функ- ционирования ПО зависят только от его качества, предопределяемого про- цессом разработки. Это означает, что безотказность ПО определяется его корректностью и зависит от наличия в нем ошибок, внесенных на этапе его создания. Кроме того, проявление ошибок ПО связано еще и с тем, что в
некоторые моменты времени на обработку могут поступать ранее не встречавшиеся совокупности данных, которые программа не в состоянии корректно обработать. Поэтому входные данные в определенной мере влияют на функционирование ПО.
В ряде случаев говорят об устойчивости функционирования ПО. Под
этим термином понимается способность ПО ограничивать последствия собственных ошибок и неблагоприятных воздействий внешней среды или противостоять им. Устойчивость ПО обычно обеспечивается с помощью введения различных форм избыточности, позволяющих иметь дублирую- щие модули программ, альтернативные программы для одних и тех же за- дач, осуществлять контроль за процессом исполнения программ.
3.2. Основные причины отказов программного обеспечения
Основными причинами, вызывающими нарушения нормального функционирования ПО, являются:
-ошибки, скрытые в самой программе;
-искажение входной информации;
-неверные действия пользователя;
-неисправность аппаратных средств ИС, на которой реализуется вычис- лительный процесс.
39
Ошибки, скрытые в программе. При разработке сложного ПО воз- можно возникновение ошибок, которые не всегда удается обнаружить и ликвидировать в процессе отладки. В силу этого в программах остается некоторое количество скрытых ошибок. Они являются причиной неверно- го функционирования этих программ. Среди ошибок подобного рода мож- но выделить следующие характерные группы.
Ошибки вычислений. Ошибки этой группы связаны с некорректной за- писью или программированием математических выражений, а также не- верное преобразование типов переменных. Вследствие этого получаются неправильные результаты.
Логические ошибки. Эта группа ошибок является причиной искажения алгоритма решения задачи. К ошибкам подобного рода можно отнести не- верную передачу управления, неверное задание диапазона изменения па- раметра цикла, неверное условие и другие ошибки.
Ошибки ввода-вывода. Эти ошибки связаны с неправильным управле- нием ввода-вывода, формированием выходных записей, определением размера записей и другими неправильно свершенными действиями.
Ошибки манипулирования данными. К числу таких ошибок относятся:
неверное определение числа элементов данных; неверные начальные зна- чения, присвоенные данным; неверное указание длины операнда или име- ни переменной и другие ошибки.
Ошибки совместимости связаны с отсутствием совместимости разра-
батываемого или применяемого ПО с операционной системой или другими прикладными программами.
Ошибки сопряжений. группа этих ошибок вызывает неверное взаимо- действие ПО с другими программами или подпрограммами, с системными программами, устройствами ЭВМ или входными данными.
Искажение входной информации. Указанная причина вызывает нару- шение функционирования ПО, когда входные данные не попадают в до-
40
пустимую область значения переменных. В этом случае возникает несоот- ветствие между исходной информацией и возможностями программы.
Неверные действия пользователя связаны с неправильной интерпре-
тацией сообщений, с неправильными действиями пользователя при работе в диалоговом режиме. Часто эти ошибки являются следствием некачест- венной программной документацией.
Неисправность аппаратных средств ИС. Эти неисправности оказы-
вают определенное влияние на характеристики надежности ПО. Появление отказов или сбои в работе аппаратуры приводят к нарушению хода обра- ботки информации и, как следствие, могут искажать как исходные данные, так и саму программу.
Следствием появления ошибок в программе является ее отказ. По- следствия отказов ПО можно разделить на:
-полное прекращение выполнения функций программы;
-кратковременное нарушение хода обработки информации в ИС. Степень серьезности последствий отказов ПО оценивается соотноше-
нием между временем восстановления программы после отказа и динами- ческими характеристиками объектов, использующих результаты работы этой программы.
Аварийное завершение работы прикладного ПО легко идентифициру- ется, так как операционная система выдает сообщения, содержащие ава- рийный код. Характерными причинами появления аварийного завершения являются ошибки при выполнении макрокоманды, неверное использова- ние методов доступа, нарушение защиты памяти, нехватка ресурсов памя- ти, неверное использование макрокоманды, возникновение программных прерываний, для которых не указан обработчик, и другие причины.
41