Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
197747.rtf
Скачиваний:
18
Добавлен:
01.03.2025
Размер:
14.96 Mб
Скачать

3. Выбор и обоснование характеристик надежности по

Выбор, установление и утверждение характеристик оценки надежности и сопоставления с требованиями спецификаций связано с определенными этапами жизненного цикла программного средства. Под жизненным циклом ПС (software life cycle) понимают весь период его разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и кончая прекращением всех видов его использования. Жизненный цикл охватывает довольно сложный процесс создания и использования ПС (software process). Этот процесс может быть организован по-разному для разных классов ПС и в зависимости от особенностей коллектива разработчиков.

В простейшем варианте набор этапов жизненного цикла таков:

· системный анализ (анализ требований);

· проектирование (предварительное и детальное);

· кодирование и отладка ("программирование");

· тестирование;

· эксплуатация (хранение и внедрение) и сопровождение.

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

1) масштабность и сложность заданий на ПО, многофункциональность, универсальность, большой объем обрабатываемой информации,.

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

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

На этапе проектирование закладывается корректность программ и основными влияющими факторами являются:

1) технология разработки

2) структурная упорядоченность программ и данных, стандартизация структуры единиц ПО;

3) уровень автоматизации проектирования и испытаний

4) выбор способов и критериев отладки

5) создание инструментальной среды

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

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

12. Методы оценки и повышения надежности программного обеспечения

1. Модели оценки надежности программ

Оценка и прогнозирование надежности программ осуществляется на основе математических моделей надежности программ. Общие предпосылки для всех моделей следующие. В начальный момент времени программа работает и сохраняет свою работоспособность до окончания интервала времени t1, когда обнаруживается ошибка в программе. Программист исправляет программу, которая затем исправно работает до t2 и т.д. Т.о. для построения вероятностной модели имеется:

А) Случайное время между двумя последовательными отказами, к-е имеет функцию плотности распределения f(t/li) появления ошибок

Б) число оставшихся ошибок в программе

Самой известной моделью надежности является модель Джелински-Моранды, опирающая на модели надежности аппаратуры.

Пусть R(t) - функция надежности, т.е. вероятность того, что ни одна ошибка не появится в интервале от 0 до t. F(t)=1-R(t) - функция отказов. Соответственно плотность вероятности

f(t)=-dR(t)/dt.

Вводится функция риска z(t)-условная вероятность тог, что ошибка появится на интервале от t до t+Dt, при условии, что до момента t ошибок не было. По аналогии

z(t)=f(t)/R(t) и

,

а среднее время между отказами интеграл от 0 до ¥ от функции R(t).

Основной такой модели является уточнение поведения функции z(t). При оценке надежности аппаратуры аналогичный параметр - интенсивность =константе. Однако предположение о постоянстве функции риска представляется не соответствующим реальности в случае программного обеспечения, так как по мере обнаружения и исправления ошибок, время между сбоями увеличивается.

В Модели делается существенное предположение о том, что z(t) постоянна от исправления одной ошибки до обнаружения следующей, после чего z(t) опять становится константой, но уже с другим, меньшим значением. То есть z(t) пропорциональна числу оставшихся ошибок.

Второе предположение z(t) - прямо пропорциональна числу оставшихся ошибок,

z(t)=K(N-i),

где N - неизвестное первоначальное число ошибок, i - число обнаруженных ошибок, K - некоторая неизвестная константа. Каждый раз, когда ошибка обнаруживается (модель предполагает, что задержка между обнаружением ошибки и ее исправлением отсутствует) z(t) уменьшается на некоторую величину К.

Дальнейшая проработка этой модели -Модель Шумана относится к динамическим моделям дискретного времени, данные для которой собираются в процессе тестирования программного обеспечения в течение фиксированных или случайных интервалов времени

Предполагается, что в начальный момент компоновки программных средств в систему программного обеспечения в них имеется Ет шибок. С этого времени начинается отсчет времени отладки t, которое включает затраты времени на выявление ошибок с помощью тестов.

Модель Шумана предполагает, что тестирование проводится в несколько этапов. Каждый этап представляет собой выполнение программы на полном комплексе разработанных тестовых данных. Выявленные ошибки регистрируются, но не исправляются. В конце этапа рассчитываются количественные показатели надежности, исправляются найденные ошибки, корректируются тестовые наборы и проводится следующий этап тестирования. В модели Шумана предполагается, что число ошибок в программе постоянно и в процессе корректировки новые ошибки не вносятся.

На основании полученных для каждого этапа времен и кол-ва ошибок рассчитываются параметры функции риска.

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

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

Предположим, что в программу внесено s ошибок, после чего начато тестирование. При тестировании обнаружено n - число собственных ошибок, v - число найденных внесенных. Тогда N=sn/v.

Далее решается задача проверки гипотезы об N. (насколько полученное значение соответствует реальному по данному кол-ву внесенных ошибок). Тестирование проводится до обнаружения всех внесенных ошибок. Уровень значимости (мера доверия к модели) определяется: С=s/(s+k+1), k - кол-во обнаруженных собственных ошибок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]