Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Н
(справочное)
Выбор и применение моделей безотказности программного обеспечения
В настоящее время существует много моделей и показателей для оценки вероятности безотказной работы и оценки характеристик программного обеспечения. Все модели разработаны для подгонки кривых модели с использованием входных данных. Достоверность и точность применения модели и полученного результата зависят от предположений, сделанных при построении модели, и релевантности входных данных модели. Наибольшее количество моделей разработано для удовлетворения конкретных потребностей в течение жизненного цикла программного обеспечения. Примеры включают модель прогнозирования в процессе проектирования программного обеспечения и модель оценки дополнительного времени тестирования, необходимого перед выпуском программного обеспечения. Некоторые модели разработаны для прогнозирования надежности программного обеспечения еще до написания кода. Ввод данных для прогнозирования надежности в таком случае часто основывается на данных работы и применения аналогичной программной системы. Другие модели используют для оценки тенденций повышения интеграции системы программного обеспечения, на основе промежуточных тестовых входных данных. Не существует единой модели, способной охватить весь жизненный цикл программного обеспечения. На практике для определения вероятности безотказной работы программного обеспечения часто используют несколько моделей. Для выбора модели часто используют статистические методы, такие как критерии согласия, чтобы проверить, насколько хорошо модель соответствует набору наблюдений. Большая часть моделей для оценки вероятности безотказной работы программного обеспечения автоматизированы из-за их итерационных вычислений. Интерпретация результатов моделирования безотказности требует практического опыта и знаний в области надежности.
В таблице Н.1 представлены некоторые примеры моделей безотказности программного обеспечения, используемых в отраслевой практике. В цели настоящего стандарта не входит детальная формулировка модели и ее применения. Ссылки на модели безотказности программного обеспечения и их конкретные применения хорошо описаны в литературе [14, 37].
Таблица Н.1 - Примеры моделей безотказности программного обеспечения
|
Наименование модели |
Предположения |
Требования к данным |
Ограничения применения |
1 |
Musa-basic |
- Конечное количество присущих неисправностей (скрытых неисправностей) - Постоянная интенсивность неисправностей во времени - Экспоненциальное распределение |
- Количество обнаруженных неисправностей в определенный момент времени - Оценка начальной интенсивности отказов - Текущая интенсивность отказов системы программного обеспечения |
- Программное обеспечение находится в эксплуатации - Использование после интеграции системы - Предполагается, что корректировка не вводит новые неисправности - Предполагается, что количество остаточных неисправностей линейно уменьшается с течением времени |
2 |
Musa-Okumoto |
- Бесконечное количество присущих неисправностей (скрытых неисправностей) - Изменение интенсивности ошибок во времени - Логарифмическое распределение |
- Количество обнаруженных неисправностей в определенный момент времени - Оценка начальной интенсивности отказов - Относительное изменение интенсивности отказов во времени - Текущая интенсивность отказов системы программного обеспечения |
- Программное обеспечение находится в эксплуатации - Использование модулей в тестовых системах - Предположение, что корректировка не вводит новые неисправности - Предположение, что количество остаточных неисправностей со временем экспоненциально уменьшается |
3 |
Jelinski-Moranda |
- Конечное и постоянное количество присущих неисправностей (скрытых неисправностей) - Постоянная интенсивность ошибок во времени - Неисправности устраняют сразу после обнаружения - Биномиальное экспоненциальное распределение |
- Количество устраненных неисправностей в определенный момент времени - Оценка начальной интенсивности отказов - Текущая интенсивность отказов системы программного обеспечения |
- Программное обеспечение находится в эксплуатации - Использование после интеграции системы - Предположение, что корректировка не вводит новые неисправности - Предположение, что количество остаточных неисправностей линейно уменьшается с течением времени |
4 |
Littlewood-Verrall |
Неопределенность в процессе коррекции |
- Оценка количества отказов - Оценка скорости повышения надежности - Время между обнаруженными отказами или время возникновения отказа |
Программное обеспечение находится в эксплуатации |
5 |
Schneidewind |
Корректировка не вводит новые неисправности |
- Оценка интенсивности отказов в начале первого интервала - Оценка константы пропорциональности изменения интенсивности отказов во времени - Неисправности, обнаруженные в равные промежутки времени |
- Программное обеспечение находится в эксплуатации - Скорость обнаружения неисправностей уменьшается экспоненциально с течением времени |
6 |
Geometric |
Количество присущих неисправностей должно быть бесконечным |
- Уменьшение в соответствии с функцией геометрической прогрессии по мере обнаружения отказов - Время между возникновением отказов или время возникновения отказа |
- Программное обеспечение находится в эксплуатации - Неисправности независимы и неравны по вероятности возникновения и степени тяжести |
7 |
Brooks-Motley |
Интенсивность обнаружения неисправностей во времени |
- Трудозатраты выполнения каждого теста - Вероятность обнаружения неисправности в i-м тесте - Вероятность устранения неисправностей без введения новых - Количество неисправностей, оставшихся к началу i-го теста - Общее количество неисправностей, обнаруженных в каждом тесте |
- Программное обеспечение в процессе разработки - Некоторые программные модули отличаются по тестовым усилиям |
8 |
Bayesian |
Программное обеспечение относительно свободно от неисправностей |
- Продолжительность времени тестирования для каждого интервала - Количество отказов, обнаруженных в каждом интервале |
- Программное обеспечение находится в эксплуатации - Программное обеспечение корректируется в конце интервала тестирования |
9 |
Keene |
Корреляция количества скрытых неисправностей в поставляемых блоках с возможностями процесса разработки и объемом программного обеспечения (KSLOCs) |
Уровень зрелости СММ для оценки возможностей процесса, оцененный KSLOC поставляемый код, оцененное количество месяцев до достижения зрелости после выпуска, скрытые неисправности, процент неисправностей 1-й и 2-й степени значимости, время восстановления, часы использования кода в неделю и процент активации неисправностей |
- Процент активации неисправностей является оценочным параметром, представляющим средний процент мест пользователей системы, у которых, вероятно, возникнет конкретная неисправность - Уровень возможностей СММ должен быть оценен для организации разработки, а также для организации технического обслуживания |
Для облегчения выбора модели следует использовать следующие критерии:
- профили отказов;
- зрелость программного продукта;
- параметры разработки программного обеспечения;
- характеристики тестирования программного обеспечения;
- существующие показатели и данные.
Для выполнения модели рекомендуется использовать автоматизированные вычислительные средства. Существуют коммерчески доступные средства, которые охватывают некоторые или все модели безотказности программного обеспечения, указанные в таблице Н.1. Основным преимуществом использования автоматизированных вычислительных средств является экономия времени и затрат на реализацию модели. Выбрав подходящий метод, можно сравнить результаты набора данных, выполненных на нескольких моделях, чтобы определить наиболее подходящий.
При выборе метода организации следует учитывать следующие критерии:
- наличие средства, совместимого с компьютерными системами организации;
- стоимость установки и обслуживания программы;
- количество исследований, которые, вероятно, будут проведены для применения средства;
- типы систем программного обеспечения, подлежащих изучению;
- качество документации о применении средства;
- простота изучения средства;
- гибкость и мощь средства;
- техническая поддержка средства.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.