Методы и средства обеспечения надежности автоматизированных информационных систем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Методы и средства обеспечения надежности автоматизированных информационных систем



 

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

Существуют определения основных понятий надежности программного обеспечения в соответствии с классической работой Г. Майерса:

· В программном обеспечении имеется ошибка, если оно не выполняет того, что пользователю разумно от него ожидать.

· Отказ программного обеспечения - это появление в нем ошибки.

· Надежность программного обеспечения - есть вероятность его работы без отказов в течение определенного периода времени, рассчитанного с учетом стоимости для пользователя каждого отказа.

Из данных определений можно сделать важные выводы:

· Надежность программного обеспечения является не только внутренним свойством программы.

· Надежность программного обеспечения - это функция как самого программного обеспечения, так и ожиданий (действий) его пользователей.

Основными причинами ошибок программного обеспечения являются:

· Большая сложность программного обеспечения, например, по сравнению с аппаратурой ЭВМ.

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

Источниками ошибок (угрозами надежности) программного обеспечения являются:

· Внутренние: ошибки проектирования, ошибки алгоритмизации, ошибки программирования, недостаточное качество средств защиты, ошибки в документации.

· Внешние: ошибки пользователей, сбои и отказы аппаратуры ЭВМ, искажение информации в каналах связи, изменения конфигурации системы.

Методы проектирования надежного программного обеспечения можно разбить на следующие группы:

· Предупреждение ошибок, методы позволяющие минимизировать или исключить появление ошибки.

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

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

Методы предупреждения ошибок концентрируются на отдельных этапах процесса проектирования программного обеспечения и включают в себя:

· Методы, позволяющие справиться со сложностью системы.

· Методы достижения большей точности при переводе информации.

· Методы улучшения обмена информацией.

· Методы немедленного обнаружения и устранения ошибок на каждом шаге (этапе) проектирования, не откладывая их на этап тестирования программы.

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

· Иерархическая структура. Иерархия позволяет разбить систему по уровням понимания (абстракции, управления). Концепция уровней позволяет анализировать систему, скрывая несущественные для данного уровня детали реализации других уровней. Иерархия позволяет понимать, проектировать и описывать сложные системы.

· Независимость. В соответствии с этой концепцией, для минимизации сложности, необходимо максимально усилить независимость элементов системы.

Это означает такую декомпозицию системы, чтобы её высокочастотная динамика была заключена в отдельных компонентах, а межкомпонентные взаимодействия (связи) описывали только низкочастотную динамику системы [6]. Методы обнаружения ошибок базируются на введении в программное обеспечение системы различных видов избыточности:

· Временная избыточность. Использование части производительности ЭВМ для контроля исполнения и восстановления работоспособности программного обеспечения после сбоя.

· Информационная избыточность [17]. Дублирование части данных информационной системы для обеспечения надёжности и контроля достоверности данных.

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

Методы обеспечения устойчивости к ошибкам направлены на минимизацию ущерба, вызванного появлением ошибок, и включают в себя:

· обработку сбоев аппаратуры;

· повторное выполнение операций;

· динамическое изменение конфигурации;

· сокращенное обслуживание в случае отказа отдельных функций системы;

· копирование и восстановление данных;

· изоляцию ошибок.

Важным этапом жизненного цикла программного обеспечения, определяющим качество и надёжность системы, является тестирование [10]. Тестирование - процесс выполнения программ с намерением найти ошибки. Этапы тестирования:

· Автономное тестирование, контроль отдельного программного модуля отдельно от других модулей системы.

· Тестирование сопряжений, контроль сопряжений (связей) между частями системы (модулями, компонентами, подсистемами).

· Тестирование функций, контроль выполнения системой автоматизируемых функций.

· Комплексное тестирование, проверка соответствия системы требованиям пользователей.

· Тестирование полноты и корректности документации, выполнение программы в строгом соответствии с инструкциями.

· Тестирование конфигураций, проверка каждого конкретного варианта поставки (установки) системы.

Все вышеизложенное должно быть принято к рассмотрению и реализации.



Поделиться:


Последнее изменение этой страницы: 2020-03-14; просмотров: 214; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.200.101.170 (0.023 с.)