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

ПО с течением времени улучшается, у меня снижается частота отказов (ошибок). Но жизненный цикл ПО меньше, чем технического оборудования (моральное устаревание).
Параметр | ТО | ПО |
---|---|---|
Зависимость от входных данных | не зависит | зависит |
Характер появления ошибок | случайный | постоянный |
Область применения | широкая | узконаправленная |
Составные элементы | блоки | код |
В общем, факторы, оказывающие влияние, делятся на:
- архитектурное решение;
- опыт сотрудников;
- масштаб работ;
- организация разработки.
Конкретно, они представлены так:
- общие:
- процедуры управления разработкой;
- подготовка и квалификация персонала;
- архитектура системы;
- языки программирования;
- связанные с разработкой ПО:
- конструктивные:
- размеры системы;
- сложность системы;
- структура системы;
- степень последовательности выполнения шагов;
- технологические:
- качество программирования;
- принятные конструктивные решения;
- объём программы;
- логическая сложность;
- степень выполнения требований;
- организационные:
- управление надёжностью тестирования;
- степерь обучения персонала;
- микроклимат в среде разработчиков;
- временные ограничения;
- конструктивные:
- эксплуатационные:
- полнота и качество документации;
- простота освоения пользователем;
- степень соответствия стандартам.
Надёжность информационных систем
Под надёжностью ИС понимается их достоверность.

Ошибки могут возникать во входных информационных элементах и в процедуре формирования.
Информационные элементы - это реквезиты, сообщения, документы.
Причины возникновения ошибок:
- человеческий фактор:
- ошибки операторов при вводе данных, из-за недостатка опыта, из-за усталости;
- намеренные действия злоумышленников;
- сбои и отказы оборудования;
- плохие входные данные;
- низкое качество технологии;
- отсутствие документации и регламента.
Трёхуровневая модель повышения надёжности:
- анализ базовых показателей;
- выбор средства повышения достоверности (может быть пропущен);
- выбор комплекса средств повышения достоверности.
Базовые показатели:
- технические
- $$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$$
- $$P_{ед} = \frac{n){ед} }{N}$$, где:
- экономические:
- $$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$$ - затраты на исправление.
Средства повышения достоверности
Это организационные, технические или аппаратные средства и методы, направленные на предотвращение, выявление и коррекцию ошибок в информационных элементах.
Основные характеристики СПД:
- множество ошибок, корректируемых данным СПД;
- вероятность повторного возникновения ошибок после коррекции;
- стоимость эксплуатации.
Классификация средств повышения достоверности:
- мероприятия по предотвращению ошибок:
- снижение нагрузок;
- рационализация труда;
- методы контроля и коррекции:
- без избыточной информации:
- повторное сравнение;
- проверка несколькими операторами;
- с избыточной информацией:
- по способу реализации:
- системные;
- программные;
- аппаратные;
- по степени автоматизации:
- ручные;
- автоматизированные;
- автоматические;
- по типу избыточности:
- с избыточной входной информацией;
- с избыточной выходной информацией.
- по способу реализации:
- без избыточной информации: