- •Содержание
- •1.13. Задания для самопроверки 59
- •1.17. Задания для самопроверки 88
- •1.19. Задания для самопроверки 108
- •1.23. Задания для самопроверки 116
- •1.27. Задания для самопроверки 125
- •1.37. Задания для самопроверки 144
- •1.48. Задания для самопроверки 159
- •Перечень рисунков
- •Перечень таблиц
- •Введение
- •Принятые сокращения
- •1.Жизненный цикл разработки по
- •Программные проект и его атрибуты
- •Ролевые модели в программном проекте
- •Размер и сложность программного проекта
- •Характеристики программного проекта
- •Качество программного продукта
- •Экран проекта и сводка о подходе
- •Критерий smart для формулирования целей
- •Критерии успешности программного проекта
- •Модели жизненного цикла
- •Водопадная модель
- •Модель быстрой разработки приложения
- •Пошаговая модель
- •Спиральная модель Боэма
- •Прототипная модель
- •Выбор модели жизненного цикла
- •Задания для самопроверки
- •2.Типовой каркас для разработки по
- •Программная разработка
- •Планирование проекта
- •Модель cocomo для оценки трудозатрат в проекте
- •Модель slim для оценки трудозатрат в проекте
- •Разработка спецификации требований
- •Отслеживание и контроль
- •Верификация и валидация
- •Обеспечение качества
- •Конфигурационное управление
- •Метрики
- •Повышение квалификации
- •Задания для самопроверки
- •3. Модели зрелости способностей cmm/cmmi
- •Ключевые области процесса в модели cmm
- •Характеристика уровней зрелости в модели cmm
- •Интегрированная модель зрелости способностей cmmi
- •История возникновения
- •Уровни зрелости и области процесса
- •Уровни способностей процесса в модели cmmi
- •Специальные и общие цели и практики процессных областей
- •Характеристики уровней зрелости в модели cmmi
- •Задания для самопроверки
- •4.Управление рисками в программном проекте
- •Модели esi и pmi управления рисками
- •Выявление рисков
- •Анализ рисков
- •Расстановка приоритетов для рисков
- •Планирование рисков
- •Исполнение ответных стратегий
- •Оценивание результатов исполнение ответных стратегий
- •Документирование действий по рискам
- •Заключительное оценивание рисков
- •Задания для самопроверки
- •5.Стандарты качества iso в применении к по
- •Структура и принципы семейства стандартов iso 9000
- •Модели iso 9000 на базе процессов
- •Самооценивание по ключевым элементам iso 9000
- •Задания для самопроверки
- •6.Формальные методы в разработке по
- •Инструменты формализации и верификации
- •Взаимодействие функциональностей
- •Интегрированная технология анализа и верификации
- •Задания для самопроверки
- •7.Некоторые общие технологические приемы
- •Инспекции по Фейгану
- •Диаграммы Исикавы («рыбий скелет»)
- •Инструменты
- •Swot-анализ
- •Сбалансированный экран результативности
- •Технологическая дорожная карта
- •Метод Дельфи
- •Деревья решений
- •Сравнительное ранжирование
- •Методология подвижного программирования
- •Принципы подвижного программирования
- •Рабочий цикл и роли участников
- •Рабочие документы и обстановка
- •Задания для самопроверки
- •8.Сертификация программного обеспечения в авиации
- •История создания серии документов do-178 и ed-12
- •Уровни программного обеспечения
- •Процессы жизненного цикла по авиационных систем
- •Цели процессных деятельностей
- •Рабочие документы и категории их контроля
- •Процесс планирования по
- •Процессы разработки по
- •Определение требований
- •Проектирование
- •Кодирование
- •Верификация
- •Конфигурационное управление
- •Обеспечение качества
- •Контакт с органом сертификации
- •Выводы и рекомендации
- •Задания для самопроверки
- •9.Задания для самостоятельной работы
- •Темы, связанные с единым каркасом для разработки по
- •Перечень тем
- •Краткое описание каждой темы
- •Тема 2. Программная архитектура базового инструмента для распределенного управления программными проектами
- •Тема 3. Профили типовых рабочих компонентов для разработки приложений
- •Тема 1. Прототип метрической базы данных для управления разработкой приложений
- •Тема 5. Репозиторий повторно используемых компонентов
- •Тема 6. Сквозной пример для единого каркаса разработки приложений
- •Темы, связанные применением формальных методов перечень тем
- •Тема 1. Сравнительный анализ систем верификации
- •Тема 2. Формализация протоколов связи краткое описание каждой темы
- •Тема 1. Сравнительный анализ систем верификации
- •Тема 2. Формализация протоколов связи
- •10.Литература
- •11.Приложения
- •Шаблон для одностраничного экрана проекта
- •Примерная структура положения о работе и тз
- •Примерная форма еженедельного отчета
- •Примерная форма презентации на ежемесячном операционном обзоре
- •12.Указатель
Процессы жизненного цикла по авиационных систем
Разработка авиационной бортовой системы состоит из ряда взаимодействующих производственных процессов, входными данными для которых являются, прежде всего, требования летной готовности и эксплуатационные требования для данной системы. Формулировки этих требований должны удовлетворять определенным стандартам и проходить обязательный обзор с последующим утверждением у заказчика.
Рис. 60. Информационные потоки в ЖЦ бортовой системы и ЖЦ разработки ПО
Из всего множества производственных процессов, относящихся к созданию всей бортовой системы воздушного судна, к целям сертификации относится только процесс определения ее безопасности, результатом которого являются формулировки тех или иных требований по безопасности. Связь этих процессов и соответствующие информационные потоки схематично представлены на Рис. 60.
В свою очередь, процессы жизненного цикла по разработке компонентов программного обеспечения для авиационных бортовых систем состоят из ряда взаимосвязанных деятельностей, которые разделяются на три большие группы: планирование, собственно разработка и поддерживающие процессы.
Планирование. Создается план выполнения работ, который проходит обязательный обзор с последующим утверждением у заказчика.
Разработка. Разработка ведется в соответствии с утвержденным планом создание всех запланированных рабочих документов (продуктов), которая, в свою очередь, подразделяется на 4 частично перекрывающиеся фазы (этапы) разработки:
Разработка требований. Создается документ – спецификация требований на данный программный компонент, – который проходит обязательный обзор с последующим утверждением у заказчика.
Проектирование. Создание высокоуровневого и (или) низкоуровневого проекта исходя из утвержденных требований. Если в процессе разработки исходные требования изменяются, то, соответственно, должны быть изменены и зависящие от них проекты.
Кодирование. Создание (написание вручную, заимствование фрагментов уже существующего кода или кодогенерация) кода, реализующего утвержденный проект. Если в процессе разработки проект изменяется, то, соответственно, должен быть изменен и зависящий от него код.
Сборка (интеграция). Сборка полученных ранее кодов и их размещение (загрузка) как работающего продукта на заданной аппаратной платформе.
Процессы планирования и разработки осуществляются в среде следующих вспомогательных поддерживающих процессов, нацеленных на результативное и экономичное получение требуемого результата (работающего программного обеспечения и сертификата на него):
Верификация. Различными средствами осуществляется и документируется регулярная проверка корректности, полноты и точности исполнения всех шагов в процессах планирования и разработки.
Конфигурационное управление. Обеспечение согласованного версионного контроля всех создаваемых рабочих продуктов, а также используемых для их создания программных инструментальных средств, подпадающих под версионный контроль. Обеспечение сохранности версий с возможностью достаточно быстрого восстановления нужной версии какого-либо рабочего продукта в случае ее утраты.
Обеспечение качества. Комплекс деятельностей, нацеленных на обеспечение заданного уровня качества данного программного продукта. Типичными видами таких деятельностей являются товарищеские обзоры кода и документов, инспекции кода, причинно-следственный анализ выявленных дефектов в планах и продуктах разработки и устранение их причин.
Контакт с органом сертификации. Деятельность, специфическая для сертификации программного продукта в составе авиационной бортовой системы. Состоит в установлении взаимодействия с органом сертификации и его последующего поддержания на протяжении всего жизненного цикла разработки. Примерами конкретных деятельностей является согласование с органом сертификации уровня безопасности данного компонента ПО и последующего регулярного предоставления объективных данных о процессе его разработки.
В процессной модели ISO схема этих процессов приведена на Рис. 61.
Для каждого процесса предусмотрены критерии перехода к нему, которые определяют, можно ли начинать или повторять данный процесс. Критерии перехода зависят от запланированной последовательности процессов разработки ПО и обеспечения целостности, а также от уровня ПО. Примеры критериев перехода:
Рис. 61. Процессы разработки в модели ISO 9001
обзор процесса верификации ПО совершен;
входными данными для процесса является данный элемент конфигурационного управления;
анализ отслеживаемости для входных данных завершен.