Мякишев Д. В.
Показана актуальность проблемы повышения надежности программного обеспечения. Приведены основные определения, перечислены факторы, влияющие на надежность ПО, рассмотрены принципы и методы проектирования, разработки и реализации надежного ПО, даны практические рекомендации с примерами из области АСУТП АЭС. Подробно раскрыты требования, которым должно отвечать надежное ПО. Для студентов соответствующих специальностей, а также специалистов, занимающихся разработкой ПО для критически важных объектов.
Введение 3
ГЛАВА 1. Теория 7
1.1 Что такое надежность ПО 7
1.2 Стратегии и принципы повышения надежности ПО 12
Архитектура 14
Абстракция 17
Спецификация 19
1.3 Методы повышения надежности ПО 23
1.3.1 Классификация 23
1.3.2 Методы повышения надежности «a priori» 23
Нисходящее проектирование (проектирование «сверху-вниз») 23
Модульное программирование 25
Структурное программирование 27
Объектно-ориентированное программирование 29
Параллельное программирование 39
Обеспечение устойчивости 41
1.3.3 Методы повышения надежности «a posteriori» 45
Тестирование 45
Верификация 47
Валидация 49
ГЛАВА 2. Практика 51
2.1 Что дальше 51
2.2 ЖЦ систем важных для безопасности 51
2.2.1 Анализ требований 54
2.2.2 Проектирование 56
Проектирование архитектуры 56
Детальное проектирование 65
2.2.3 Конструирование (кодирование) 68
2.2.4 Автономное тестирование 71
2.2.5 Комплексирование 72
2.2.6 Испытания 73
2.2.7 Сопровождение 74
2.2.8 Документирование 75
ГЛАВА 3. Выводы 77
Приложение1
Детализированные требования и рекомендации по проектированию и реализации (ГОСТ Р МЭК 60880-2011) 78
Приложение 2
Методика проектирования на основе базовой структуры 103
Используемые сокращения 107
Библиография 108