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