Поделиться через


UML-схемы вариантов использования: правила работы

В Visual Studio Ultimate можно создать схему вариантов использования, чтобы обобщить сведения о том, кто использует приложение или систему, и какие действия с этим приложением или системой они могут выполнять. Чтобы создать UML-схему вариантов использования, в меню Архитектура щелкните Создать схему.

Видеодемонстрация доступна на странице Organizing Features into Use Cases.

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

  • Сценарии взаимодействия системы или приложения с людьми, организациями или внешними системами.

  • Цели, которых с помощью схем смогут достичь соответствующие субъекты.

  • Область функционирования системы.

На схеме вариантов использования не отображаются подробности вариантов использования, а только обобщаются сведения о некоторых отношениях между вариантами использования, субъектами и системами. В частности, на схеме не отображается порядок выполнения действий для достижения целей в каждом варианте использования. Эти подробности можно описать в других схемах и документах, которые можно связать с каждым вариантом использования. Дополнительные сведения см. в теме Описание вариантов использования в подробностях в данном разделе.

В предоставленных описаниях вариантов использования имеется несколько терминов, имеющих отношение к области активности, в которой функционирует система, например "Продажи", "Меню", "Клиент" и т. д. Важно четко определить эти термины и их отношения. Это можно сделать с помощью UML-схемы классов. Дополнительные сведения см. в разделе UML-схемы классов: правила работы.

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

В этом разделе в примерах описывается веб-сайт, на котором клиенты могут заказывать еду из местных ресторанов.

Элементы на схеме вариантов использования

  • Субъект (1) — это класс лиц, организаций, устройств или внешних программных компонентов. взаимодействующих с системой. Примерами субъектов являются следующие: Клиент, Ресторан, Датчик температуры, Устройство авторизации кредитных карт.

  • Вариант использования (2) представляет действия, совершаемые одним или несколькими субъектами для достижения определенной цели. Примерами вариантов использования являются следующие: Заказ еды, Обновление меню, Обработка платежа.

    На схеме вариантов использования они ассоциированы (3) с субъектами, выполняющими их.

  • Система (4) — это любой объект в разработке. Системой может быть небольшой программный компонент, субъектами которой являются другие программные компоненты, полное приложение или крупный распределенный набор приложений, развернутых на нескольких компьютерах и устройствах. Примерами подсистем являются следующие: "Веб-сайт для заказа еды", "Бизнес по доставке еды", "Веб-сайт, версия 2".

    Схема вариантов использования может показывать, какие варианты использования поддерживаются системой или ее подсистемами.

В этом разделе

Основные этапы создания схем вариантов использования

Создание субъектов и вариантов использования

Описание вариантов использования в подробностях

Структурирование вариантов использования

Использование границ подсистем

Основные этапы создания схем вариантов использования

Примечание

Подробные инструкции по созданию схем моделирования приведены в разделе Практическое руководство. Изменение модели и схем UML.

Создание новой схемы вариантов использования

  1. В меню Архитектура выберите пункт Создать схему.

  2. В разделе Шаблоны щелкните UML-схема вариантов использования.

  3. Назовите схему.

  4. В области Добавить в проект моделирования выделите существующий проект моделирования в решении или выберите Создать новый проект моделирования и нажмите кнопку ОК.

Создание схемы вариантов использования

  1. Перетащите границы Подсистемы из панели элементов на схему, чтобы представить всю систему или ее основные компоненты.

    • Можно создать схему вариантов использования без границ системы, если не нужно описывать, какие варианты использования поддерживает система или ее компоненты.

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

    • Переименуйте систему соответственно.

  2. Перетащите Субъекты из панели элементов на схему (разместите их за пределами границ любой системы).

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

    • Переименуйте их. Например: "Клиент", "Ресторан", "Организация, выдавшая кредитную карту".

  3. Перетащите варианты использования из панели элементов в соответствующие системы.

    • Варианты использования представляют действия, выполняемые субъектами с помощью системы.

    • Переименуйте их, используя названия, которые будут понятны этим субъектам. Не используйте названия, имеющие отношение к коду. Например: "Заказ еды", "Оплата еды", "Доставка еды".

    • Начните с самых крупных транзакций, таких как Заказ еды, а затем переходите к более мелким взаимодействиям, таким как Выбор пункта меню.

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

    • Можно создать вариант использования за пределами границы системы, чтобы показать, что он не поддерживается системой (возможно, в определенной версии или выпуске).

  4. Нажмите кнопку Ассоциация на панели элементов, затем последовательно выберите вариант использования и субъекта, участвующего в варианте использования. Свяжите каждый субъект с соответствующим вариантом использования подобным образом.

  5. Структурируйте варианты использования с помощью отношений Включение, Расширение и Обобщение. Чтобы создать каждую из этих ссылок, последовательно щелкните инструмент, исходный вариант использования и целевой вариант использования. См. следующий раздел под названием Структурирование вариантов использования.

  6. Опишите варианты использования более подробно. См. следующий раздел под названием Описание вариантов использования в подробностях.

  7. Создайте отдельные схемы для различных подсистем или разных групп связанных вариантов использования. Все схемы в одном проекте моделирования являются представлениями одной модели.

Создание субъектов и вариантов использования

Основной целью схемы вариантов использования является показать, кто взаимодействует с системой и каких целей они при этом достигают.

  • Создайте Субъекты, чтобы представить классы людей, организаций, других систем, программ или устройств, взаимодействующих с данной системой или подсистемой.

    • Сведения о том, как создавать субъекты и другие элементы, см. в разделе Практическое руководство. Изменение модели и схем UML.

    • Для каждого отдельного набора целей определите субъекты по типу или роли. При этом физические лица или сущности могут совпадать с ними. Например, Ресторан и Клиент — отдельные субъекты, хотя иногда сотрудник ресторана может выступать в качестве клиента.

  • Создайте варианты использования для каждой цели, которой субъект стремится достичь в системе.

    • Назовите и опишите варианты использования словами, понятными субъекту, а не терминами реализации.
  • Используйте Ассоциации, чтобы связать субъектов с вариантами использования.

Наследование между субъектами

Схема вариантов использования, показывающая наследование

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

Специализированный субъект может иметь дополнительные собственные варианты использования, не доступные другим субъектам.

Предупреждение

Не рекомендуется создавать циклы отношений обобщения, так как это приводит к тому, что субъект обобщает сам себя.Циклы могут стать причиной ошибок.

Другие значки субъектов

Вместо того чтобы использовать стандартные контурограммы, для представления субъекта можно использовать настраиваемые значки. Например, можно изменить внешний вид значка, чтобы он напоминал устройство, ресторан, банк и т. д.

Изменение внешнего вида субъекта

  1. Щелкните субъект правой кнопкой мыши и выберите Свойства.

    Появится окно Свойства.

  2. Задайте свойство Путь к изображению, указав расположение файла изображения.

    • Можно использовать любой из нескольких допустимых форматов изображений, включая .gif, .jpg, и .bmp.

    • Используйте файл, включенный в систему управления версиями решения или проекта, чтобы файл оставался доступным при перемещении или копировании решения.

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

    • Изменение изображения применимо только к представлению на определенной схеме. Оно не применимо к базовому элементу модели. Если перетащить субъект из Проводника по моделям UML на другую схему, он отобразится в виде стандартной контурограммы.

Количество элементов между субъектами и вариантами использования

Ассоциация между субъектом и вариантом использования может показывать количество элементов на каждом окончании.

Вариант использования "один к одному" с субъектом

Примечание

Если количество элементов обоих окончаний ассоциации равно 1, они не отображаются на схеме вариантов использования.

По умолчанию количество элементов равно 1. В строгой интерпретации модели равное 1 количество элементов означает, что, например, каждый заказ размещается только одним клиентом, и что каждый клиент размещает только один заказ за раз.

Количество элементов можно изменить.

Пример.

Вариант использования, показывающий кратность "многие ко многим"

  • Чтобы указать, что несколько субъектов одного класса могут участвовать в одном вхождении варианта использования, на окончании субъекта в ассоциации укажите количество элементов 1..*.

    На иллюстрации показано, что в выполнении одного заказа могут участвовать несколько ресторанов.

  • Чтобы указать, что каждый субъект может одновременно участвовать в нескольких вхождениях варианта использования, на окончании варианта использования в ассоциации укажите количество элементов *.

    На иллюстрации показано, что каждый ресторан может одновременно работать над несколькими заказами.

Задание количества элементов в ассоциации

  1. Щелкните ассоциацию правой кнопкой мыши и выберите Свойства.

  2. Разверните свойство Первая роль или Вторая роль.

    Роль — это элемент на одном окончании ассоциации.

  3. Выберите из следующего списка значение для свойства Multiplicity.

    • 1 — чтобы указать, что только один экземпляр этой роли может участвовать в каждой связи.

    • 1..* — чтобы указать, что в каждой связи может участвовать один или несколько экземпляров этой роли.

    • 0..1 — чтобы указать, что участие не является обязательным.

    • * — чтобы указать, что в связи участвует 0 или более экземпляров этой роли.

Примечание

Многие команды не размещают сведения о количестве элементах на схемах вариантов использования, оставляя значение по умолчанию 1.В этом случае эти сведения предоставляются в отдельных описаниях вариантов использования.В этом случае количества элементов на схемах вариантов использования скрыты.

Использование субъекта или варианта использования на нескольких схемах

Можно показать одни и те же субъекты и варианты использования на нескольких схемах. Пример.

  • На разных схемах можно описать разные варианты использования, в которых участвует один субъект.

  • Одну схему можно использовать, чтобы показать субъекты и подсистемы, с которыми связан вариант использования, а другую — чтобы показать структуру варианта использования, состоящую из включенных и расширенных вариантов использования.

Отображение одного субъекта или варианта использования на разных схемах

  1. Создайте субъект или вариант использования на одной схеме.

  2. Создайте другую схему вариантов использования.

  3. Перетащите субъект или вариант использования из Проводника по моделям на новую схему.

    Примечание

    Если разместить на новой схеме субъект и вариант использования, которые уже связаны друг с другом, ассоциация между ними автоматически отобразится на новой схеме.

Описание вариантов использования в подробностях

Вариант использования представляет следующее.

  • Цель субъекта при использовании системы, например Покупка еды.

  • Один или более сценариев, т. е. последовательностей шагов, совершаемых для достижения цели, например: {Заказ еды, Оплата, Доставка}. Помимо успешных сценариев может быть несколько сценариев исключений или сбоев, например Кредитная карта отклонена.

При описании вариантов использования можно использовать разные уровни детализации. На ранних этапах разработки достаточно имени схемы вариантов использования. Впоследствии можно создать более подробные описания сценариев.

В Visual Studio Ultimate можно описать вариант использования несколькими способами, которые можно использовать по отдельности или вместе.

  • Свяжите вариант использования с другой схемой или схемами проекта.

    • Схема активности позволяет составлять более сложное описание процесса, используя циклы, ветви и параллельные потоки. На схеме активности также можно показать поток данных между разными частями процесса. Дополнительные сведения см. в разделе UML-схемы деятельности: рекомендации.

    • Схема последовательностей позволяет описывать сложные ряды взаимодействий между разными субъектами. Также эту схему можно использовать, чтобы показать, что происходит в системе в ответ на каждый вариант использования. Дополнительные сведения см. в разделе UML-схемы последовательностей: правила работы.

  • Свяжите вариант использования со страницей OneNote или параграфом, подробно описывающим вариант использования.

  • Свяжите вариант использования с документом Word, в котором сценарии варианта использования описываются с помощью текста, снимков экрана и других средств. Дополнительные сведения см. в разделе Моделирование требований пользователей.

Связывание варианта использования со схемой или файлом в одном решении

  1. Создайте схему, например схему последовательностей или схему действий, чтобы проиллюстрировать сценарий варианта использования.

  2. Вернитесь к схеме вариантов использования.

  3. Перетащите схему или файл из обозревателя решений на пустую часть схемы вариантов использования.

  4. Используйте инструмент Зависимость, чтобы соединить артефакт с вариантом использования.

Связывание с файлом решения, таким как документ Word или презентация PowerPoint

  1. Создайте документ, в котором сценарий варианта использования описывается с помощью текста, снимков экрана и других средств.

  2. Добавьте документ в решение.

    1. Переместите документ Word в папку Windows, в которой сохранено решение.

    2. В обозревателе решений щелкните решение правой кнопкой мыши, выберите команду Добавить и щелкните Существующий элемент.

    3. Перейдите к документу Word и щелкните Добавить.

      Документ Word отображается в папке решения в обозревателе решений.

  3. Перетащите документ Word из обозревателя решений на пустую часть схемы вариантов использования.

    Появляется новый артефакт.

  4. Используйте инструмент Зависимость, чтобы соединить артефакт с вариантом использования.

Связывание с общим документом, элементом OneNote или веб-страницей

  1. Получите URL-адрес общего элемента. Это может быть, например, путь к сетевому файлу, начинающийся с \\, или URL-адрес веб-страницы или сайта SharePoint, начинающийся с http://, или ссылка на раздел, страницу или параграф OneNote, начинающийся с onenote:.

  2. Выберите Артефакт на панели элементов и щелкните на поверхности схемы вариантов использования.

  3. Выбрав новый артефакт, введите или вставьте URL-адрес в свойство Гиперссылка.

Примечание

Дважды щелкните артефакт, чтобы открыть схему или документ, с которым он связан.

Связывание вариантов использования с рабочими элементами.

Если в проекте используется Visual Studio Team Foundation Server 2010, и установлен Сред. Командный обозреватель, можно связать каждый вариант использования с рабочим элементом в Team Foundation. Сведения о том, как создавать такие ссылки, см. в разделе Практическое руководство. Связывание элементов модели с рабочими элементами.

Это позволяет выполнять следующие действия.

  • Описать вариант использования в связанном рабочем элементе. В частности, если в проекте используется формальный шаблон процессов Visual Studio, можно создать ссылку на рабочий элемент варианта использования. Этот тип рабочего элемента предоставляет поля для описания целей и сценариев варианта использования.

  • Свяжите тестовые случаи с этим вариантом использования, чтобы иметь возможность получать отчеты о том, в какой степени разрабатываемый код реализует вариант использования.

  • Свяжите задачи с вариантом использования, чтобы иметь возможность отслеживать ход разработки.

Структурирование вариантов использования

Нужно попытаться описать поведение системы с помощью небольшого числа основных вариантов использования. Каждый крупный вариант использования определяет основную цель, достигаемую субъектом, например приобретение продукции или (с точки зрения поставщика) предоставление продукции на продажу.

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

Старайтесь не разбивать варианты использования на слишком много компонентов. Варианты использования позволяют описать работу пользователей с системой, а не ее внутреннее функционирование. Кроме того, зачастую рекомендуется создавать первоначальные рабочие версии кода, а не тратить время на подробное структурирование вариантов использования.

На схеме вариантов использования можно обобщить сведения об отношениях между основными вариантами использования и более детализированными вариантами. Более подробно это описано в следующих разделах.

  • Отображение подробностей варианта использования с помощью отношений включения

  • Совместная работа с целями с помощью отношений обобщения

  • Разделение различающихся вариантов с помощью отношений расширения

Отображение подробностей варианта использования с помощью отношений включения

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

Предупреждение

Не рекомендуется создавать циклы отношений включения, так как это приводит к тому, что субъект включает сам себя.Циклы могут стать причиной ошибок.

Включенные варианты использования можно использовать совместно. В данном примере варианты использования Заказ еды и Подписка на обзоры включают вариант использования Оплата.

Варианты использования, разделенные с помощью include

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

Разделение вариантов использования на включающие и включенные части позволяет достичь следующих целей.

  • Структурировать описания вариантов использования по уровню детализации.

  • Избежать дублирования общих сценариев в разных вариантах использования.

Подробное определение порядка совершения шагов

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

Чтобы прояснить порядок совершения шагов, можно использовать артефакт, чтобы прикрепить отдельный документ к включающему варианту использования. В следующем примере схема активности прикреплена к варианту использования "Заказ еды". Кроме того, можно использовать текстовый документ, включающий список шагов или последовательность снимков экрана. Дополнительные сведения см. в разделе Описание вариантов использования в подробностях.

Обратите внимание на следующие соглашения о допустимых именах при использовании схемы активности.

  • Имя целого действия совпадает с именем включающего варианта использования.

  • Действия на схеме активности имеют те же имена, что и включенные варианты использования.

Дополнительные сведения см. в разделе UML-схемы деятельности: рекомендации.

Шаги варианта использования, показанные на связанной схеме деятельности

Совместная работа с целями с помощью отношений обобщения

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

Варианты использования, показывающие связь обобщения

Например, вариант Оплата обобщает варианты Оплата с помощью кредитной карты и Оплата наличными.

Предупреждение

Не рекомендуется создавать циклы отношений обобщения, так как это приводит к тому, что субъект обобщает сам себя.Циклы могут стать причиной ошибок.

Специализированные варианты использования помогают показать различные способы достижения одной цели с использованием системы.

Считается, что специализированные варианты использования наследуют цели и субъекты общего варианта использования. Общий вариант использования не обязательно должен иметь собственные сценарии; специализации этого варианта описывают различные пути достижения целей.

Реструктуризация общих целей из двух или более вариантов использования

  1. Создайте и назовите новый общий вариант использования.

  2. Создайте отношение Обобщение, чтобы большая стрелка указывала на новый общий вариант использования.

    1. Щелкните Обобщение на панели элементов.

    2. Щелкните специализированный вариант использования (Оплата с помощью кредитной карты в этом примере).

    3. Щелкните общий вариант использования (Оплата в этом примере).

  3. Если описаны цели для специализированных вариантов использования, переместите общие части в описание общего варианта использования.

  4. Субъекты, совместно используемые в разных специализированных вариантах использования, можно переместить в общий вариант использования.

Разделение различающихся вариантов с помощью отношений расширения

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

Вариант использования, расширяющий другой вариант

Предупреждение

Не рекомендуется создавать циклы отношений расширения, так как это приводит к тому, что субъект обобщает сам себя.Циклы могут стать причиной ошибок.

Например, вариант использования Вход в систему стандартного веб-сайта может включать вариант Зарегистрировать нового пользователя, но только если пользователь еще не имеет учетной записи.

Разделение варианта использования на основные и расширенные части.

  1. Создайте и назовите новый расширенный вариант использования.

  2. Создайте отношение Расширение со стрелкой, указывающей на расширенный вариант использования.

    1. Щелкните Расширение на панели элементов.

    2. Щелкните расширенный вариант использования (Зарегистрировать нового пользователя в примере).

    3. Щелкните расширенный вариант использования (Вход в систему в этом примере).

      Примечание

      Не рекомендуется создавать на схеме цикл отношений расширения.Вариант использования не может являться расширением самого себя.

  3. Если уже созданы сценарии расширенного варианта использования, переместите соответствующие шаги в сценарий расширения.

  4. Описание расширения (Зарегистрировать нового пользователя в этом примере) также должно включать подробности о месте расширения в сценариях основного варианта использования и обстоятельствах использования этого расширения. Можно сказать, что это описание модифицирует описание основного варианта.

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

Разделение расширений может оказаться полезным при описании следующих ситуаций.

  • Имеются дополнительные субъекты, участвующие только в расширенном варианте использования. Например, администратор должен утвердить регистрацию клиента на веб-сайте.

  • Отдельная подсистема обрабатывает расширенный вариант использования.

  • Расширение доступно только в определенных версиях системы. Каждую версию можно показать как отдельную подсистему на схеме вариантов использования.

Использование границ подсистем

Используйте границу подсистемы, чтобы показать, какие варианты использования находятся в области действия системы.

Создание границы подсистемы

  1. На панели элементов выберите Подсистема, затем щелкните схему.

    Подсистема появится на схеме.

  2. Перетащите углы подсистемы, чтобы изменить ее размер.

  3. Перетащите существующие варианты использования в подсистему или из нее, чтобы скорректировать ее содержимое.

- или -

Чтобы создать новый вариант использования непосредственно в подсистеме, щелкните Вариант использования на панели элементов, затем щелкните внутри подсистемы.

Примечание

Свойство Subjects варианта использования указывает, внутри каких элементов содержится подсистема.

Варианты использования за пределами области системы

Часто имеет смысл включить в схему варианты использования, которые являются частью бизнеса, но не обрабатываются разрабатываемой системой. Это позволяет разработчикам лучше понять контекст, в котором они работают. Например, вариант "Доставка еды" можно показать как вариант использования, включающий субъекты "Ресторан" и "Клиент", и указать, что он не входит в область ответственности веб-сайта по заказу еды.

Несколько подсистем

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

Версии системы

Разные границы подсистемы можно использовать, чтобы показать разные версии системы. Например, вариант использования "Оплата" может входить только в состав версии 2 веб-сайта (но не версии 1). Это подразумевает, что система помогает клиентам размещать заказы. Однако клиенты должны оплачивать эти заказы ресторану напрямую.

Используйте отношение Зависимость, чтобы связать подсистемы, представляющие разные версии или варианты.

Подсистемы представляют разные версии системы

См. также

Основные понятия

Моделирование требований пользователей

UML-схемы последовательностей: правила работы

Практическое руководство. Изменение модели и схем UML

UML-схемы вариантов использования: справочные материалы

UML-схемы классов: справочные материалы

Схемы компонентов UML: справочные материалы

Схемы компонентов UML: справочные материалы

Другие ресурсы

Video: Organizing Features into Use Cases