Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_ИС.doc
Скачиваний:
270
Добавлен:
22.02.2015
Размер:
1.69 Mб
Скачать

6. Основы моделирования и расчета надежности программного обеспечения

6.1. Модель анализа надежности программных средств

Рассмотрим основные факторы, влияющие на надежность ПО ИС [6.1], и покажем их взаимосвязь со всеми компонентами системы ( см. рис. 6.1).

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

Перечислим основные группы ошибок и дефектов, которые вызывают отказы объектов уязвимости.

Внутренние отказы и дефекты:

  • Ошибки проектирования при постановке задач;

  • Ошибки алгоритмизации задач;

  • Ошибки программирования;

  • Недостаточное качество средств защиты.

  • Внешние отказы и дефекты:

  • Ошибки персонала при эксплуатации;

  • Искажения информации в каналах связи;

  • Сбои и отказы аппаратуры ИС;

  • Изменения конфигурации системы.

Укажем основные методы предотвращения ошибок и дефектов ПО ИС:

  • Использование CASE-технологий на всех стадиях жизненного цикла ПО;

  • Систематическое тестирование;

  • Обязательная сертификация.

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

  • Временная избыточность;

  • Информационная избыточность;

  • Программная избыточность

Рис. 6.1. Модель анализа надежности ПО ИС

6.2. Статистика ошибок по ис

Статистический анализ ошибок ПО [5.1], который исследовался многими авторами [6.1, 6.2, 6.3, 6.4], может помочь разработчикам ПО правильно распределить усилия при проектировании и отладке программ. Детальный анализ выявленных ошибок показывает их глубокую связь с методами системного проектирования и структурного построения программ, типом языка программирования, уровнем автоматизации технологии разработки и со многими другими факторами.

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

Первичные ошибки в ПО в порядке усложнения их обнаружения и увеличения ресурсов, необходимых для их устранения, можно разделить на следующие типы:

  • технологические ошибки подготовки машинных носителей и документации, а также ввода программ в память ЭВМ и вывода их на средства отображения;

  • программные ошибки вследствие неправильной записи исходного текста на языке программирования и ошибок трансляции программ в объектный код;

  • алгоритмические ошибки, связанные с неполным формированием необходимых условий решения и некорректной постановкой задач;

  • системные ошибки, обусловленные отклонением функционирования ПО в реальной системе и характеристик внешних объектов от предполагавшихся при проектировании ПО.

При автономной и в начале комплексной отладки доля системных ошибок невелика (около 10%), но она существенно возрастает ( 35 – 40% ) на завершающих этапах комплексной отладки. В процессе сопровождения системные ошибки являются преобладающими (около 80% от всех ошибок). Следует отметить и большое число команд, корректируемых при исправлении каждой такой ошибки (около 25 строк текста на 1 ошибку).