Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП пособие Шишов.doc
Скачиваний:
132
Добавлен:
17.11.2018
Размер:
3.25 Mб
Скачать

4.4 Факторы надежности

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

Объекты уязвимости

Дестабилизирующие факторы и угрозы надежности

Методы предотвращения угрозы надежности:

Последствия нарушения надежности:

Вычислит. процесс

Объектный код

Инф-ция для потребителей

Внутренние:

1. ошибки проектирования при постановке задачи

2. ошибки алгоритмизации задачи

3. ошибки программирования

4. недостаточное качество средств защиты

Внешние:

1. ошибки персонала при эксплуатации

2. искажение инф-ции в каналах связи

3. сбои и отказы аппаратуры ЭВМ

4. изменение конфигурации системы

1. предотвращение ошибок проектирования в технологии

2. систематическое тестирование

3. обязательная сертификация

1. разрушение выч-ного процесса

2. разрушение инф-ции базы данных

3. разрушение текста программ

4. разрушение инф-ции для потребителя

Оперативные методы повышения надежности:

1. временная избыточность

2. инф-ционная избыточность

3. программная избыточность

Объектами уязвимости влияющими на надежность ПС являются:

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

              2. информация, накопленная в БД, отражающая объекты внешней среды в процессе ее обработки;

              3. объектный код программы исполняемых вычислительными средствами в процессе функционирования ПС;

              4. информация подаваемая пользователю и на исполнительные механизмы, являющаяся результатом обработки исходных данных и информации накопленной в БД.

На эти объекты воздействуют различные дестабилизирующие факторы:

Внутренние:

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

  2. алгоритмические ошибки разработки при непосредственной спецификации функций ПС, при определении структуры и взаимодействии компонент комплекса программ, а также при использовании БД.

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

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

Внешние:

  1. ошибки оперативного и обслуживающего персонала в процессе эксплуатации ПС.

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

  3. сбои и отказы в аппаратуре вычислительных средств.

  4. изменение состава и конфигурации комплекса, взаимодействующей аппаратуры информационной системы за пределы проведенные при испытании или сертификации и отлаженной ПС в эксплуатационной документации.

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

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

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

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

Часто самым «ненадежным элементом» современных систем являются люди. Уже хорошо известно, что в условиях монотонной работы за пультом вычислительной установки операторы допускают большое количество ошибок. Известны и средства, позволяющие снизить количество ошибок в конкретных ситуациях. Так, там, где это возможно, используют ввод избыточной информации, позволяющий выполнять проверки правильности вводимых данных (ввод контрольных сумм и т. п.. Кроме этого, широко используют всякого рода подсказки, когда информацию необходимо не вводить, а выбирать из некоторого списка и т. п.

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

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

В отличии от аппаратного обеспечения ПО с течением времени не «изнашивается» просто выявляются все новые и новые его дефекты. На рис. показана кривая распределения сбоев на протяжении эксплуатации ПО.