М. Фаулер, К. Скотт - UML. Основы - 2002 (1158629), страница 13
Текст из файла (страница 13)
В этом случае каждый вид пользователя представляет собой актера, а варианты использования укажут вам, что должен делать каждый из этих актеров. ° Акцент на получении желаемого сервиса от вариантов использования может помочь вам установить приоритеты между различными актерами. Некоторые варианты использования могут не иметь очевидных связей с отдельными актерами. Рассмотрим, например, некоторое коммунальное предприятие. Очевидно, одним из его йариантов использования является: отправить счет за пользование коммунальными услуга- 60 Глава 3. Варианты использования ми. Однако при этом совсем непросто идентифицировать соответствующего актера. Нет такой специфической роли пользователя, которая запрашивала бы этот счет. Счет направляется потребителю коммунальных услуг, но сам потребитель не будет возражать, если этого не произойдет.
В этой ситуации наиболее подходящим актером может стать бухгалтерия предприятия, поскольку именно она пользуется результатами этого варианта использования. Тем не менее, обычно полагают, что бухгалтерия не имеет непосредственного отношения к рассматриваемому варианту использования. Следует отметить, что некоторые варианты использования могут не проявиться даже в результате долгих размышлений над вариантами использования для каждого из актеров.
Если это произойдет, то не стоит особенно беспокоиться. Гораздо важнее хорошо разбираться в имеющихся вариантах использования и тех сервисах, которые они предоставляют пользователям. Хорошим источником идентификации вариантов использования являются внешние события. Поразмышляйте обо всех событиях внешнего мира, которые вы способны осмыслить. То или иное событие может оказывать влияние на систему даже без участия пользователей или, наоборот, получать воздействия, главным образом, от пользователей. Идентификация событий, на которые необходимо реагировать, поможет вам идентифицировать и варианты использования. Отношения между вариантами использования Помимо связей между актерами и вариантами использования, на диаграммах могут быть представлены также отношения между вариантами использования.
Отношение включения ()шс1ибе) имеет место„когда имеется какой-либо фрагмент поведения системы, который повторяется более чем в одном варианте использования, и вы не хотели бы, чтобы его описание копировалось в каждом из этих вариантов использования. Например, для обоих вариантов использования «Проанализировать риске и «Договориться о цене«необходимо определить цену сделки. Описание определения цены сделки можно представить как отдельный сценарий, после чего вставлять его в нужное место. Поэтому я выделил отдельный вариант использования «Определить цену сделки» и ссылаюсь на него из других вариантов использования.
Если имеется один вариант использования, который подобен другому варианту использования, но намного шире его, то такое отношение может быть представлено как обобщение вариантов использования (иве саве яепега11ха11оп). По существу, это дает нам другой способ построения альтернативных сценариев. В нашем примере основным вариантом использования является вариант «Заключить сделку». Предполагается, что все складывается бла- 61 Диаграммы вариантов использования гополучно. Однако некоторые обстоятельства могут помешать совершению сделки. Одним из них является превышение лимитов, например, максимальной суммы торговой сделки, установленной для отдельного клиента. В этом случае будет нарушен обычный ход выполнения процесса„ассоциированного с данным вариантом использования, и необходимо предусмотреть его изменение.
Это изменение можно учесть в рамках основного варианта использования «Заключить сделку» как альтернативу, подобно варианту использования «Покупка товара», который был рассмотрен ранее. Однако нас не покидает ощущение, что эта альтернатива не настолько самостоятельна, чтобы выделить ее в отдельный вариант использования. Поэтому поместим альтернативную ветвь процесса в специальный вариант использования, который ссылается на базовый вариант использования.
Этот специальный вариант использования может замещать любую часть базового варианта использования, тем не менее, он по- прежнему должен быть ориентирован на выполнение важных для пользователя действий. Третье отношение, которое изображено на рис. 3. 2, называется расширением (ех1епб). В сущности, оно аналогично обобщению, но имеет некоторые дополнительные особенности. При построении модели расширяющий вариант использования может дополнять поведение базового варианта использования, но в базовом варианте должны быть определены так называемые «точки расширения». При этом расширяющий вариант использования может дополнять поведение базового только в этих точках расширения (рис. 3.
3). Постоянный «влепи» (информация о еж»пее, м«$орыяая одаставе) Ри«.3.3. Отношениераеширенил Вариант использования может иметь несколько точек расширения, и расширяющий вариант использования может расширять базовый в одной или нескольких точках расширения. Вы должны указать на диаграмме стереотип «ехтяпт(» на линии, которая соединяет соответствующие варианты использования. Как обобщение, так и расширение позволяют выполнять расщепление или декомпозицию вариантов использования.
На этапе исследования я часто расщепляю те из вариантов использования, которые представляются мне слишком сложными. Я также расщепляю их на этапе построения проекта, если у меня создается впечатление, что я не могу реализовать такой вариант использования в течение одной итерации це- 62 Глава 3. Варианты использования ликом. Когда я провожу такую декомпозицию, то вначале предпочитаю рассматривать обычную ситуацию и лишь затем — ее вариации.
В связи с этим можно воспользоваться следующими правилами: ° Используйте отношение включения, когда приходится повторять одно и тоже в двух и более отдельных вариантах использования и есть желание исключить это повторение. ° Используйте отношение обобщения, когда описываете изменение некоторого нормального поведения и есть желание сделать это поверхностно. ° Используйте отношение расширения, когда описываете изменение некоторого нормального поведения и есть желание сделать это в более точной форме, определив точки расширения в базовом варианте использования.
Варианты использования бизнес-процессов и систем Общей проблемой при работе с вариантами использования является такая ситуация, когда, уделяя основное внимание взаимодействию пользователя с системой„можно упустить из рассмотрения тот факт, что лучшим способом решения проблемы может оказаться изменение бизнес-процесса. Часто можно услышать разговоры разработчиков о вариантах использования систем и вариантах использования бизнес-процессов. Конечно, эта терминология не является точной, но обычно считается, что вариант использования системы описывает особенности взаимодействия с программным обеспечением, в то время как вариант использования бизнес-процесса представляет собой реакцию на действие клиента или некоторое событие.
У меня нет особых причин углубляться в рассмотрение этих вопросов. На ранних этапах исследования я больше изучаю варианты использования бизнес-процессов, но думаю, что варианты использования системы являются более полезными для планирования.
По-моему, размышления о вариантах использования бизнес-процесса приносят большую пользу, особенно при рассмотрении альтернативных способов реализации потребностей актеров. В своей работе я вначале концентрирую внимание на вариантах использования бизнес-процесса, после чего перехожу к рассмотрению вариантов использования системы, которые должны обеспечивать выполнение этого бизнес-процесса. В конце этапа исследования я рассчитываю иметь по меньшей мере одно множество вариантов использования системы для каждого из вариантов использования бизнес-процесса.
При этом, как минимум, варианты использования бизнес-процесса следует идентифицировать и стараться специфицировать их в первую очередь. 63 Когда следует применять варианты использования Когда следует применять варианты использования Я просто не могу представить себе ситуацию, в которой можно было бы обойтись без вариантов использования. Они являются совершенно необходимым средством при анализе требований, планировании и управлении итеративной разработкой. Работа с вариантами использования является одной из самых важных задач на этапе исследования. Большая часть ваших вариантов использования сформируется на этапе исследования проекта, однако в ходе дальнейшей работы вы можете обнаружить дополнительные особенности. Имейте это постоянно в виду и не ослабляйте свое внимание. Каждый вариант использования является потенциальным требованием к системе, и пока оно не выявлено, вы не сможете перейти к планированию его реализации.