- •Введение
- •Практическая работа №1. Тема: технология программирования. Основные понятия и подходы.
- •1.1. Назначение технологии программирования
- •1.2. История развития технологии программирования
- •1.2.1. Дореволюционный период
- •1.2.2. «Революция в программировании»
- •1.2.3. Послереволюционный период
- •1.3. Типы программных проектов
- •1.4. Составные части технологии программирования
- •1.5. Проект, продукт, процесс и персонал
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме.
- •Практическая работа №2. Тема: приемы обеспечения технологичности программных продуктов.
- •2.1. Циклический характер разработки
- •2.2. Основные понятия технологии программирования
- •2.2.1. Процессы и модели
- •2.2.2. Фазы и витки
- •2.2.3. Вехи и артефакты
- •2.2.4. Заинтересованные лица и работники
- •2.3. Выявление и анализ требований
- •2.3.1. Требования к программному обеспечению
- •2.3.2. Схема разработки требований
- •2.3.3. Управление требованиями
- •2.4. Архитектурное и детальное проектирование
- •2.4.1. Архитектурное проектирование
- •2.4.2. Детальное проектирование
- •2.5. Реализация и кодирование
- •2.6. Тестирование и верификация
- •2.6.1. Процесс контроля качества
- •2.6.2. Методы «белого ящика» и «черного ящика»
- •2.6.3. Инспектирование и обзоры
- •2.6.4. Цели тестирования
- •2.6.5. Верификация, валидация и системное тестирование
- •2.7. Сопровождение и продолжающаяся разработка
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме.
- •Практическая работа №3. Тема: определение требований к программному обеспечению и исходных данных для его проектирования. Модели процесса разработки.
- •3.1. Водопадные и конвейерные модели
- •3.2. Спиральные и инкрементные модели
- •3.4. Конструирование модели процесса
- •3.4.1. Выявление требований к процессу
- •3.4.2. Используемые фазы, вехи и артефакты
- •3.4.2.1. Фаза «Анализ»
- •3.4.2.2. Фаза «Проектирование»
- •3.4.2.3. Фаза «Реализация»
- •3.4.2.4. Фаза «Стабилизация»
- •3.4.2.5. Фаза «Внедрение»
- •3.4.3. Выбор архитектуры процесса.
- •3.4.3.1. Типы проектов
- •3.4.3.2. Модель процесса сверх легкого проекта
- •3.4.3.3. Модель процесса легкого проекта
- •3.4.3.4. Модель процесса тяжелого проекта
- •3.4.3.5. Модель процесса сверх тяжелого проекта
- •3.4.3.6. Занятость исполнителей
- •3.4.4. Порядок проведения типового проекта
- •3.4.4.1. Этап 1. Подготовка к проекту
- •3.4.4.2. Сбор и анализ предварительной информации
- •3.4.4.3. Формирование бригады проекта
- •3.4.4.4. Подготовка исходных документов
- •3.4.4.5. Этап 2. Работа над проектом
- •3.4.4.6. Процедура выполнения фазы проекта
- •3.4.4.7. Подготовка результирующих материалов вех
- •3.4.4.8. Этап 3. Завершение проекта
- •3.4.4.9. Архивирование результатов работы
- •3.4.4.10. Подведение итогов проекта
- •3.4.5. Документированные процедуры
- •3.4.5.3. Проверка качества материалов
- •3.4.6. Выводы
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме
- •Практическая работа №4. Тема: анализ требований и определение спецификаций программного обеспечения при структурном подходе.
- •4.1. Спецификации программного обеспечения при структурном подходе
- •4.2. Определение понятий и видов требований
- •Виды требований
- •4.1.2. Анализ и сбор требований
- •4.1.3. Инженерия требований по
- •4.2. Трассирование требований
- •Вопросы для рассмотрения.
- •Рекомендуемая литература по теме
3.4.2. Используемые фазы, вехи и артефакты
Замечание по конструированию. Целесообразно начать описание процесса с определения используемых понятий, подобно тому, как саму разработку целесообразно начинать с составления словаря предметной области.
В разрабатываемом процессе используются фазы, которые называются
Анализ
Проектирование
Реализация
Стабилизация
Внедрение
Замечание по конструированию. Названия первых четырех фаз совпадают с фазами процесса MSF (см. рис. 10) В модели процесса MSF имеются только четыре первых фазы по следующей причине. Фаза внедрения (deployment) не включается в процесс разработки и рассматривается в MSF как отдельный процесс.
В случае рассматриваемой организации мы предположили, что разработка и внедрение регулируются, как правило, одним и тем же договором, поэтому внедрение считается частью процесса разработки. Последовательность пяти фаз называется «виток». Фазы одного витка всегда выполняются в указанном порядке.
Замечание по конструированию. Последовательность фаз в витке является логической, в том смысле, что последующие фазы зависят от предшествующих фаз.
Это не означает, что фазы выполняются во времени строго одна за другой и следующая фаза может начаться только после окончания предыдущей. Напротив, фазы могут выполняться параллельно, и быть частично или полностью совмещенными по времени.
Каждая фаза заканчивается главной вехой, которая является характеристическим признаком фазы.
Кроме главных вех, которые являются видимыми извне процесса событиями, фазы могут иметь внутренние вехи, которые могут быть видимы и не видимы извне. Состав и порядок внутренних вех зависит от типа проекта и устанавливается при планировании процесса для конкретного проекта.
Замечание по конструированию. Видимость извне означает, что отчуждаемые материалы вехи согласуются с заказчиком.
Таким образом, все главные вехи и видимые извне внутренние вехи являются контрольными точками, привязанными ко времени планом-графиком, прилагаемым к Техническому заданию на проект. Далее в качестве синонима оборота "согласуемый с заказчиком..." используется термин "внешний".
3.4.2.1. Фаза «Анализ»
Фаза анализа является первой в каждом витке. Главная веха фазы анализа называется «утверждение концепции проекта» (или просто «концепция») и состоит в фиксации документа (серии документов) с общим названием "Концепция...". Концепция включает в себя следующие обязательные разделы:
Введение. Основание для разработки и статус проекта.
Постановка задачи. Общее описание предметной области проекта; формулировка проблемы, на решение которой направлен проект; краткий обзор альтернативных решений, если они есть; основные отличительные особенности проекта.
Цели проекта. Явное, лаконичное и эффективно проверяемое утверждение о целях проекта. Обычно проект имеет одну главную цель и несколько вспомогательных или промежуточных подцелей.
Категории пользователей. Классификация пользователей результатов проекта; перечисление их ожиданий по отношению к результатам проекта.
Используемые подходы. Перечисление и краткое описание методов, средств, приемов и мероприятий, которые предполагается использовать для достижения целей проекта.
Критерии успеха. Количественные эффективно вычислимые критерии, позволяющие оценить степень успешности проекта.
Типовые примеры. Несколько (1-3) неформальных примеров, иллюстрирующих использование ожидаемого решения.
Отчуждаемые материалы. Перечисление и краткое описание отчуждаемых материалов, которые составляют результат проекта.
Основное назначение Концепции состоит в том, чтобы явно сформулировать общее и согласованное понимание проблемы и путей ее решения, которое бы разделялось всеми участниками проекта: заказчиком, исполнителями (командой) и руководством организации. Промежуточными вехами на фазе анализа могут быть:
Обследование. Отчет о проведенном обследовании бизнес-процессов, на которые направлен проект.
Техническое задание. Формализованный документ, отражающий в стандартизованной форме содержание Концепции.
Замечание по реализации. При описании артефакта (документа) на этапе проектирования процесса достаточно указать название, назначение и структуру документа. При практическом применении процесса потребуется подготовить соответствующие шаблоны, места хранения документов и т.д.