В данном пункте представлено описание стандартного процесса объектно-ориентированной разработки информационного (программного) обеспечения бизнеса – Рационального Унифицированного Процесса – РУП (Rational Unified Process). Для его составления использованы работы [79 и 81].
Основным направляющим фактором разработки ПО является его системная архитектура. Архитектура программной системы представляет собой совокупность существенных решений, охватывающих ее структурные и поведенческие аспекты, использование (функциональность), производительность, гибкость, возможность повторного использования компонент, полноту, ограничения и компромиссы, а также эстетические вопросы. Выбор архитектуры должен учитывать аспекты рассмотрения создаваемого программного продукта представленные на рисунке 4.14 и в таблице 4.1, из которых точка зрения вариантов использования (прецедентов) является основной.
Основанный на архитектуре и управляемый прецедентами процесс разработки ПО является итеративным и инкрементным. Таким образом, он, во-первых, подразумевает создание версий программной системы и, во-вторых – развитие системной архитектуры при выпуске новых версий. Этот пошаговый процесс, предполагает постепенное проникновение в суть проблемы с помощью последовательных уточнений, в котором ПО разрабатывается и реализуется по частям, путем получения все более емкого решения.
|
|
Таблица 4.1. Аспекты представления системной архитектуры.
Вид | Аспект представления | Диаграммы представления UML | |
Статики | Динамики | ||
Прецедентов. | Варианты использования системы конечным пользователем, ее поведение. | Прецедентов. | Деятельности, состояний и взаимодействия. |
Проектирования. | Поддержка функциональных требований. Словарь предметной области (классы, интерфейсы, кооперации). | Классов и объектов. | Последовательности и кооперации. |
Процессов. | Процессы и потоки, с точки зрения производительности, пропускной способности, масштабируемости. | – «– | Деятельности, состояний и взаимодействия. |
Реализации. | Компоненты и файлы с точки зрения сборки системы и управления конфигурацией версий. | Компонентов. | – «– |
Развертывания. | Узлы физической системы с точки зрения распределения, поставки и установки. | Развертывания. | – «– |
Данный эффект достигается вследствие того, что РУП состоит из фаз, в которых достигаются конкретные хорошо определенные цели и принимается решение о переходе к следующей фазе: начало, исследование, построение, внедрение. При этомкаждая фаза состоит из итераций, содержащих рабочие процессы, соответствующие этапам жизненного цикла ПО. В каждой фазе и на каждой итерации основные усилия сосредотачиваются на различных аспектах процесса разработки. В таблице 4.2 показан общий вид этого процесса.
|
|
Рабочие процессы выполняются в каждой фазе и на каждом шаге итерации. При этом в разных фазах основной упор делается на разных работах. Внутри каждого рабочего процесса сосредоточены связанные между собой артефакты (artifact) – документы, программы и т.д. и деятельности (activity) – анализ, выполнение, а также способы и рекомендации по решению различных задач.
Одно прохождение четырех фаз процесса называется циклом разработки. Если после этого работа над проектом не заканчивается, то полученный продукт продолжает развиваться и снова проходит цикл из четырех фаз, каждая из которых состоит из рабочих процессов, представленных в таблице 4.3.
Таблица 4.2. Фазы и рабочие процессы РУП.
Рабочие процессы: | Начало | Исследование | Построение | Внедрение | ||||||||
Моделирование бизнес-процессов | ||||||||||||
Требования | ||||||||||||
Анализ и проектирование | ||||||||||||
Реализация | ||||||||||||
Тестирование | ||||||||||||
Развертывание | ||||||||||||
Управление конфигурацией и изменениями | ||||||||||||
Управление проектом | ||||||||||||
Рабочая среда | ||||||||||||
Вспомогательные процессы | ||||||||||||
Номер итерации ® | … | n | n+1 | … | m | m+1 | … | k | k+1 | … | s | |
Таблица 4.3. Цикл разработки.
Наименование процесса: | Содержание процесса: |
Моделирование бизнес-процессов | Описывается структура и динамика организации. |
Требования | Описываются требования пользователей методом, основанным на прецедентах. |
Анализ и проектирование | Описывается предметная область и различные виды архитектуры разрабатываемой системы. |
Реализация | Разрабатывается программные модули, проводится автономное тестирование и их интеграция. |
Тестирование | Описываются тестовые сценарии, процедуры и метрики для измерения числа ошибок. |
Развертывание | Осуществляется конфигурирование поставляемой системы. |
Управление конфигурацией и изменениями | Управление изменениями и поддержание целостности проекта. |
Управление проектом | Выработка и описание различных стратегий работы с итеративным процессом. |
Рабочая среда | Рассмотрение вопросов инфраструктуры, необходимой для разработки системы. |