5.4.3. Математическая модель и расчет характеристик надежности

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

Расчетная схема затратной надежности и целесообразности замены кортежа

Исходные данные:

 – число обнаруженных ошибок в кортеже;

 – оценка ожидаемого числа ошибок в новом кортеже;

To – оценка остаточного времени эксплуатации кортежа;

K – число проведенных обращений к кортежу;

T – время реальной эксплуатации кортежа;

A – среднее число обращений на одно повторение раздела инструкции.

Данные для расчета ценовых параметров:

Za – зарплата аналитика;

Zu – зарплата пользователя;

Tz – периодичность выплаты зарплаты;

Ma – количество аналитиков кортежа;

Mu – количество активных пользователей кортежа;

So – среднее время обращения по исходной инструкции;

Su – среднее добавочное время обращения по коррекции;

Sa – среднее время анализа ошибки и корректировки инструкции;

Sna – время освоения нового кортежа аналитиком;

Snu – время освоения новой инструкции пользователем;

Tc – время выполнения новых функций средствами старого кортежа;

Tn – время обращения к новой функции в новом кортеже;

Vn – доля обращения к новой функции среди всех обращений к кортежу.

Расчет ценовых параметров

 – цена обращения при использовании нескорректированной инструкции;

 – цена дополнительной работы по выполнению скорректированной инструкции (цена обхода ошибки);

 – цена работы аналитика по разбору ошибки и выработке рекомендаций по корректировке инструкции (цена анализа ошибки);

 – затраты на обучение персонала новой инструкции;

 – экономия от новых функций.

Расчет затратной надежности

фактической:

;

прогнозируемой:

.

Проверка целесообразности замены кортежа

Если экспертная оценка  отсутствует, то условие целесообразности замены кортежа: .

Если оценка  есть, то целесообразно, если:

.

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

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

Тесты для самоконтроля

1. Под надежностью ПО понимают способность системы:

а) выполнять то, что пользователю разумно от нее ожидать;

б) функционировать в соответствии со спецификациями и справляться с возникающими ненормальными ситуациями;

в) действовать в соответствии с перечнем требований пользователя.

2. Надежность ПО:

а) существенно отличается от надежности аппаратуры;

б) не отличается от надежности аппаратуры.

3. Моделью, измеряющей надежность ПО числом ошибок, является:

а) статистическая модель Миллса;

б) модель последовательности испытаний Бернулли;

в) интуитивная модель.

4. Составляющие кортежа программы:

а) текст программы, окружение, режим эксплуатации, документация;

б) драйверы, сетевые программы, программы пользовательского интерфейса, прикладные библиотеки.

5. Моральное старение кортежа может определяться:

а) износом оборудования, когда возникают сбои и отказы;

б) окончанием работ, для которых создана программа;

в) изменением требований к быстродействию, выше возможностей программы.

6. Переход к новому кортежу программы происходит при внесении изменений:

а) в режим эксплуатации программы;

б) в текст программы;

в) в окружение программы;

г) в документацию программы.