75.72K
Category: softwaresoftware

Причины отказов программного обеспечения, признаки появления ошибок. Лекция №2

1.

Лекция №2 Причины отказов
программного обеспечения, признаки
появления ошибок.
План лекции:
1. Основные понятия.
2. Причины отказов ПО
3. Последствия и признаки появления ошибок в программе

2.

Вопрос №1. Основные понятия.
1. Решение любой задачи, выполнение любой функции, возложенной на ЭВМ, возможно только при соответствующем
взаимодействии и функционировании аппаратурных и программных
средств
вычислительной машины. Поэтому
при анализе надежности выполнения ЭВМ заданных функций
ЭВМ следует рассматривать как единый комплекс аппаратурных
и программных средств и учитывать, что надежность работы
ЭВМ зависит не только от надежности аппаратуры, но и от
надежности программного обеспечения.

3.

2.Под надёжностью ПО понимается свойство выполнять заданные функции, сохранять свои характеристики в установленных
пределах при определенных условиях эксплуатации.
3.Надежность программного обеспечения (или просто программы) определяется его (ее) безотказностью и восстанавливаемостью.
Безотказность программы или программного обеспечения есть ее
(его) свойство сохранять работоспособность при использовании в
процессе обработки информации на ЭВМ.

4.

4. Безотказность ПО можно оценить как вероятность его работы
без отказов при определённых уровнях внешней среды в течение
заданного периода наблюдения.
В данном определении под отказом программы или системы
программного
обеспечения
понимается
недопустимое
отклонение характеристик процесса функционирования программы
от требуемых.
Определенные условия внешней среды понимаются как
совокупность входных данных и состояния вычислительной
системы. Заданный период наблюдений соответствует, как правило,
необходимому для выполнения решаемой на машине задачи.

5.

5. Безотказность программного средства можно также характеризовать средним временем между возникновениями отказов
в функционировании программы. При этом предполагается, что
аппаратура ЭВМ находится полностью в работоспособном
состоянии.
6. С точки зрения надежности принципиальное отличие
программного обеспечения от аппаратуры состоит в том,
что программы не изнашиваются и, следовательно, их выход из
строя из-за поломки невозможен. Поэтому характеристики
функционирования программного обеспечения зависят только от
его качества, предопределяемого процессом разработки.

6.

7. Безотказность программного обеспечения определяется его
корректностью (правильностью) и, следовательно, целиком
зависит от наличия в нем ошибок, внесенных на этапах его
создания, в то время как безотказность аппаратуры определяется в
основном случайными отказами, зависящими от изменений
параметров аппаратуры, происходящих во время эксплуатации.

7.

8. Надежность аппаратуры и ПО по разному зависит от входных
данных и времени функционирования системы. Обрабатываемые
данные, как правило, не влияют на отказы аппаратуры. Процесс
выхода из строя отдельных элементов аппаратуры не зависит от
поступающих входных данных.
В то же время проявление ошибок программного обеспечения
связано с тем, что в некоторые моменты времени на обработку
поступают ранее не встречавшиеся совокупности данных, которые
программа не в состоянии корректно обработать. Таким образом,
входные
данные
в
значительной
мере
влияют
на
функционирование программного обеспечения.

8.

9. Важной
характеристикой
надежности
ПО является
его восстанавливаемость, которая определяется затратами времени и труда
на устранение отказа из-за проявившейся ошибки в программе и его последствий.
Восстановление после отказа в программе может заключаться в
корректировке и восстановлении текста программы, исправлении данных,
внесении изменений в организацию вычислительного процесса, что часто
оказывается необходимым при работе ЭВМ в реальном масштабе времени.
Восстанавливаемость ПО оценивается средней продолжительностью
устранения ошибки в программе и восстановления ее работоспособности и
зависит от факторов, в том числе от сложности структуры комплекса
программ, структурированности самих программ, алгоритмического языка, на
котором
разрабатывалась
программа,
стиля
программирования,
качества документации на программу и т. п.

9.

10.
Под
обеспечения,
устойчивостью
понимается
его
функционирования
способность
программного
ограничивать
последствия
собственных ошибок и неблагоприятных воздействий внешней среды
(неисправности аппаратуры, некорректность входных данных, ошибки
оператора и др.) или противостоять им.
11. Устойчивость ПО может быть повышена с помощью разных форм
структурной, информационной и временной избыточности, позволяющих
иметь дублирующие модули программ, альтернативные программы для
решения одних и тех же задач, осуществлять контроль за процессом
исполнения
программ
(контроль
за
зацикливанием,
возникновением
самоблокировок, перегрузками по пропускной способности) и т. п.

10.

Вопрос №2. Причины отказов программного
обеспечения
Основными
причинами,
вызывающими
нарушение
нормального функционирования программы, являются:
1. изменения входящей информации, которая подлежит обработке;
2. ошибки, которые могут быть скрыты непосредственно в самой
программе;
3. неправильные действия пользователя;
4. неисправность аппаратуры установки, на которой реализуется
вычислительный процесс.

11.

Скрытые ошибки программы.
Специфика создания сложных программных средств состоит в
том, что в процессе их отладки практически невозможно
обнаружить и ликвидировать все ошибки. В результате в
программах остается некоторое количество скрытых ошибок. Они
могут вызвать неверное функционирование программ при
определенных сочетаниях входных данных. Наличие скрытых
ошибок ПО является главным фактором нарушения нормальных
условий его функционирования.

12.

Выделяют следующие основные классы ошибок в программах:
1. Ошибки вычисл ений . Ошибки данного класса содержатся в
закодированных математических выражениях или в получаемых с их
помощью результатах. Примерами ошибок, относящихся к данному
классу, являются неверное преобразование типов переменных,
неверный знак операции, ошибка в выражении индекса, переполнение
или потеря значимости при вычислениях.
2. Логические о ш и б к и - являются причиной искажения алгоритма
решения задачи. Такого рода ошибки возникают в связи с неверной
передачей управления, неверным заданием диапазона изменения
параметра цикла, неверным условием и т. д.

13.

3. Ошибки ввода -вывода , ошибки, которые связаны с такими действиями, как управление вводом-выводом, формирование выходных
записей, определение размеров записей и т. д. Примерами ошибок
ввода-вывода являются неправильная форма ввода (вывода), ошибка в
задании числа формируемых строк (страниц) при печати, отсутствие
признака конца файла и т. д.
4. Ошибки м а н и п ул и р о в а н и я данными. Примерами таких ошибок
являются неверно определенное число элементов данных; неверные
начальные значения, присвоенные данным; неверно указанные длина
операнда, имя переменной и т. д.
5. Ошибки совместимости связаны с отсутствием совместимости с
операционной системой или другими прикладными программами,
используемыми в данной программе.

14.

6. Ошибки сопряжений вызывают неверное взаимодействие
программы с другими программами (подпрограммами), с
системными программами, устройствами ЭВМ, входными
данными и т. д. В качестве примеров ошибок сопряжения могут
быть названы несовместимость аргументов и параметров
подпрограммы, отсутствие в системе необходимой подпрограммы,
нарушения синхронизации при асинхронном выполнении
программ и т. д.
Искажение информации, подлежащей обработке, вызывает
нарушение функционирования ПО, когда входные данные не
попадают в область допустимых значений переменных программы.
В этом случае между исходной информацией и характеристиками
программы возникает несоответствие.

15.

Причинами искажения вводимой информации могут быть
следующие:
искажение данных на первичных носителях информации;
сбои и отказы в аппаратуре ввода данных;
шумы и сбои в каналах связи при передаче сообщений;
сбои и отказы в аппаратуре при передаче или приеме информации;
потери или искажения сообщений в буфере вычислительной системы;
ошибки в документации, используемой для подготовки вводимых
данных;
ошибки пользователей при подготовке исходной информации.

16.

Неверные действия пользователя, приводящие к отказу в процессе
функционирования ПО, связаны, прежде всего, с неправильной
интерпретацией сообщений, получаемых пользователем, а также с
неправильными действиями пользователя в процессе диалога с ЭВМ.
Отказы
ПО,
обусловленные
ошибками
пользователя,
нарываются ошибками использования. Часто эти ошибки являются следствием
некачественной
программной
документации
(неверное
описание
возможностей программы, режимов работы, форматов входной и выходной
информации, диагностических сообщений и т. д.).
Неисправность аппаратуры. Неисправности, возникающие при работе
аппаратуры, используемой для реализации вычислительного процесса,
оказывают определенное влияние на характеристику надежности ПО.
Появление отказа или сбоя в работе аппаратуры приводит к нарушению нормального хода вычислительного процесса и во многих случаях — к
искажению данных и текстов программ в основной и внешней памяти.

17.

Вопрос №3. Последствия и признаки появления
ошибок в программе
Признаки:
несвоевременное окончание выполнения программы;
неприемлемое увеличение времени некоторой последовательности
команд одной из программ;
полная потеря или значительное искажение накопленных данных,
необходимых для успешного выполнения решаемых задач;
нарушение последовательности вызова отдельных программ, в
результате чего происходит пропуск необходимых программ;
искажение отдельных элементов данных (входных, выходных,
промежуточных) в результате обработки искаженной исходной
информации.

18.

Следствием появления ошибки в программе является
ее отказ, заключающийся в отклонении от выполнения программой заданных функций.
В зависимости от степени серьезности последствий ошибок
(отказов) в программе эти отклонения можно разделить
следующим образом:
- полное прекращение выполнения функций на длительное или
неопределенное время;
-
кратковременное нарушение хода вычислительного процесса.

19.

Степень
серьезности
последствий
ошибок
в
программе
оценивается
как:
соотношением
между
длительностью восстановительных работ, которые необходимо
произвести после отказа в программе, и динамическими
характеристиками объектов, использующих результаты работы
программных средств.
К таким характеристикам объектов относятся, например,
инерционность объектов, выступающих в качестве источников
и потребителей информации; заданная частота решения задач
обработки
информации;
заданное
время
реакции
вычислительной системы на запросы пользователей и др.
English     Русский Rules