- •Введение
- •Практическая работа №1. Тема: технология программирования. Основные понятия и подходы.
- •1.1. Назначение технологии программирования
- •1.2. История развития технологии программирования
- •1.2.1. Дореволюционный период
- •1.2.2. «Революция в программировании»
- •1.2.3. Послереволюционный период
- •1.3. Типы программных проектов
- •1.5. Проект, продукт, процесс и персонал
- •Вопросы для рассмотрения.
- •1.4. Составные части технологии программирования
- •Рекомендуемая литература по теме.
- •Практическая работа №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.3.2. Модель процесса сверх легкого проекта
Модель процесса сверх легкого проекта имеет вырожденную спиральную структуру, состоящую из одного неполного витка, как показано на рис. 13.
В модели процесса сверх легкого проекта предполагается, что фазы анализа и проектирования, а также реализации и стабилизации выполняются параллельно. Это обусловлено тем, что
ТЗ совпадает с Концепцией и фаза анализа не имеет главной вехи (что не отменяет необходимости самого анализа задачи),
используется ровно одно инструментальное средство и автономная отладка эквивалентна комплексной отладке.
Замечание по конструированию. Для целей сравнения продолжительности фаз далее используется некоторая единица измерения времени, которая условно названа "месяц" (практика показывает, что единичная фаза действительно выполняется около месяца, чем и обусловлен выбор названия условной единицы).

Для сверх легкого проекта фазы анализа / проектирования и внедрения требуют примерно вполовину меньше ресурсов, чем для проектов других типов, поэтому общая продолжительность сверх легкого проекта составляет 0,5+1+0,5=2 месяца.
3.4.3.3. Модель процесса легкого проекта
В спиральной структуре легкого проекта второй виток максимально наложен на первый (рис. 14), поскольку на фазе реализации первого витка не ожидается возникновения информации, которая может повлиять на фазу анализа второго витка. Таким образом, для легкого проекта расчет общей продолжительности проводится по формуле 6+1.
В типичном случае, считая продолжительность одной фазы равной месяцу, заказчик получает результат через 6 месяцев.
Замечание по конструированию. В легком проекте заказчик получает результат через 6 месяцев (а не 7) в худшем случае, так как на фазе внедрения приложение (решение) не подвергается радикальным переделкам, а только косметическим улучшениям.
Схематический план-график модели процесса легкого проекта:
|
П. |
Фаза |
Веха |
Роль |
Примечания |
|
1 |
Анализ |
Концепция |
Аналитик |
|
|
2 |
Планирование |
Спецификации |
Аналитик |
|
|
3 |
Реализация |
Код готов |
Программист |
|
|
Анализ |
Концепция |
Аналитик |
| |
|
4 |
Стабилизация |
Выпуск |
Программист / Тести-ровщик |
|
|
Планирование |
Спецификация |
Аналитик |
Исправление предыдущей спецификации |
|
П. |
Фаза |
Веха |
Роль |
Примечания |
|
5 |
Опытная эксплуатация |
|
Тестировщик / Эксплуатационник |
|
|
Реализация |
Код готов |
Программист |
| |
|
6 |
Стабилизация |
Выпуск |
Программист / Тести-ровщик |
Учет ошибок, найденных при опытной эксплуатации |
|
7 |
Внедрение |
Проект закончен |
Эксплуатационник |
|

В легких проектах могут совмещаться фазы повторного анализа и повторного проектирования, или же повторной реализации и повторной стабилизации, как что фаза опытной эксплуатации плавно переходит в фазу внедрения и проект заканчивается через 6 месяцев, например, как показано на рис. 15.

