НиД (10) - Лекция №8 - Надёжность ПО

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску

Надёжность ПО

Ошибка - несколько определений:

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

Надёжность ПО - это свойство системы выполнять заданные функции, сохраняя во времени значение эксплуатационных показателей в установленных пределах, соответствующих режимам и условиям эксплуатации. Это вероятность того, что ПО будет работать без сбоев на протяжение некоторого отрезка времени $$\Delta t$$ с учётом влияния ошибок на результат.

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

Параметр ТО ПО
Зависимость от входных данных не зависит зависит
Характер появления ошибок случайный постоянный
Область применения широкая узконаправленная
Составные элементы блоки код

В общем, факторы, оказывающие влияние, делятся на:

  • архитектурное решение;
  • опыт сотрудников;
  • масштаб работ;
  • организация разработки.

Конкретно, они представлены так:

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

Надёжность информационных систем

Под надёжностью ИС понимается их достоверность.

Ошибки могут возникать во входных информационных элементах и в процедуре формирования.

Информационные элементы - это реквезиты, сообщения, документы.

Причины возникновения ошибок:

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

Трёхуровневая модель повышения надёжности:

  1. анализ базовых показателей;
  2. выбор средства повышения достоверности (может быть пропущен);
  3. выбор комплекса средств повышения достоверности.

Базовые показатели:

технические
$$P_{ед} = \frac{n){ед} }{N}$$, где:
$$n_{ед}$$ - количество элементов с хотя бы одной ошибкой;
$$N$$ - количество всех элементов.
$$R = \{r_i\}$$, где $$R$$ - множество всех элементов.
$$L_i = \{l_{i,z}\}$$
$$q_{i,z} = \frac{n_{i,z} }{N}$$
$$D_{i,h}\subset L_i$$
$$q(D_{i,h}) = 1 - \Pi_{l_{i,z}\in D_{i,h} }(1 - q_{i,z})$$
$$D_{i,h}\cap D_{i,z} = \varnothing$$
экономические:
$$R^e = R$$
$$S_{not} = \sum_{R^e}\lambda_i\cdot\sum_{D_{i,h} }q(D_{i,h})\cdot S_{i,h}$$, где:
$$\lambda$$ - интенсивность $$i$$-го элемента в системе;
$$q$$ - вероястность появления $$h$$ класса ошибки в $$i$$-м элементе;
$$S$$ - затраты на исправление.

Средства повышения достоверности

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

Основные характеристики СПД:

  • множество ошибок, корректируемых данным СПД;
  • вероятность повторного возникновения ошибок после коррекции;
  • стоимость эксплуатации.

Классификация средств повышения достоверности:

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