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