
- •Содержание
- •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.Указатель
Метод Дельфи
Метод Дельфи (the Delphi method) был предложен Каном (Herman Kahn) и является формализованной процедурой получения общего мнения группы экспертов, отдельные мнения которые могут расходиться между собой. Это общее мнение может состоять из нескольких альтернатив, однако их число должно оказаться в конечном итоге существенно меньше числа экспертов.
В методе Дельфи, наряду с экспертами, важная роль отводится ведущему (moderator), который должен организовать работу так, чтобы мнения экспертов были действительно независимы, т.е., каждый эксперт не знал бы мнения своих коллег, а все частные мнения должны быть известны только одному ведущему. Один из вариантов этого метода представлен на Рис. 53.
Пять экспертов анонимным образом подают свои мнения на заданный исходный вопрос анонимному ведущему. Собрав ответы, ведущий старается переформулировать некоторые из них, чтобы сблизить точки зрения и уменьшить общее число существенно разных ответов, после чего переформулированные ответы направляются подавшим их экспертам для согласования и сужения области расхождений. После нескольких повторений такого шага оставшиеся несколько вариантов ответа (в идеале – всего один!) сообщаются как общее мнение данной группы экспертов по заданному вопросу.
Рис. 53. Общая схема метода Дельфи
На практике успех этого метода очень зависит от опытности ведущего и, разумеется, квалификации экспертов.
Деревья решений
Деревья решений – графическое представление развития событий и связей между альтернативами для представления всех последствий того или иного решения. Оно формируется по следующим принципам:
Решение – прямоугольник, события и возможные исходы – кружочки
Корень слева – исследуемое решение
Искать наиболее предпочтительный путь в каждом узле решения
Нарисовать все возможные пути в сценарии
При возможности пометить значением в денежном выражении каждый сегмент пути
Указать вероятности на путях, выходящих из узлов-событий
Определить величину риска для каждого сегмента пути как произведение вероятностей от корня до данной точки, еще умноженное на значение в денежном выражении для данного сегмента
Для каждого узла-решения выделить наиболее предпочтительный путь, сложив величины риска для альтернатив
Для узлов-событий рассмотреть каждый путь и сложить все результаты, двигаясь слева-направо
Продолжать, пока не будет выявлен самый предпочтительный путь
Например, стоит задача – путем переговоров заключить контракт на $10,000; при этом есть два события-исхода этих переговоров: E1 – контракт получен и Е2 – контракта не получен. Есть две альтернативы для принятия решения, в какой именно ресторан повести заказчика в перерыве на обед: А1 – в хороший ресторан за $100 и А2 – в предприятие быстрого питания за $10, причем в случае А1 «вероятность» благоприятного исхода 10%, а в случае А2 – только 2%. Какое из этих двух действий выбрать?
|
|
(а) Задача о ресторане |
(б) Задача о тестировании |
Рис. 54. Деревья решений для задач о ресторане (а) и тестировании (б)
Дерево решений для этой задачи представлено на Рис. 54, (а). Дуги, соответствующие действиям А1 и А2, помечены значениями $100 и $10 соответственно. Аналогично, дуги с действиями E1 и Е2 , ведущие в благоприятные завершения O1 и O3, помечены значениями 10% и 2% соответственно. Подсчитывая «стоимость» пути из корня дерева в благоприятные концевые вершины O1 и O3, получаем: O1=$10000*10%-$100=$900 и O3= $10000*2%-$10=$190. Сравнивая полученные 2 значения $900 и $190, видим, что решение А1 предпочтительнее, так как дает заметно большую EMV. Все довольны!
Рис. 55. Размеченное дерево решений для задачи о тестировании
Дерево решения для другой задачи о тестировании представлено на Рис. 54, (б). Пусть на некотором производстве изготавливается по заказу 500 экземпляров некоторого прибора. Приборы можно перед отправкой тестировать на самом производстве, а можно отправлять заказчику без тестирования. При этом известно, что вероятность отказа прибора «в поле», т.е., на стороне заказчика – 4%; стоимость тестирования прибора на производстве $3,50 ; причем стоимость послетестовой сборки протестированного прибора на производстве – $2,000. Стоимость ремонта и повторной сборки прибора при отказе на производстве $10,00 ; а стоимость ремонта и повторной сборки после отказа прибора в поле – $100,000. Тестировать партию из 500 приборов на производстве или нет?
Размечая стоимости альтернатив на дереве решений, получаем картину, представленную на Рис. 55.
Как видим, EMV для тестирования дает $2,91М; тогда как это значение для случая без тестирования – только $2М. Сравнивая эти значения, видим, что не тестировать выгоднее; однако потери, связанные с репутацией, в этом случае не учтены.