Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный процесс: управляемый варианта....docx
Скачиваний:
4
Добавлен:
03.11.2018
Размер:
401.68 Кб
Скачать
    1. Унифицированный процесс в двух словах

Прежде всего Унифицированный процесс есть процесс разработки программного обеспечения. Процесс разработки программного обеспечения — это сумма различных видов деятельности, необходимых для преобразования требований пользователей в программную систему (рис. 1.1). Однако Унифицированный процесс — это больше чем единичный процесс, это обобщенный каркас процесса, который может быть специализирован для широкого круга программных систем, различных областей применения, уровней компетенции и размеров проекта.

Унифицированный процесс компонентно-ориентирован. Это означает, что создаваемая программная система строится на основе программных компонентов, связанных хорошо определенными интерфейсами.

Для разработки чертежей программной системы Унифицированный процесс использует Унифицированный язык моделирования. Фактически Унифицированный язык моделирования является неотъемлемой частью Унифицированного процесса — они и разрабатывались совместно.

Однако действительно специфичные аспекты Унифицированного процесса заключаются в трех словосочетаниях — управляемый вариантами использования, архитектурно-ориентированный, итеративный и инкрементный. Это то, что делает Унифицированный процесс уникальным.

    1. Унифицированный процесс управляется вариантами использования

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

Понятие пользователь относится не только к людям, работающим с системой, но и к другим системам. Таким образом, понятие пользователь относится к кому-либо или чему-либо (например к другой системе, внешней по отношению к рассматриваемой системе), что взаимодействует с системой, которую мы разрабатываем. Пример взаимодействия — человек, использующий банкомат (ATM). Он вставляет в прорезь пластиковую карту, отвечает на вопрос, высвечиваемый машиной на экране, и получает деньги. В ответ на вставленную карту и ответы пользователя система осуществляет последовательность действий, которые обеспечивают пользователю ощутимый и значимый для него результат, а именно получение наличных.

Взаимодействие такого рода называется вариантом использования. Вариант использования — это часть функциональности системы, необходимая для получения пользователем значимого для него, ощутимого и измеримого результата. Варианты использования обеспечивают функциональные требования. Сумма всех вариантов использования составляет модель вариантов использования которая описывает полную функциональность системы. Эта модель заменяет традиционное описание функций системы. Считается, что описание функций может ответить на вопрос: что система предположительно делает? Подход вариантов использования может быть охарактеризован добавкой трех слов в конец этого вопроса: для каждого пользователя? Эти три слова представляют собой очень важное дополнение. Они побуждают нас думать в понятиях результата, значимого для пользователя, а не только в понятиях функций, которые хорошо бы иметь. Однако варианты использования — это не только средство описания требований к системе. Они также направляют ее проектирование, реализацию и тестирование, то есть они направляют процесс разработки. Основываясь на модели вариантов использования, разработчики создают серию моделей проектирования и реализации, которые осуществляют варианты использования. Тестеры тестируют реализацию для того, чтобы гарантировать, что компоненты модели реализации правильно выполняют варианты использования. Таким образом, варианты использования не только инициируют процесс разработки, но и служат для связи отдельных его частей. Управляемый вариантами использования означает, что процесс разработки проходит серии рабочих процессов, порожденных вариантами использования. Варианты использования определяются, варианты использования проектируются, и, в конце концов, варианты использования служат исходными данными, по которым тестеры создают тестовые примеры.

Поскольку варианты использования действительно упpaвляют процессом, они не выделяются изолированно. Они разрабатываются в паре с архитектурой системы. Таким образом, варианты использования управляют архитектурой системы, а архитектура системы оказывает влияние на выбор вариантов использования. Соответственно и архитектура системы, и варианты использования развиваются по мере хода жизненного цикла.