Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модели надежности.doc
Скачиваний:
102
Добавлен:
23.03.2016
Размер:
157.7 Кб
Скачать

5.5. Модели надёжности программных систем.

5.5.1. Классификация моделей надежности программных средств

Свойство надежности является важным для многих искусственно созданных объектов. В Википедии оно определяется так: «Надёжность — свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования». Как правило, с надежностью связывают его эксплуатационные свойства, и прежде всего такие:

  • безотказности,

  • долговечности,

  • ремонтопригодности

  • сохраняемости,

а также их комбинацией.

В соответствии с ГОСТ 27.002-80 эти свойства уточняются следующим образом.

Показатели безотказности

  1. Вероятность безотказной работы — вероятность того, что в пределах заданной наработки отказ системы не возникнет.

  2. Вероятность отказа — обратная величина, вероятность того, что в пределах заданной наработки отказ системы возникнет.

  3. Средняя наработка до отказа — математическое ожидание наработки системы до первого отказа (существенно для невосстанавливаемых систем).

  4. Средняя наработка на отказ (То, MTBF — Main Time Between Failures) — отношение наработки восстанавливаемой системы к математическому ожиданию числа ее отказов в пределах этой наработки (имеет смысл только для восстанавливаемых систем).

  5. Интенсивность отказов - условная плотность вероятности возникновения отказа невосстанавливаемой системы, определяемая для рассматриваемого момента времени при условии, что до этого момента отказ не возник.

  6. Параметр потока отказов (X(t)) - отношение среднего числа отказов для восстанавливаемой системы за произвольно малую ее наработку к значению этой наработки.

Показатели долговечности

  1. Средний ресурс - математическое ожидание наработки системы от начала ее эксплуатации или ее возобновления после ремонта до перехода в предельное состояние.

  2. Срок службы (Tcc) - календарная продолжительность от начала эксплуатации системы или ее возобновления после ремонта до перехода в предельное состояние.

  3. Комплексные показатели надежности.

Показатели ремонтопригодности

  1. Вероятность восстановления работоспособного состояния - вероятность того, что время восстановления работоспособного состояния не превысит заданного.

  2. Среднее время восстановления работоспособного состояния (Tв) - математическое ожидание времени восстановления работоспособного состояния системы.

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

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

  • Зрелость (величина, обратная частоте критических отказов, вызванных ошибками в ПО).

  • Устойчивость к отказам (способность поддерживать заданный уровень работоспособности при внутренних и внешних отказах).

  • Способность к восстановлению (способность восстанавливать определенный уровень работоспособности и целостность данных после отказа).

  • Соответствие стандартам надежности.

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

Рис.5.19. Классификация моделей надежности.

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

Рис.5.20. Другая классификация моделей надежности программного обеспечения

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

1. Прогнозные. Этот класс моделей формируется на этапе проектирования, и они позволяют рассчитать характеристики надежности программного средства до начала его отладки. Одна из метрик Холстеда (уравнение числа ошибок) принадлежит к этой группе. Она не рассматривается здесь, а приведена в разделе метрик, формируемых на основе лексического анализа программ. Модель Холстеда дает прогнозирование количества ошибок в программе в зависимости от ее объема и таких данных, как число операций (n1) и операндов (n2), а также их общее число (N1, N2).

2. Оценочные. Такие модели строятся на основе анализа результатов тестирования программ. Они позволяют на основе полученных значений характеристик надежности принимать решение о необходимости продолжать процедуру тестирования программного средства. К этой группе относятся такие модели: Джелинского—Моранды, Миллса и Простая Интуитивная или Эвристическая модель двух независимых групп тестирования Руднера.

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

Теперь перейдем к рассмотрению конкретных моделей.