Перспективные пути для повышения надежности ПО

Можно указать следующие перспективные пути для повышения надежности ПО СЭВМ.

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