Укажите первичных / вторичных действующих лиц правильно (Диаграмма прецедентов UML) - PullRequest
2 голосов
/ 21 мая 2019

Рассмотрим следующий случай:

У меня есть веб-сервис, который предоставляет информацию о заказах в интернет-магазине.На другом компьютере есть служба Windows, которая извлекает заказы из веб-службы раз в час и записывает данные в базу данных.Вместо запланированной задачи используется служба Windows, так как она предоставляет конечную точку tcp, поэтому клиент может вручную (с помощью простого настольного приложения) дать команду службе для получения данных определенного порядка.

Я не уверенгде я должен разместить службу windows.Это основной субъект, вызывающий веб-службу в заданном интервале, но он является второстепенным субъектом, поскольку он реагирует на команду клиента.

Как мне продолжить создание диаграммы вариантов использования для этого сценария?

Ответы [ 2 ]

6 голосов
/ 21 мая 2019

Ответ зависит от того, что вы считаете своей системой.

Одна система

Если ваша система содержит как веб-сервис, так и службу Windows как часть вашей (многоуровневой) системы, тони один не актер.Функциональность, предлагаемая службой Windows, будет одним (или более, в зависимости от сложности услуги) вариантом использования.Если вы предполагаете, что веб-сервис может стать вторым вариантом использования, который включен службой Windows (редкий случай, но работает здесь).

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

Две системы

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

В этом случае диаграмма варианта использования службы Windows будет иметь клиента в качестве основного участника, а system , содержащую веб-службу каквторичный субъект.

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

Компонент как система

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

3 голосов
/ 22 мая 2019

В дополнение к тому, что сказал @Ister: нарисуйте границу, представляющую рассматриваемую систему. Теперь подумайте о том, что находится внутри (пузыри сценариев использования), а что снаружи (актеры). Для последних существует соглашение о размещении основных действующих лиц слева, а второстепенных - справа. Первичными действующими лицами обычно считаются те, которые запускают рабочий процесс, в то время как второстепенные субъекты запускаются / информируются в ходе любого такого рабочего процесса.

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