Критерии тяжести ошибок в программных средствах
Таблица 1. Категории тяжести ошибки в программном обеспечении, нарушение работоспособности которого могут привести к катастрофическим последствиям
Номер | Наименование | ||
категории | категории | Описание последствий проявления ошибки | |
ошибки | тяжести ошибки | ||
проявление ошибки с высокой вероятностью влечет за собой | |||
IV | Катастрофическая | прекращение функционирования программного обеспечения (его отказ) | |
и может вызвать повреждение системы и окружающей среды и/или | |||
гибель и тяжелые травмы людей | |||
проявление ошибки с высокой вероятностью влечет за собой | |||
III | Критическая | прекращение функционирования программного обеспечения (его | |
отказ), может вызвать повреждение системы и окружающей среды, но | |||
не угрожает жизни и здоровью людей | |||
проявление ошибки влечет за собой снижение эффективности | |||
II | Существенная | функционирования программного обеспечения и может вызвать | |
прекращение функционирования программного обеспечения (его отказ) | |||
без заметного повреждения системы и угрозы жизни и здоровью людей | |||
проявление ошибки может повлечь за собой снижение эффективности | |||
I | Несущественная | функционирования программного обеспечения и практически не | |
приводит к возникновению отказа в нем (вероятность возникновения | |||
отказа очень низкая) |
Для программного обеспечения общего применения или программного обеспечения систем, нарушение работоспособности которых не представляет угрозы жизни людей и не приводит к разрушению самой системы, возможные категории тяжести приведены в таблице 2
Таблица 2. Категории тяжести ошибки в программном обеспечении, нарушение работоспособности которого не приводят к катастрофическим последствиям
Номер | Наименование | Описание последствий проявления ошибки | |
категории | категории | ||
ошибки | тяжести ошибки | ||
III | Критическая | проявление ошибки с высокой вероятностью влечет за собой | |
прекращение функционирования программного обеспечения (его отказ) | |||
II | проявление ошибки влечет за собой снижение эффективности | ||
Существенная | функционирования программного обеспечения и может вызвать | ||
прекращение функционирования программного обеспечения (его отказ) | |||
проявление ошибки может повлечь за собой снижение эффективности | |||
I | Несущественная | функционирования программного обеспечения и практически не | |
приводит к возникновению отказа в нем (вероятность возникновения | |||
отказа очень низкая) |
Оценку степени тяжести ошибки как условной вероятности возникновения отказа (последствий этого отказа), можно производить согласно программе, используя метрики и оценочные элементы, характеризующие устойчивость программного обеспечения. При этом оценка производится для каждой ошибки в отдельности, а не для всего программного обеспечения. Далее исходя из проведенных оценок возможно определение устойчивости программного обеспечения к проявлениям ошибок каждой из категорий.
Восстанавливаемость программного обеспечения, как свойство или совокупность свойств характеризующих способность программного обеспечения восстановления своего уровня пригодности и восстановления данных, непосредственно поврежденных вследствие проявлении ошибки (отказа), характеризуется полнотой и длительностью восстановления функционирования программ в процессе перезапуска или перезагрузки ЭВМ. В программы, восстанавливаемость предлагается оценивать по среднему времени восстановления. При этом следует учитывать, что время восстановления функционирования программного обеспечения складывается не только из времени потребного для перезагрузки ЭВМ и загрузки самого программного обеспечения, но и из времени необходимого для восстановления данных и это время в ряде случаев может значительно превышать время перезагрузки.
Показатели надежности программного обеспечения в значительной степени адекватны аналогичным характеристикам, принятых для других технических систем. Наиболее широко используется показатель наработки на отказ. Наработка на отказ – это отношение суммарной наработки объекта к математическому ожиданию числа его отказов в течении этой наработки. Для программного обеспечения использование данного показателя затруднено, в силу особенностей тестирования и отладки программного обеспечения (ошибка вызвавшая отказ, как правило, исправляется и больше не повторяется). Поэтому целесообразно использовать показатель средней наработки до отказа – математического ожидания времени функционирования программного обеспечения до отказа. При использовании модели надежности программного обеспечения предполагающей экспоненциальное распределение времени между отказами, среднее время наработки до отказа равно величине обратной интенсивности отказов. Интенсивность отказов можно оценить исходя из оценок стабильности и устойчивости программного обеспечения. Обобщение характеристик отказов и восстановлений производится в показателе коэффициент готовности программы. Коэффициент готовности программного обеспечения это вероятность того, что программное обеспечение окажется в работоспособном состоянии в произвольный момент времени. Значение коэффициента готовности соответствует доле времени полезной работы программного обеспечения на достаточно большом интервале времени, содержащем отказы и восстановления.
Формула Бернулли
Формулировка
Теорема. Если вероятность наступления события в каждом испытании постоянна, то вероятность того, что событие наступит ровно раз в независимых испытаниях, равна: , где .
Доказательство
Пусть проводится независимых испытаний, причём известно, что в результате каждого испытания событие наступает с вероятностью и, следовательно, не наступает с вероятностью . Пусть, так же, в ходе испытаний вероятности и остаются неизменными. Какова вероятность того, что в результате независимых испытаний, событие наступит ровно раз?
Оказывается можно точно подсчитать число "удачных" комбинаций исходов испытаний, для которых событие наступает раз в независимых испытаниях, - в точности это количество сочетаний из по :
.
В то же время, так как все испытания независимы и их исходы несовместимы (событие либо наступает, либо нет), то вероятность получения "удачной" комбинации в точности равна: .
Окончательно, для того чтобы найти вероятность того, что в независимых испытаниях событие наступит ровно раз, нужно сложить вероятности получения всех "удачных" комбинаций. Вероятности получения всех "удачных" комбинаций одинаковы и равны , количество "удачных" комбинаций равно , поэтому окончательно получаем:
.
Последнее выражение есть не что иное, как Формула Бернулли. Полезно также заметить, что в силу полноты группы событий, будет справедливо:
.