- •Содержание
- •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.Указатель
Задания для самопроверки
Составьте процессный профиль Вашей организации-разработчика по модели CMMI и проанализируйте его.
Предложите план перехода на необходимый, по Вашему мнению, уровень зрелости в Вашей организации.
4.Управление рисками в программном проекте
Управление рисками составляет важную часть в каждом проекте, в модели CMMI оно даже выделено в отдельную процессную область, а ISO разработала отдельные международные стандарты:
ISO Guide 73:2009 "Risk management. Vocabulary" (Управление рисками. Словарь);
Standard ISO 31000:2009 "Risk management – Principles and guidelines on implementation" (Управление рисками. Принципы и руководящие указания по реализации);
Standard ISO/IEC 31010:2009 "Risk Management – Risk Assessment Techniques" (Управление рисками. Методики оценивания рисков).
Управление рисками – это подход к управлению, основанный на выявлении тех областей и событий в жизненном цикле разработки, которые несут потенциальную возможность вызвать желательные или нежелательные изменения либо в процессе, либо в продукте, а также на управлении ими. Отличительными составными компонентами любого риска являются три его характерных особенности:
Событие, которое можно определить (Event, Trigger).
Вероятность наступления этого события (Probability).
Последствия наступления этого события (Impact)
Почти всегда риск рассматривается как нечто, связанное с какими-либо потерями; однако, некоторые риски могут рассматриваться и с положительной стороны; в этом случае они обычно называются возможностями (opportunities).
Каждый риск несет в себе некоторую неопределенность – он может произойти, а может и не произойти, и в случае его актуализации могут быть различные последствия для проекта; поэтому задача управления рисками – максимально снижать степень этой неопределенности. Неопределенности, связанные с рисками, можно условно разделить на три группы: описательная – в чем именно состоит рисковое событие, измерительная – вероятность наступления этого события в будущем, и результативная – каковы именно последствия наступления данного рискового события. Следует всегда помнить: «Сам риск – не проблема… Проблема – риск, время которого наступило!»
Рис. 29. Риск – функция его составляющих
Обычно различают области низких, умеренных и высоких рисков по комбинации вероятность последствий/размер последствий от наступления данного риска, как это показано на Рис. 29. Другими характерными особенностями риска являются:
Ситуационность – проявления риска существенно зависят от ситуации:
нет готовых ответов и определений;
следует полагаться на инструменты для работы с рисками.
Взаимозависимость – разные риски могут обуславливать друг друга:
одно рисковое событие может вызвать другие;
количество рисков влияет на их восприятие.
Зависимость от величины – восприятия риска зависит от количественной оценки его параметров:
приемлемость риска дихотомична, да или нет;
чем больше вознаграждение, тем приемлемее риск;
точка крушения делает любое вознаграждение неприемлемым.
Укорененность в ценностях – восприятие риска зависит от личности:
личные ценности влияют на принятие корпоративных рисков;
корпоративные ценности влияют на индивидуальный выбор.
Укорененность во времени – восприятие риска меняется со временем:
риск – это только будущее явление;
время влияет на восприятие риска;
риски обратимы.
Существует ряд психологических аспектов, связанных с риском, которые следует учитывать при управлении рисками:
нулевой риск обычно не рассматривается;
суждения людей о рисках не совпадают с большей частью методологий по статистическому измерению рисков;
восприятия рисков трудно поддаются изменению после того, как они однажды сформировались;
восприятием рисков управляют ряд эмоциональных, а не логических факторов – риски живут в основном на эмоциональном уровне;
многие люди полагают, что они более уверены, чем на самом деле;
многие обнаруживают неспособность пересмотреть начальные оценки в свете новых данных;
кажутся нечувствительными к размерности примеров;
используют конкретную посылку для начальных суждений и если пересматривают их впоследствии, то при том же начальном условии;
часто предсказывают риск исходя из простого правила подобия – если технический риск мал, то связанный с ним затратный риск тоже мал.
По этим признакам разработчики делятся на три группы: избегающих риски (предпочитающие работать только в области низких рисков); на «золотую середину» (принимающих только низкие и умеренные риски); и на «игроков» (не исключающих и высокие риски).
Обычно различают риски, относящиеся к процессу разработки программного продукта, и риски, связанные непосредственно с самим продуктом. Источники рисков первого рода коренятся в сложности программных проектов, в нелинейности и неочевидности связей между элементами проблемы, в неопределенности самих этих элементов, в динамичности ситуации, которая меняется со временем, и в личностных ценностях каждого разработчика, которые могут сильно различаться. Источниками рисков, связанных с продуктом, обычно являются его надежность, безопасность и вопросы его использования в тех или иных условиях, особенно в неучтенных, но возможных по спецификации требований.