Надежность информационных систем. Громов Ю.Ю - 18 стр.

UptoLike

В приведённом определении под
отказом ПО
понимается недопустимое отклонение характеристик функционирования
этого обеспечения от предъявляемых требований. Определённые условия внешней среды это совокупность входных
данных и состояние самой ИС. Заданный период наблюдения соответствует времени, необходимому для выполнения на
ЭВМ решаемой задачи.
Безотказность ПО может характеризоваться средним временем возникновения отказов при функционировании
программы. При этом предполагается, что аппаратные средства ЭВМ находятся в исправном состоянии. С точки зрения
надёжности, принципиальное отличие ПО от аппаратных средств состоит в том, что программы не изнашиваются и их выход
из строя из-за поломки невозможен. Следовательно, характеристики функционирования ПО зависят только от его качества,
предопределяемого процессом разработки. Это означает, что безотказность ПО определяется его корректностью и зависит от
наличия в нём ошибок, внесённых на этапе его создания. Кроме того, проявление ошибок ПО связано ещё и с тем, что в
некоторые моменты времени на обработку могут поступать ранее не встречавшиеся совокупности данных, которые
программа не в состоянии корректно обработать. Поэтому входные данные в определённой мере влияют на
функционирование ПО.
В ряде случаев говорят об устойчивости функционирования ПО. Под этим термином понимается способность ПО
ограничивать последствия собственных ошибок и неблагоприятных воздействий внешней среды или противостоять им.
Устойчивость ПО обычно обеспечивается с помощью введения различных форм избыточности, позволяющих иметь
дублирующие модули программ, альтернативные программы для одних и тех же задач, осуществлять контроль за процессом
исполнения программ.
3.1. СРАВНИТЕЛЬНЫЕ ХАРАКТЕРИСТИКИ ПРОГРАММНЫХ И АППАРАТНЫХ ОТКАЗОВ
Программные отказы изделия и аппаратные отказы имеют много общего, но во многом существенно различаются. Общее
между ними:
а) невыполнение объектом заданных функций;
б) времена до отказов и времена устранения отказов носят случайный характер;
в) методы обработки статистических данных об отказах одинаковы, а потому статистические оценки показателей
надёжности аппаратной и программной, полученные по результатам испытаний и эксплуатации, могут быть одинаковыми по
своему названию: средняя наработка объекта на программный отказ, интенсивность программных отказов объекта и т.д.
Возможны и объединённые (комплексные) оценки:
средняя наработка объекта на программный и аппаратный отказ
и т.п.
Вместе с тем отказы программные существенно отличаются от отказов аппаратурных:
а) отказ аппаратный зависит либо от времени, либо от объёма выполненной работы, а отказ программный от той
функции, которую выполняет изделие под управлением программы (точнее, от того, с какой вероятностью программа
выйдет на такой участок, который содержит ошибку);
б) обнаружение и устранение аппаратного отказа (заменой отказавшего элемента исправным) не означает, что такой же
отказ не повторится при дальнейшей работе изделия, а обнаружение и устранение отказа программного (исправление
программы) означает, что такой отказ в дальнейшем не повторится;
в) программный отказ, обнаруживаемый при автономной проверке программы, может переходить в разряд
недействующих, если состояние аппаратуры делает её нечувствительной к данному виду программного отказа. Например,
если в программе ошибочно не предусмотрена программная защита от аппаратного сбоя, то это программный отказ, но если
при этом в аппаратуре не возникает сбоя, то отказ программный становится недействующим;
г) прогнозировать возникновение аппаратных отказов сравнительно легко, а прогнозировать возникновение отдельных
программных отказов трудно, а часто и невозможно. Для отдельных программных отказов трудно предвидеть время, когда
они становятся действующими, а когданедействующими;
д) аппаратные отказы целесообразно подразделять на внезапные и постепенные, т.е. отказы, различные по своей
физической природе, законам распределения времени до отказа, методам борьбы за снижение их вероятности. Программные
отказы нет смысла делить на внезапные и постепенные. Они возникают, как только программа переходит на такой участок,
который содержит "ошибку". В то же время они по природе своей не совпадают с внезапными аппаратными отказами.
Вероятность их возникновения не связана с продолжительностью работы изделия, а связана с условной вероятностью того,
что программа содержит ошибку в данной части программы, и вероятностью того, что изделие будет работать под
управлением этой части программы.
3.2. ОСНОВНЫЕ ПРИЧИНЫ ОТКАЗОВ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Основными причинами, вызывающими нарушения нормального функционирования ПО, являются:
ошибки, скрытые в самой программе;
искажение входной информации;
неверные действия пользователя;
неисправность аппаратных средств ИС, на которой реализуется вычислительный процесс.
Ошибки, скрытые в программе. При разработке сложного ПО возможно возникновение ошибок, которые не всегда
удаётся обнаружить и ликвидировать в процессе отладки. В силу этого в программах остается некоторое количество
скрытых ошибок. Они являются причиной неверного функционирования этих программ. Среди ошибок подобного рода
можно выделить следующие характерные группы.
Ошибки вычислений
. Ошибки этой группы связаны с некорректной записью или программированием математических
выражений, а также неверным преобразованием типов переменных. Вследствие этого получаются неправильные результаты.
Логические ошибки
. Эта группа ошибок является причиной искажения алгоритма решения задачи. К ошибкам
подобного рода можно отнести неверную передачу управления, неверное задание диапазона изменения параметра цикла,
неверное условие и другие ошибки.