Надежность авиационных приборов и измерительно-вычислительных комплексов. Чернов В.Ю - 24 стр.

UptoLike

24
3. НАДЕЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЭВМ
Проблема надежности программного обеспечения (ПО) приобретает
все большее значение в связи с постоянным усложнением разрабатыва-
емых систем, расширением круга задач, возлагаемых на них, а следова-
тельно, и значительным увеличением объемов и сложности ПО. Реаль-
ная надежность ПО нередко оказывается ниже, чем надежность самой
аппаратуры [15].
Надежность программного обеспечения обуславливается наличием в
программах разного рода ошибок, внесенных в нее, как правило, при
разработке или в процессе эксплуатации. Под ошибкой понимают вся-
кое невыполнение программой заданных функций. Проявление ошиб-
ки является отказом программы. Программа при фиксированных исход-
ных данных и абсолютно надежной ЦВМ должна давать однозначный
результат на выходе при многократном его повторении. Однако комби-
наторный характер исходных данных, множество условных переходов,
зависящих от промежуточных результатов вычислений, создают огром-
ное число возможных путей исполнения программы, которое может быть
на несколько порядков больше числа команд в программе. Проверить
все варианты исполнения программы практически невозможно, и прак-
тика создания сложных комплексов ПО показывает, что и после не-
скольких лет эксплуатации встречаются непроверенные варианты, в
которых обнаруживаются ошибки.
Вследствие изложенного проявление ошибки в ПО, является слу-
чайным событием, хотя сама ошибка не является случайной.
Факторами, определяющими надежность ПО, являются:
– подготовка инженерного персонала по технологии использования
ЭВМ;
– контроль выдачи и изменения программ;
– постоянная связь разработчика и заказчика ПО;
– применение методов контроля процесса разработки программ и
документации;
– внедрение стандартов, регламентирующих работы по проектиро-
ванию ПО.
Важную роль имеет постоянный контроль ПО в виде достаточно
формализованных “просмотров” проектной и программной документа-
ции специалистом или группой специалистов (“тестером”). Повыше-
нию качества разработки сложных программ способствуют прогрессив-