Лекции о надёжности
Описание файла
Документ из архива "Лекции о надёжности", который расположен в категории "". Всё это находится в предмете "надёжность асоиу" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "надёжность асоиу" в общих файлах.
Онлайн просмотр документа "Лекции о надёжности"
Текст из документа "Лекции о надёжности"
1.5. Модели надежности программного и информационного обеспечения
Надежность является важным и естественным требованием, предъявляемым к качеству разрабатываемых программных и информационных компонентов АСОИУ. Теория надежности аппаратных средств АСОИУ разработана достаточно глубоко, поэтому при исследовании надежности программного и информационного обеспечения большинство методов используют идеи теории надежности технических средств. Это позволяет инженеру не только оценивать, но и прогнозировать надежность программно-информационных продуктов.
С точки зрения надежности между техническими устройствами и программными продуктами кроме несомненных аналогий имеются существенные различия. Так, небрежно написанный и отлаженный программный модуль, непродуманная схема технического устройства могут давать неправильные результаты уже на первых этапах тестирования. Однако на этом сходство заканчивается. Дело в том, что любое, даже самое надежное, техническое устройство подвержено эксплуатационному износу и со временем начинает отказывать из-за старения. Программные же модули лишены подобных недостатков, и их надежность может в ходе эксплуатации только увеличиваться за счет устранения выявляемых ошибок. Поэтому теоретически может возникнуть ситуация, когда при тестировании программного модуля ошибки уже не будут обнаруживаться.
В процессе анализа надежности программное и информационное обеспечение (ИО) можно рассматривать как подсистемы АСОИУ.
Работоспособным называется такое состояние программного средства, при котором оно способно выполнять заданные функции с параметрами, установленными требованиями технического задания. С переходом в неработоспособное состояние связано событие отказа. Причиной отказа программного средства является невозможность его полной проверки в процессе тестирования и испытаний. При эксплуатации программного средства в реальных условиях может возникнуть такая комбинация входных данных, которая вызовет отказ. Следовательно, работоспособность программного средства зависит от входных данных, и чем меньше эта зависимость, тем выше уровень надежности.
В общем случае отказы программного обеспечения определяются как отклонения от правильного хода выполнения программы вследствие ошибок, допущенных в процессе преобразования исходного алгоритма в действующую программу. А ошибка — это регистрируемый пользователем факт неудовлетворенности качеством программы, причина дефекта системы программного обеспечения; и наоборот, дефект рассматривается как проявление допущенной ранее ошибки.
Таким образом, надежность программного (и информационного) обеспечения можно определить как вероятность того, что отказ программного обеспечения, вызывающий отклонение получаемых результатов — выход их за допустимые пределы, не произойдет в течение заданного периода времени (при определенных условиях внешней среды).
Следует иметь в виду, что не все отказы приводят к уменьшению надежности программного обеспечения, а только те, которые вызывают отклонение результата расчета от допустимых пределов.
Под определенными условиями внешней среды обычно понимается состояние АСОИУ и описание входных данных в процессе выполнения программы. Состояние АСОИУ определяется в основном возможностями вычислительных средств обработки и хранения информации (например, объемом главной оперативной памяти) и зависит от требований к программному обеспечению в части его способности нормально функционировать при наличии отказов. Под способностью подразумеваются свойства программного обеспечения, которые закладываются при его проектировании (например, возможность смены программ в памяти; возможность возобновления работ с некоторых контрольных точек и т. д.). В общем случае работа в условиях внешней среды, не предусмотренных техническим заданием и проектом программного обеспечения, приведет к снижению надежности последнего.
Временной факторпри расчете надежности учитывает время, необходимое для вычислительного процесса решения той или иной задачи. Выделение определенного временного интервала для оценки качества программного обеспечения, по-видимому, целесообразно для систем реального времени, в которых непредсказуемыми являются число расчетов по любой из действующих программ, состояние базы данных и моменты начала выполнения той или иной программы. Каждый раз перед повторным запуском программы необходимо либо восстанавливать исходное состояние памяти, либо осуществлять серию последовательных просчетов программы, при которых определенным образом последовательно изменяется состояние базы данных.
Модель надежности программного и информационного обеспечения—это математическая модель, построенная для оценки зависимости надежности программного и информационного обеспечения от некоторых определенных параметров. Например, параметров, связанных с какой-либо ветвью программы на подмножестве наборов входных данных, с помощью которых эта ветвь контролируется. Или частоты ошибок, которая позволяет оценить качество систем реального времени, функционирующих в непрерывном режиме, и при этом получить косвенные данные о надежности программного и информационного обеспечения.
Известные модели надежности программного и информационного обеспечения АСОИУ можно классифицировать по различным признакам, в частности по тому, какой из перечисленных процессов они поддерживают (предсказывающие, прогнозные, оценивающие, измеряющие). Модели надежности, которые в качестве исходной информации используют данные об интервалах между отказами, можно отнести к измеряющим или к оценивающим в равной степени. Некоторые модели, основанные на информации, полученной в ходе тестирования программного средства, дают возможность делать прогнозы его поведения в процессе эксплуатации.
Аналитические модели позволяют рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования (измеряющие и оценивающие модели).
Аналитические модели реализуются в виде динамических и статических. В динамических моделях надежности программно-информационных средств поведение программы (появление отказов) рассмат-ривается во времени. В статических моделях появление отказов не связывают со временем, а учитывают только зависимость количества ошибок от числа тестовых прогонов (по области ошибок) или зависимость количества ошибок от характеристики входных данных (по области данных). Именно аналитическим моделям уделено особое внимание в данном параграфе.
Эмпирические модели базируются на анализе структурных особенностей программ. При разработке эмпирических моделей надежности программного и информационного обеспечения предполагается, что связь между надежностью и другими параметрами является статической.
Эти модели рассматривают зависимость показателей надежности от числа межмодульных связей, количества циклов в модулях, отношения количества прямолинейных участков к количеству точек ветвления и т. п. Иначе говоря, при разработке эмпирической модели стремятся иметь дело с такими параметрами, соответствующее изменение значений которых должно приводить к повышению надежности программного и информационного обеспечения. Необходимо отметить, что нередко эмпирические модели не дают конечных результатов показателей надежности.
Основные количественные показатели надежности программного и информационного обеспечения
Для оценки надежности используются три группы показателей: качественные, порядковые и количественные.
К основным количественным показателям надежности программного средства относятся:
Вероятность безотказной работы P(t3) — это вероятность того, что в пределах заданной наработки отказ системы не возникает. При этом под наработкой понимается продолжительность или объем работ.
где t— случайное время работы программно-информационного обеспечения до отказа; t3 — заданная наработка.
Вероятность отказа — вероятность того, что в пределах заданной наработки отказ программно-информационной системы возникает. Это показатель, обратный предыдущему:
где f(t) — плотность вероятности отказа в момент времени L
Связь между λ(t) и P(t) определяется следующим соотношением:
Интенсивность отказов ПО и ИО системы λ( t) — это условная плотность вероятности возникновения отказа программного или информационного обеспечения в определенный момент времени при условии, что до этого времени отказ не возник.
В частном случае при λ ■ const
Если в процессе тестирования фиксируется определенное число отказов за некоторый интервал времени, то интенсивность отказов системы λ(t) характеризует число отказов в единицу времени.
где t— время работы программного или информационного обеспечения от (i -1 )-го до i -го отказа.
Средняя наработка до отказа Т. — математическое ожидание времени работы программного или информационного обеспечения АСОИУ до очередного отказа.
где ti— время работы программного средства между отказами; ι = 1, 2, ..., n —количество отказов.
Среднее время восстановления Ti — математическое ожидание времени восстановления (tвi), времени, затраченного на восстановление и локализацию отказа (tолi), времени устранения отказа (iyoi), времени пропускной проверки работоспособности (tnni):
Для этого показателя термин «время» означает время, затраченное программистом на перечисленные виды работ.
Коэффициент готовности Кi оценивается как вероятность того, что программное и информационное обеспечение АСОИУ будет находиться в работоспособном состоянии в произвольный момент времени его использования по назначению:
Напомним, что работоспособным называется такое состояние программно-информационного обеспечения, при котором оно способно выполнять заданные функции с параметрами, установленными требованиями технического задания. С переходом в неработоспособное состояние связано событие отказа.
Причиной отказа программного и информационного обеспечения является невозможность его полной проверки в процессе тестирования и испытаний. При эксплуатации ПО и ИО в реальных условиях может возникнуть такая комбинация входных данных, которая может вызвать отказ. Следовательно, работоспособность рассматриваемых подсистем может зависеть и от значений входных данных. Причем чем меньше эта зависимость, тем выше уровень надежности подсистем АСОИУ.
Основным средством определения количественных показателей надежности являются модели надежности, под которыми понимают математические модели, построенные для оценки зависимости надежности от заранее известных или оцененных в ходе создания программного средства параметров. В связи с этим определение надежности показателей принято рассматривать в единстве трех процессов — предсказание, измерение, оценивание.
Предсказание — определение количественных показателей надежности исходя из характеристик будущего программно-информационного продукта.
Измерение— определение количественных показателей надежности, основанное на анализе данных об интервалах между отказами, полученных при выполнении программных заданий в условиях тестовых испытаний.
Оценивание— определение количественных показателей надежности, основанное на данных об интервалах между отказами, полученных в процессе испытания ПО и ИО АСОИУ в реальных условиях функционирования.
Динамические модели
Аналитическое моделирование надежности программного средства включает четыре шага:
-
определение предположений, связанных с процедурой тестирования программного средства;
-
разработку или выбор аналитической модели, базирующейся на предположениях о процедуре тестирования;
• выбор параметров моделей с использованием полученных данных;
• применение модели расчета количественных показателей надежности.
Аналитические модели представлены двумя группами: динамические и статические модели надежности. Наиболее известными динамическими моделями являются модели Шумана, La Padula, Джелин-ского-Моранды, Шика-Волвертона, Муса. К статическим относят модели Миллса, Липова, Коркорэна, Нельсона.