Моделирование фронтенда и бэкенда в диаграмме сценария использования

Я пытаюсь сделать диаграмму вариантов использования для моего проекта, бэкэнд будет сделан с использованием Django rest framework, а фронтэнд с использованием react, мой вопрос в том, как я могу смоделировать эту ситуацию правильным образом, должен ли я смоделировать фронтэнд и представить бэкэнд как актор или наоборот, так как я думаю сделать мобильное приложение как второй фронтэнд?

Правильным ответом здесь является стандартный ответ бизнес-аналитика №1: "Зависит".

Вопрос в том, что вы хотите смоделировать и почему. Затем - какой правильный инструмент (диаграмма) для этого нужен.

Цель диаграммы Use Case - показать, какие функциональные возможности будет предлагать система. Теперь систему можно рассматривать как единое целое, в этом случае вы показываете функциональные возможности, не изображая, как система устроена внутри (это наиболее распространенный сценарий и, скорее всего, лучший способ использования диаграммы Use Case в вашем случае - но он не показывает факт наличия FE и BE, обратите внимание, что этот тип диаграммы не очень подходит для этого, поэтому продолжайте читать).

Вы также можете рассматривать, например, BE как саму систему (это может иметь смысл, особенно если вы готовите headless API и действительно отделяете BE от FE; тем более, если ваши команды BE и FE полностью разделены). В таком случае FE станет актором (точно так же, как, например, другая система, которая может взаимодействовать с вашей BE). Очевидно, что с FE можно поступить таким же образом (т.е. рассматривать его как систему, в которой BE является актором), однако обычно для этого меньше причин.

Теперь, сказав это, если вы хотите изобразить различие между BE и FE, вам следует рассмотреть другие типы диаграмм. Помните, что диаграмма Use Case - это динамическая диаграмма, а внутренняя структура системы статична, поэтому, очевидно, вместо нее должна быть одна из статических диаграмм. Диаграмма компонентов, предназначенная для отображения внутренней структуры системы, скорее всего, лучше всего подходит для указания существования FE и BE (возможно, с дальнейшим уровнем детализации, например, существующих микросервисов).

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

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

Use-case - это набор моделей поведения с наблюдаемым результатом, который представляет ценность для действующих лиц. Они не должны заботиться о внутреннем устройстве системы:

UseCases определяют предлагаемые Поведения субъекта без ссылки на его внутреннююструктуру.

Поэтому, в принципе, вас не должно волновать различие между front-end и back-end, но вы должны сосредоточиться на целях актера с системой.

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

Вернуться на верх