Средства и методы повышения надежности. Надежность программных продуктов. 4

Содержание

Слайд 2

Принципы и методы обеспечения надежности программ, в соответствии с их целью, можно

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

Слайд 3

Схема обеспечения надежного ПС

Схема обеспечения надежного ПС

Слайд 4

К действиям, направленным на минимизацию ошибок и сбоев пп можно отнести:
предотвращение

К действиям, направленным на минимизацию ошибок и сбоев пп можно отнести: предотвращение
ошибок за счет структурного программирования;
сокрытие информации или дозированный доступ к данным со стороны программных средств и объектов в объектно-ориентированном программировании;
отладку;
устойчивость к сбоям;
обработку исключительных ситуаций (перехват ошибок, например, деление на ноль) и локализацию ошибок и сбоев;
восстановление программы после сбоя

Слайд 5

Существует стандартное утверждение, что количество найденных ошибок в программе зависит от интенсивности

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

Слайд 7

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

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

Слайд 8

Следующим методом обеспечения надежности по является метод обнаружения ошибок, который базируется на

Следующим методом обеспечения надежности по является метод обнаружения ошибок, который базируется на
стратегии включения средств обнаружения ошибок в само программное обеспечение. Большинство методов направлено по возможности на незамедлительное обнаружение сбоев.
Немедленное обнаружение имеет два преимущества:
возможность минимизировать влияние ошибки
возможность минимизировать затраты не поиск, анализ и исправление ошибки.
Меры по обнаружению ошибок можно разбить на две подгруппы:
Пассивные
Активные

Слайд 9

Пассивные опираются на попытки обнаружить симптомы ошибки в процессе обычной работы программного

Пассивные опираются на попытки обнаружить симптомы ошибки в процессе обычной работы программного
обеспечения .
Меры по обнаружению ошибок могут быть приняты на нескольких структурных уровнях программной системы, при этом данные меры могут быть одинаково успешно применимы на любом уровне.
Стратегия этих мер заключается в совместном применении определенных приемов, каждый из которых способствует выявлению ошибок:
1. Взаимное недоверие. Каждый из компонентов должен предполагать, что все другие содержат ошибки. Когда он получает какие-нибудь данные от другого компонента или из источника вне системы, он должен предполагать, что данные могут быть неправильными, и пытаться найти в них ошибки.
2. Немедленное обнаружение. Ошибки необходимо обнаружить как можно раньше. Это не только ограничивает наносимый ими ущерб, но и значительно упрощает задачу отладки.
3. Избыточность. Все средства обнаружения ошибок основаны на некоторой форме избыточности (явной или неявной).

Слайд 10

Меры по обнаружению ошибок, должны быть согласованны для всей системы. Предпринимаемые после

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

Слайд 11

Активное обнаружение ошибок. 
Не все ошибки можно выя­вить пассивными методами, поскольку эти методы

Активное обнаружение ошибок. Не все ошибки можно выя­вить пассивными методами, поскольку эти
обнаружива­ют ошибку лишь тогда, когда ее симптомы подвергаются соот­ветствующей проверке. Существуют специальные программные средства для активного поиска признаков ошибок в системе. Такие средства называются средствами активного обнаружения ошибок.
Активные средства обнаружения ошибок обычно объединя­ются в диагностический монитор: параллельный процесс, кото­рый периодически анализирует состояние системы с целью обна­ружить ошибку.
Диагностический монитор можно реализовать как периоди­чески выполняемую задачу (например, она планируется на каж­дый час) либо как задачу с низким приоритетом, которая плани­руется для выполнения в то время, когда система переходит в со­стояние ожидания.
Выполняемые монитором конкретные проверки зависят от специфики системы. Например, обследо­вание основной памяти, чтобы обнаружить блоки памяти, не вы­деленные ни одной из выполняемых задач и не включенные в си­стемный список свободной памяти. Проверка необычных ситуаций: например, процесс не планировался для выполнения в течение некоторого разумного интервала времени. Монитор может осуществлять поиск «затерявшихся» внутри си­стемы сообщений или операций ввода-вывода, которые необыч­но долгое время остаются незавершенными, участков памяти на диске, которые не помечены как выделенные и не включены в спи­сок свободной памяти, а также различного рода странностей в файлах данных и т п.