Контрольный список потенциальных действий

Потенциальные действия и задачи

Для различных моделей жизненного цикла

 

Рассмотрим действия и соответствующие описания к ним для следующих циклов разработки программного обеспечения (ПО):

1. Каскадная модель;

2. V-образная модель;

3. Структурированная модель быстрого прототипирования;

4. Модель быстрой разработки приложений (RAD);

5. Инкрементная модель;

6. Спиральная модель.

Каждая из этих моделей жизненного цикла разработки ПО включает различный набор действий и задач, выполняемых при разработке основных компонентов ПО.

 

 

Интегральные действия для всех моделей жизненного цикла

Интегральные действия – это поддержка действий, происходящих на всем протяжении жизненного цикла.

 

Интегральные действия  
Отслеживание и контроль и проекта Анализ рисков Планирование случайных событй Управление проектом Сохранение записей Внедрение метода отчета о проблемах
Управление качеством ПО Планирование управления качеством ПО Определение метрических показателей Планирование качества ПО Идентификация потребностей по улучшению качества
Аттестация и верификация План аттестации и верификации Выполнение задач по аттестации и верификации Сбор и анализ метрических данных
Менеджмент конфигурации ПО План менеджмента конфигурации Идентификация конфигурации Контроль конфигурации Учет состояния
Разработка документации Документирование плана Внедрение документации Создание и распределение документации
обучение Планирование учебной программы Разработка учебных материалов Аттестация учебной программы Внедрение учебной программы

 

 

Типичное распределение денежных средств жизненного цикла разработки ПО

 

действия Структура денежных средств в %
Работа в рамках проекта  
требования
спецификация
планирование
Разработка проекта
кодирование
тестирование
интеграция
Рабочие операции  
сопровождение

 

 

Контрольный список потенциальных действий

и задач, характерных для каскадной модели (модель 1)

 

Потенциальные действия Потенциальные задачи
Исследование концепции - проверка требований на системном уровне с целью определения их выполнимости Идентфикация идей либо потребностей Формулирование потенциальных подходов Выполнение исследований выполнимости Планирование системного перехода(в случае необходимости) Уточнение и завершение идеи либо потребности
Процесс системного распределения – установка соотвествия между функциями и программным либо аппаратным обеспечением на основе общей системной архитектуры Анализ функций Разработка системной архитектуры Декомпозиция системных требований    
Процесс определения требований – определение требований к ПО для получения информации относительно области действия и функций системы, поведения, производительности и применяемых интерфейсов Определение и разработка требований со стороны ПО Определение требований по разработке интерфейса Расстановка приоритетов и интеграции требований к ПО  
Процесс разработки проекта – разработка и представление логически связной технической спецификации программной системы, включая структуры данных, программную архитектуру, представления интерфейса, а также процедурные (алгоритмические) детали Разработка проекта архитектуры Проектирование базы данных (в случае необходимости) Проектирование интерфейсов Выбор либо разработка алгоритмов (в случае необходимости) Выполнение детализированной разработки проекта
Процесс внедрения – трансформация описания разработки программного проекта в программный продукт, а также создание исходного кода, баз данных и документации независимо от того, были ли эти программные продукты разработаны, приобретены либо имеют смешанное происхождение Создание тестовых данных Создание исходного кода Генерирование объектного кода Создание оперативной документации План интеграции Выполнение интеграции
Процесс установки – установка и проверка ПО в операционной среде, а также получение формального одобрения ПО со стороны заказчиков План установки Распределение ПО Установка ПО Приемка ПО в операционной среде
Процесс эксплуатации и поддержки – включает пользовательские операции в системе и действующую поддержку, в том числе техническую помощь, оказание консультаций пользователям, фиксация их запросов с целью выполнения расширений и изменений, а также обработка исправлений либо ошибок Выполнение операций в системе Обеспечение технической поддержки и проведение консультаций Поддержка журнала регистрации пользователей  
Процесс сопровождения – анализ запросов с целью обнаружения программных ошибок, сбоев, ошибок, расширений, а также изменений, генерируемых при осуществлении процесса поддержки Повторное применение цикла разработки ПО (начало процесса разработки)
Процесс вывода из эксплуатации – прекращение активного применения используемой системы путем завершения выполняемых ей операций, замена на новую систему либо обновление с применением новой версии существующей системы Извещение пользователей Выполнение параллельных операций ( в случае необходимости) Вывод системы из эксплуатации

 

Контрольный список действий и задач в V – образной модели (модель 2)

Модель SLCM - Модель жизненного цикла ПО (SLCM – Software life cycle model)

 

Потенциальные действия Потенциальные задачи
1. Планирование проекта и требований – определение системных требований и методов распределения ресурсов организации с целью удовлетворения требований  
Начало выполнения проекта Установка соответствия между действиями и планом SLCM Распределение ресурсов проекта Настройка среды проекта Планирование управления проектом
Исследование концепции Идентификация идей или потребностей Формулирование потенциальных подходов Исследование выполнимости Планирование системных переходов (при необходимости) Уточнение и завершение идей либо потребностей
Управление качеством ПО Планирование управления качеством ПО Определение метрических показателей
2. Требования к продукту анализ спецификаций – анализ и спецификации ожидаемого внешнего поведения разрабатываемой программной системы  
Анализ системного распределения Анализ функций Разработка системной архитектуры Декомпозиция системных требований
Идентификация требований к ПО Определение и разработка требований к ПО Определение требований к интерфейсу Установка приоритетов и интеграция требований к ПО
3. Архитектура и разработка проекта на высоком уровне - определение рядка применения программных функций для разработки проекта Разработка проекта на высоком уровне Выполнение разработки проекта архитектурного Проектирование базы данных (при необходимости) Проектирование интерфейсов
4. Детализированная разработка проекта – определение и документирование алгоритмов для каждого компонента, который был определен на фазе разработки архитектурного проекта Выбор и разработка алгоритмов (при необходимости) Выполнение детализированной разработки проекта
5. Кодирование – трансформация алгоритмов, определенных на фазе детализированной разработки проекта в готовое ПО Создание исходного кода Генерирование объектного кода Создание оперативной документации
6. Тестирование модуля – проверка каждого созданного модуля на предмет наличия ошибок План тестирования Разработка тестовых требований Создание тестовых данных Выполнение тестов
7. Интеграция и тестирование – проверка предварительно протестированных модулей, в результате которой нужно убедиться в том, что они будут вести себя также, как и в случае независимого тестирования План интеграции Выполнение интеграции План тестирования Разработка тестовых требований Создание тестовых данных Выполнение тестов
8. Тестирование приемлимости – обеспечение возможности тестирования функциональных свойств системы пользователями в соотвествии с исходными требованиями. После завершения тестирования ПО и соответствующее аппаратное обеспечение системы становятся работоспособными. Затем следует этап сопровождения системы План установки ПО Распределение ПО Установка ПО План тестирования Разработка тестовых требований Создание тестовых данных Выполнение тестов Приемка ПО в операционной среде
9. Производство, эксплуатация и сопровождение Выполнение операций в системе Техническая помощь и выполнение консультаций Поддержка запросов о технической помощи  

 

Контрольный список потенциальных действий и задач, выполняемых в структурированной модели эволюционного быстрого прототипирования (модель 3)

 

 

Данная модель представляет собой результат циклической перестановки большинства действий описанных в SLCP. При этом следует учитывать, что эта модель применяется согласно линейному закону несколько раз, причем каждый раз создаются все более устойчивые поставляемые продукты.

 

 

Потенциальные действия Потенциальные задачи
1. Совместное планирование проекта – пользователь и разработчик совместно разрабатывают предварительный план проекта, в котором «набрасываются» схематичные графики и поставляемые продукты  
Начало выполнения проекта Установка соответствия между действиями и планом SLCM Распределение ресурсов проекта Установка среды проекта Планирование управления проектом
Исследование концепции Идентификация идей или потребностей Формулирование потенциальных подходов Исследование выполнимости Планирование системных переходов Уточнение и завершение идей либо потребностей
2. Разработка «бумажного прототипа» - совместная работа пользователя и разработчика проекта с целью разработки требований и спецификаций для критических частей воображаемого ПО, умышленно создавая при этом незавершенную «бумажную» модель высокого уровня.  
3. Быстрый анализ – пользователь и разработчик проекта выполняют совместную разработку на основе предварительно сформулированных требований  
Анализ структуры системы Анализ функций Разработка предварительных системных требований
Идентификация предварительных программных требований Проведение предварительного собеседования с пользователями Определение и разработка предварительных требований к ПО Разработка предварительных требований к создаваемому интерфейсу Расстановка приоритетов и интеграция требований к ПО
4. Создание базы данных – совместная идентификация предварительных элементов базы данных Выполнение предварительной разработки проекта архитектуры Проектирование предварительной базы данных
5. Проектирование пользовательского интерфейса – совместное определение порядка взаимодействия ПО с пользователем Проектирование предварительных интерфейсов
   
6. Разработка алгоритмических функций Выбор либо разработка алгоритмов (только на бумаге)
7. Частичная спецификация требований – используется при создании начального прототипа  
8. Создание программного прототипа системы – применение спецификации быстрого анализа требований  
9. Внедрение системы – разработка ПО на основе спецификации быстрого анализа требований  
10. Внедрение – разработка на основе спецификаций и результатов измерений Создание тестовых данных Создание исходного кода Генерирование объектного кода План установки Установка ПО
11. Оценка системы – совместный обзор программного прототипа  
12. Повторное производство программного прототипа – включение изменений, изученных на этапе оценивания (при необходимости). Этап может повторятся несколько раз. Используйте авторитетные суждения для планирования циклов обучения.  
13. Обновление спецификаций требований – применяется для создания исправленного прототипа.  
Анализ структуры системы  
Идентификация исправленных требований к ПО Проведение предварительного собеседования с пользователями   Уточнение и дальнейшая разработка требований к ПО Определение исправленных требований к интерфейсу Расстановка приоритетов и интеграции требований к ПО
14. Коррекция базы данных – совместная идентификация скорректированных элементов базы данных Разработка скорректированного проекта архитектуры Коррекция разработки проекта базы данных
15. Коррекция пользовательского интерфейса – совместное повторное определение порядка взаимодействия интерфейса с пользователем Разработка предварительных интерфейсов
16. Коррекция алгоритмических функций Выбор либо разработка алгоритмов
17. Приемка функциональных свойств прототипа ПО – формальное одобрение со стороны пользователя функциональных свойств прототипа  
18. Наследование детализированной разработки проекта на этапе производства ПО – наследование детализированной разработки проекта на основе принятого быстрого прототипа Уточнение алгоритмов Выполнение детализированной разработки проекта Создание документа, определяющего разработку проекта производственной системы
19. Внедрение производственной системы – трансформация описания разработки проекта производственной системы в программный продукт. При этом создается исходный код, базы данных и документация независимо от того, приобретается, производится/частично производится продукт  
19.1. Кодирование – преобразование детализированной разработки проекта в производственную систему Создание исходного кода Генерирование объектного кода Создание оперативной документации
19.2. Интеграция – объединение программных компонентов План интеграции Выполнение интеграции
19.3. Тестирование – проверка внедрения разработки производственного проекта План тестирования Разработка тестовых требований Создание тестовых данных Выполнение тестов
19.4. Установка производственной системы – установка и проверка ПО в операционной среде, выполнение необходимой настройки с целью формальной приемки ПО со стороны заказчика План установки Распределение ПО Установка ПО Приемка ПО в производственной операционной среде  
20. Процесс эксплуатации и поддержка – выполняютя пользовательские операции в системе и текущая поддержка, включая обеспечение технической поддержки, консультации с пользователями, фиксация пользовательских запросов на расширения и изменения, а также обработку исправлений либо ошибок Выполнение операций в системе Обеспечение технической помощи в выполнение консультаций Поддержка журналов запросов о помощи  
21. Процесс сопровождения – анализ запросов с целью нахождения программных ошибок, сбоев, недостатков, расширений, а также изменений, генерируемых в ходе осуществления процесса сопровождения Повторное применение цикла разработки ПО
22. Процесс вывода из эксплуатации – прекращение активного использования существующей системы либо путем завершения системных операций с помощью внедрения совершено новой системы, либо путем использования обновленной версии существующей системы Извещение пользователей Выполнение параллельных операций Вывод системы из эксплуатации  
23. Эксплуатация и сопровождение – перевод ПО в производственное состояние Распространение ПО Установка ПО Приемка ПО в операционной среде Операции в системе Обеспечение технической помощи и консультации Поддержка журнала запросов о помощи

 

 

Контрольный список потенциальных действий и задач, выполняемых в модели RAD (модель 4)

 

Потенциальные действия Потенциальные задачи
Планирование и активизация проекта Установка соответствия между действиями и планом SLCM Распределение ресурсов проекта Установка среды проекта Планирование управления проектом
Фаза планирования требований  
Исследование концепции – исследование требований на системном уровне с целью определения выполнимости с применением подхода совместного планирования требований Идентификация идей или потребностей Формулирование потенциальных подходов Проведение изучения выполнимости Планирование системного перехода Уточнение/завершение идеи и потребности
Процесс определения структуры системы – установка соответствия между функциями программным/ аппаратным обеспечением на основе общей системной архитектуры и с применением подхода совместного планирования требований Анализ функций Разработка архитектуры системы Декомпозиция системных требований
Процесс определения требований – процесс определения требований к ПО для информационной области и функций системы, применяя подход совместного планирования требований Определение и разработка требований к ПО Определение требований к интерфейсу Расстановка приоритетов и интеграция требований к ПО
Фаза описания пользователя  
Процесс разработки проекта – разработка и представление логически непротиворечивой технической спецификации программной системы, включая структуру данных, программную архитектуру, представления интерфейса, а также процедурные (алгоритмические) детали Разработка проекта архитектуры Проектирование базы данных Проектирование интерфейсов Выбор либо разработка алгоритмов Фаза конструирования    
Разработка проекта - разработка и представление логически непротиворечивой технической спецификации программной системы, включая структуру данных, программную архитектуру, представления интерфейса, а также процедурные (алгоритмические) детали, созданные за ограниченный период времени Разработка проекта архитектуры Проектирование базы данных Проектирование интерфейсов Выбор либо разработка алгоритмов Выполнение детализированного дизайна
Процесс внедрения – преобразования описания проекта ПО в программный продукт, продуцирование исходного кода, баз данных и документации независимо от того, были ли они произведены (частично) или закуплены (частично) Генерирование тестовых данных Создание объектного кода Создание оперативной документации Планирование интеграции Планирование тестирования Разработка тестовых требований Выполнение тестов
Фаза «расчистки»  
Процесс установки – установка и проверка ПО в операционной среде, а также выполнение формальной приемки со стороны заказчика План установки Распространение ПО Инсталляция ПО Установка ПО в операционной среде

 

Контрольный список потенциальных действий и задач,

выполняемых в рамках инкрементной модели (модель 5)

 

Потенциальные действия Потенциальные задачи
1. Планирование и активизация проекта  
1.1. Начало выполнения проекта Установка соответствия соотвествия между действиями и планом SLCM Распределение ресурсов проекта Установка среды проекта Планирование управления проектом
1.2.Выполнимость проекта  
1.2.1. Исследование концепции – исследование требований на системном с целью определения ее выполнимости Идентификация идей либо потребностей Формулирование потенциальных подходов Изучение выполнимости Планирование системного перехода Уточнение и завершение идеи и потребности
1.2.2. Процесс определения структуры системы – установка соответствия между функциями и программным/аппаратным обеспечением на основе общей системной архитектуры Анализ функций Разработка архитектуры системы Декомпозиция системных требований  
1.3. Планы и требования, имеющие отношения к ПО  
1.3.1. Процесс определения требований – определение требований к ПО для информационной области, функций, поведения, производительности, а также интефейсов системы Определение и разработка требований к ПО Определение требований к интерфейсу Расстановка приоритетов и интеграция требований к ПО
1.3.2. Процесс разработки проекта – разработка и представление логически непротиворечивой технической спецификации программной системы, включая структуры данных, программную архитектуру, представления интерфейса, а также некоторые процедурные (алгоритмические) детали   Проектирование базы данных Проектирование интерфейсов Выбор либо разработка алгоритмов
2. Разработка проекта продукта: 1-ый этап  
2.1. Процесс разработки – разработка и представление логически непротиворечивой технической спецификации программной системы, включая структуры данных, программную архитектуру, представление интерфейса, а также процедурные (алгоритмические) детали Выбор либо разработка алгоритмов Выполнение детализированной разработки проекта
2.2. Процесс кодирования – преобразование описания разработки программного проекта в программный продукт, продуцирование исходного кода и баз данных Генерирование тестовых данных Создание исходного кода Генерирование объектного кода  
2.3. Процесс интеграции – комбинирование элементов с последующим созданием рабочего компонента системы План интеграции Выполнение интеграции
2.4. Процесс эксплуатации и поддержки – включает пользовательские операции в системе и текущую поддержку, в том числе техническую помощь, консультации с пользователями, регистрацию пользовательских запросов о расширении и изменениях, а также обработку исправлений либо ошибок  
2.5. Операционный процесс – использование системы в производстве Выполнение эксплуатации системы Предоставление технической помощи и проведение консультаций Поддержка запросов о технической помощи
2.6. Процесс сопровождения – анализ запросов с целью выявления программных ошибок, сбоев, недостатков, расширений и изменений, генерируемых в процессе сопровождения Повторное применение цикла разработки ПО (начало выполнения проекта)
3. Разработка проекта продукта: 2-ой этап  
3.1. процесс разработки проекта  
3.2. процесс кодирования  
3.3. процесс интеграции  
3.4. Процесс внедрения – преобразование программных компонентов в начальные версии установленных программных продуктов, снабженных документацией. Производится установка и проверка ПО в операционной среде, а также выполняется формальная приемка ПО на 2-ом этапе Создание оперативной документации Планирование установки Распространение ПО Установка ПО Приемка ПО в операционной среде  
3.5. Процесс эксплуатации сопровождения – анализ запросов с целью обнаружения программных ошибок, сбоев, дефектов, расширений и изменений, сгенерированных в процессе поддержки Повторное применение цикла разработки (инициализация цикла разработки)
4. Разработка продукта: 3-ий этап  
4.1. Процесс разработки продукта  
4.2. Процесс кодирования  
4.3. Процесс интеграции  
4.4. Процесс внедрения 4.5. Процесс эксплуатации и поддержки  
4.6. Процесс эксплуатации  
4.7. Процесс сопровождения  
4.8. Процесс вывода из эксплуатации – прекращение активного использования существующей системы либо путем отказа от выполнения соответствующих операций, заменяя систему на совершенно новую, либо путем применения обновленной версии существующей системы Извещение пользователей Проведение параллельных операций Вывод системы из эксплуатации

 

 

Действия, выполняемые в спиральной модели разработки ПО (модель 5)

 

Существует множество вариаций спиральной модели жизненного цикла разработки ПО. Все они подобны модели быстрого прототипирования (см. модель 3). Все спиральные модели представляют собой циклическую перестановку большинства действий (из таблицы для модели 3), но выполняемые по линейному закону несколько раз, причем каждый раз производятся все более устойчивые поставляемые продукты.