Как я повторяю, кто выполняет действие в моем сценарии использования? - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь создать диаграмму UML для моего варианта использования.

Я хочу представить следующее:

  • Действия, которые предпринимаются
  • Кто совершил действие
  • Каково состояние после каждого действия

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

Придуманный пример того, что я пытаюсь сделать:

@startuml
left to right direction

title: Bank Account
Client --> (NEW) : Request an Account
(NEW) --> Bank
Bank --> (OPENED) : Create an account number
(OPENED) --> Client1
Client1 --> (DEPOSIT) : Deposit some cash

@enduml

Что выглядит так:

Bank Account UML Diagram

Однако, как вы можете видеть, для достижения этого у меня есть Client и Client1 как два отдельно названных актера, иначе диаграмма не будет линейной. Это будет выглядеть так:

Bank Account Looping UML Diagram

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

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

Как мне это сделать?

Могу ли я переименовать Client1 в Client или мне следует использовать диаграмму другого типа? Или что-то еще?

Ответы [ 3 ]

7 голосов
/ 16 мая 2019

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

То, что вы ищете, на самом деле является картой процесса, например, которая может быть создана с использованием BPMN или, возможно, Диаграмма действий .

2 голосов
/ 16 мая 2019

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

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

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

0 голосов
/ 16 мая 2019

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

В дополнение к тому, что сказано в двух других ответах, вы делаете две ошибки

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

  • во-вторых, вы полагаете, что на диаграмме прецедентов не более, чем можно увидеть.Это неверно, вариант использования - это не просто имя, и, например, вариант использования может иметь предварительное условие, а предварительное условие варианта использования «депозит» - это факт наличия у вас учетной записи.

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