Скачиваний:
71
Добавлен:
29.01.2021
Размер:
5 Мб
Скачать

Разработка и сертификация ПО для авиационных бортовых систем и оборудования, в.1.83

Санкт-Петербургский институт информатики и автоматизации Российской академии наук

Санкт-Петербургский государственный университет аэрокосмического приборостроения

Министерства образования и науки РФ

Научно-образовательный центр СПИИРАН-ГУАП

С.Н.Баранов

Разработка и сертификация

программного обеспечения для

авиационных бортовых систем и оборудования

Учебное пособие

Версия 1.8183

Санкт-Петербург

2017

АННОТАЦИЯ

Учебное пособие построено на базе лекций автора по технологии разработки программного обеспечения, читавшихся автором в течение ряда лет и его практического опыта работы в промышленности по разработке программных продуктов.

Описывается базовая структура процесса разработки программного обеспечения для авиационных бортовых систем и оборудования в свете международных и отечественных требований и стандартов по его сертификации. Изложение строится на основе классической модели зрелости способностей CMM/CMMI, описывающей процесс разработки программных продуктов, с учетом стандартов DO-178C и КТ-178В, определяющих процесс сертификации такого программного обеспечения для авиационных бортовых систем и оборудования.

Учебное пособие предназначено для подготовки бакалавров и магистров по направлениям «Информатика и вычислительная техника», а также как справочник для специалистов, занимающихся разработкой и сертификаций авиационного программного обеспечения.

Copyright © 20176 Баранов С.Н.

Содержание

Введение 8

Принятые сокращения 10

1. Жизненный цикл разработки ПО 13

1.1. Программные проект и его атрибуты 13

1.1.1 Ролевые модели в программном проекте 13

1.1.2 Размер и сложность программного проекта 13

1.1.3 Характеристики программного проекта 16

1.1.4 Качество программного продукта 18

1.1.5 Экран проекта и сводка о подходе 22

1.2. Критерий SMART для формулирования целей 23

1.3. Критерии успешности программного проекта 23

1.4. Модели жизненного цикла 24

1.4.1 Водопадная модель 26

1.4.2 Модель быстрой разработки приложения 28

1.4.3 V-образная модель 29

1.4.4 Пошаговая модель 30

1.4.5 Спиральная модель Боэма 31

1.4.6 Прототипная модель 32

1.4.7 Выбор модели жизненного цикла 33

1.5. Задания для самопроверки 35

2. Типовой каркас для разработки ПО 37

2.1. Программная разработка 37

2.1.1 Планирование проекта 39

2.1.2 Модель COCOMO для оценки трудозатрат в проекте 40

2.1.3 Модель SLIM для оценки трудозатрат в проекте 43

2.1.4 Разработка спецификации требований 45

2.2. Отслеживание и контроль 52

2.3. Верификация и валидация 53

2.4. Обеспечение качества 53

2.5. Конфигурационное управление 54

2.6. Метрики 56

2.7. Повышение квалификации 58

2.8. Задания для самопроверки 59

3. Модели зрелости способностей CMM/CMMI 62

3.1. Ключевые области процесса в модели CMM 63

3.2. Характеристика уровней зрелости в модели CMM 68

3.3. Интегрированная модель зрелости способностей CMMI 70

3.3.1 История возникновения 70

3.3.2 Уровни зрелости и области процесса 72

3.3.3 Уровни способностей процесса в модели CMMI 75

3.3.4 Специальные и общие цели и практики процессных областей 76

3.3.5 Характеристики уровней зрелости в модели CMMI 86

3.4. Задания для самопроверки 87

4. Управление рисками в программном проекте 88

4.1. Модели ESI и PMI управления рисками 90

4.1.1 Выявление рисков 91

4.1.2 Анализ рисков 93

4.1.3 Расстановка приоритетов для рисков 96

4.1.4 Планирование рисков 98

4.1.5 Исполнение ответных стратегий 100

4.1.6 Оценивание результатов исполнение ответных стратегий 101

4.1.7 Документирование действий по рискам 103

4.1.8 Заключительное оценивание рисков 104

4.2. Задания для самопроверки 107

5. Стандарты качества ISO в применении к ПО 108

5.1. Структура и принципы семейства стандартов ISO 9000 108

5.2. Модели ISO 9000 на базе процессов 111

5.3. Самооценивание по ключевым элементам ISO 9000 113

5.4. Задания для самопроверки 115

6. Формальные методы в разработке ПО 116

6.1. Инструменты формализации и верификации 116

6.2. Взаимодействие функциональностей 119

6.3. Интегрированная технология анализа и верификации 122

6.4. Задания для самопроверки 124

7. Некоторые общие технологические приемы 125

7.1. Инспекции по Фейгану 125

7.2. Диаграммы Исикавы («рыбий скелет») 129

7.3. SWOT-анализ 130

7.4. Сбалансированный экран результативности 131

7.5. Технологическая дорожная карта 132

7.6. Метод Дельфи 134

7.7. Деревья решений 135

7.8. Сравнительное ранжирование 137

7.9. Методология подвижного программирования 137

7.9.1 Принципы подвижного программирования 138

7.9.2 Рабочий цикл и роли участников 139

7.9.3 Рабочие документы и обстановка 140

7.10. Задания для самопроверки 143

8. Сертификация программного обеспечения в авиации 144

8.1. История создания серии документов DO-178 и ED-12 144

8.2. Уровни программного обеспечения 145

8.3. Процессы жизненного цикла ПО авиационных систем 146

8.4. Цели процессных деятельностей 148

8.5. Рабочие документы и категории их контроля 149

8.6. Процесс планирования ПО 150

8.7. Процессы разработки ПО 152

8.7.1 Определение требований 152

8.7.2 Проектирование 153

8.7.3 Кодирование 154

8.7.4 Сборка 154

8.8. Верификация 155

8.9. Конфигурационное управление 156

8.9.1 Обеспечение качества 157

8.9.2 Контакт с органом сертификации 157

8.10. Выводы и рекомендации 158

8.11. Задания для самопроверки 158

9. Задания для самостоятельной работы 159

9.1. Темы, связанные с единым каркасом для разработки ПО 159

9.2. Темы, связанные применением формальных методов 162

10. Литература 164

11. Приложения 166

11.1. Шаблон для одностраничного экрана проекта 166

11.2. Примерная структура положения о работе и ТЗ 166

11.3. Примерная форма еженедельного отчета 168

11.4. Примерная форма презентации на ежемесячном операционном обзоре 170

12. Указатель 172