Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКИЕ РАБОТЫ ПО ОСНОВАМ ИНЖЕНЕРИИ.doc
Скачиваний:
133
Добавлен:
09.02.2016
Размер:
1.51 Mб
Скачать

2.2.2. Фазы и витки

При описании процессов, связанных с разработкой программного обеспечения, основны­ми структурными составляющими являются фазы и витки.

Фаза (phase) - часть процесса разработки. Обычно каждая фаза характеризуется вехой, достижение которой знаменует завершение фазы.

На фазу можно смотреть и как на состояние процесса, и как на действие (деятельность) в процессе. Рассмотрим, к примеру, фазу, которая обычно выделяется в процессе разработ­ки: выявление и анализ требований. С одной стороны, это совокупность разнообразных действий: совещания с заказчиками, интервьюирование пользователей, анализ осущест­вимости и другие. С другой стороны, это состояние процесса, которое характеризуется тем, что требования еще не определены, и значит нецелесообразно или невозможно вы­полнять другие действия, например, архитектурное проектирование, кодирование, тести­рование. «Требования определены» - это веха, достижение которой знаменует завершение фазы определения и анализа требований. Когда эта веха достигнута, процесс переходит в другую фазу, обычно в фазу архитектурного проектирования.

В разных источниках используются также термины стадия или этап. Мы предпочитаем термин «фаза» по следующей причине. Слова «стадия» и «этап» имеют оттенок линейной упорядоченности, подразумевается, что следующий этап меняет предыдущий, и они не совмещаются во времени. Иногда фазы действительно строго меняют друг друга, но чаще бывает так, что фазы частично перекрывают друг друга и выполняются параллельно - на­пример, требования еще окончательно не утверждены и фаза извлечения требований еще не закончилась, но уже начаты работы по архитектурному проектированию. Наборы фаз, которые включают в модель процесса разработки, различны в разных техно­логиях программирования. Чаще всего встречаются следующие фазы.

  • Извлечение и анализ требований.

  • Архитектурное и детальное проектирование.

  • Реализация и кодирование.

  • Тестирование и верификация.

  • Сопровождение и продолжающаяся разработка.

Замечание. К сожалению, часто одна и та же фаза в разных моделях называется по-разному. Это связано с устойчивыми традициями и вряд ли может быть изменено. Следует иметь в виду это об­стоятельство, и, встречая незнакомое название фазы, тщательно проверять, не является ли название просто новым именем для хорошо знакомой фазы.

В следующих разделах упомянутые фазы рассмотрены подробнее.

Поскольку процесс разработки программного обеспечения имеет циклический характер, многие фазы повторяются несколько раз. Необходимо как-то идентифицировать и разли­чать разные вхождения одной фазы в жизненный цикл. С этой целью, используя метафору спирального развития процесса разработки, вводится термин виток (см. рис. 2).

Виток - последовательность неповторяющихся фаз в жизненном цикле программы.

10 . Иногда программисты вместо аккуратного термина «выпуск» используют слово «релиз», полученное прямой транслитерацией английского термина «release», который на самом деле в данном случае как раз и означает «выпуск».

11 . Например, термин «итерация» применяют в одной из популярнейших моделей процесса - Rational Unified Process (RUP), название которой обычно переводят как Унифицированный процесс.

Вообще говоря, разные витки в одном жизненном цикле могут иметь разный состав вхо­дящих в виток фаз. Поэтому витки обычно выделяют не произвольным образом, а так, чтобы каждый виток заканчивался выпуском10 (см. разд. 2.1). Довольно часто используют и другой термин - итерация.11