Показатели надежности программы и программного обеспечения
Понятие работоспособности и отказа программы
Каждая программа ПО создается для решения некоторой задачи , где x – входная (относительно программы) информация (числа, векторы, функции, уравнения, таблицы, формулы, графики и т.д.); А – запрограммированный алгоритм решения (функция, функционал, оператор, процедура и т.д.); y – результат или решение (число, вектор, функция, график, таблица, логическое суждение, команда ЭВМ и т.д.).
В процессе эксплуатации любой программы Пi и всего ПОвходная допустимая информация x может варьироваться в некотором множестве Х с весьма расплывчатыми границами (рис. 4.2).
Рис. 4.2 – К понятию отказа программного обеспечения
При этом и результат y будет изменяться в некоторой области решений Y с числовой или семантической (смысловой) метрикой . Выделим в области Y ограниченное открытое (или, реже, замкнутое) множество «разумных» решений y, достоверность которых не вызывает серьезных сомнений у экспертов (высококвалифицированные независимые специалисты), а сами результаты y получены ЭВМ за время, не превышающее заранее заданного («своевременного» или «контрольного») значения время .
Граница Г множества определена субъективно и, вероятно, не точно, но после согласованного мнения экспертов ее следует рассматривать как нечто объективное для данной задачи, позволяющее классифицировать все результаты y на две группы: «разумные» (правильные и своевременные) и «неразумные» (неправильные или запоздавшие). Еще раз отметим, что к «разумным» результатам относятся только те достаточно точные y, которые получены на ЭВМ за время, меньшее . Это требование принципиально важно при использовании программы в АСУ РВ; для вычислительных систем и АСУ, где фактор быстродействия не важен, условие своевременности решения задачи легко снимается путем задания большого значения контрольного времени .
Программа П называется работоспособной (исправной), если при любом , исправной ЭВМ и всех других технических средств АСУ решения y задачи принадлежат множеству , т.е. результаты y получены своевременно и достаточно точны («разумны»).
Под отказом программы П понимают случайное событие, заключающееся в выходе результата y из области «разумных» решений при и исправной работе ЭВМ и всех используемых технических средств, т.е. при .
Таким образом, надежность отдельной программы есть ее свойство оставаться работоспособной при и нормальном (исправном) функционировании ЭВМ и технических средств АСУ.
Справедлива и другая формулировка: надежность программы есть ее свойство работать без отказов при допустимых входных данных и исправных технических средствах.
Введенные понятия работоспособности программы и отказа программы аналогичным образом распространяются и на все ПО, которое, как отмечалось ранее, есть комплекс последовательно выполняемых программ, предназначенный для своевременного решения тех или иных задач (выполнения функций АСУ). В этих условиях отказ любой программы означает отказ всего ПО, работоспособность всех программ, включаемых в ПО эквивалентна работоспособности программного комплекса.
Состояния работоспособности и отказа ПО возникают в случайные моменты времени при исправном состоянии технических средств АСУ и поэтому трактуются как случайные события. Случайные события «работоспособность программы» и «отказ программы» независимы и несовместимы, поэтому они образуют полную группу случайных событий, для которой сумма вероятностей указанных событий всегда равна единице.