CRUD в диаграмме прецедентов? - PullRequest
26 голосов
/ 14 октября 2011

Мой вопрос довольно прост. Каков наилучший способ включить CRUD в диаграмму вариантов использования? Это должно быть DRY . Я знаю, UML иногда дискреционный, но что вы думаете об этом?

Некоторые идеи:

1 схема использования

usecase1

  • Не совсем СУХОЙ, если есть несколько объектов CRUD.

2 схема использования

usecase2

  • Не очень СУХОЙ, если есть несколько объектов CRUD.

3 схема использования

usecase3

  • Я предпочитаю это.

Обновление

4 диаграмма вариантов использования (@Uffe)

enter image description here

  • Обратите внимание, может быть, излишне, когда это описано в документации?

5 диаграмма вариантов использования (@home @Uffe)

enter image description here

Ответы [ 3 ]

15 голосов
/ 15 октября 2011

Из них, я бы сказал, № 3 на самом деле худший, потому что "CRUD" сам по себе не является примером использования;Вы всегда CRUD что-то .Не путайте сценарий использования <<extend>> с наследованием класса.

Вариант №2 также не очень хорош, поскольку выполнение сценария использования «Управление пользователем» не означает, что вы выполняете все четыре действия CRUD.

Если вы действительно хотите быть явным в ваших случаях использования, у # 1 есть мои деньги.Но если бы это был я, я бы просто поместил один сценарий использования «Управление пользователями».

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

8 голосов
/ 04 июня 2016

Согласно книге «Применение UML и Patterns-Craig Larman», мы можем использовать «Manage User» для имени варианта использования, чтобы показать работу CRUD в случае использования. № 4 - хороший выбор, и в этом случае мы должны описать операции CRUD в сценарии. Создайте пользователя в основном потоке событий и остальных в альтернативном потоке событий.

0 голосов
/ 15 октября 2011

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

...