CRUD в диаграмме прецедента?
мой вопрос довольно прост. Какой лучший способ принести CRUD в диаграмму прецедента? Он должен быть!--3-->сухой. Я знаю, UML иногда дискреционный, но что вы думаете об этом?
некоторые идеи:
1 Используйте-случае схемы
- не очень сухой, если есть несколько объектов CRUD.
2 Используйте-случае схемы
- не очень сухой, если есть несколько грубых предметов.
3 Использовать-Case диаграмма
- я предпочитаю этот.
обновление
4 диаграмма прецедентов (@Uffe)
- Примечание может быть излишним, когда это описано в документации?
5 диаграмма прецедентов (@home @Uffe)
3 ответов
из них я бы сказал, что #3 На самом деле хуже, потому что" CRUD " сам по себе не является прецедентом; вы всегда CRUD что-то. Не путайте вариант использования <<extend>>
с наследованием классов.
опция #2 тоже не очень хороша, потому что запуск варианта использования "управление пользователем" не означает, что вы выполняете все четыре действия CRUD.
Если вы действительно хотите быть таким явным в своих случаях использования, #1 имеет мои деньги. Но если бы это был я, я бы просто поставил один вариант использования "управление пользователями".
поскольку управление пользователями (или что-то еще) является хорошо понятной концепцией, вариант использования "управление пользователями" на самом деле довольно понятен и не нуждается в детализации в нескольких случаях использования, если нет особых причин для этого (например, если система, которую вы анализируете, является механизмом аутентификации). Если это так, используйте #1.
согласно Книге "применение UML и шаблонов-Craig Larman", мы можем использовать" управление Пользователем " для имени прецедента, чтобы показать операцию CRUD в случае использования. No 4-хороший выбор, и в этом случае мы должны описать операции CRUD в сценарии. Создайте пользователя в основном потоке событий и других в альтернативном потоке событий.
Id голосовать за три, пока есть неявное или явное понимание в компании того, что именно вы подразумеваете под CRUD (т. е. все должны согласиться, что это просто означает основные формы для ввода всех данных, если класс нуждается в более сложном процессе ввода, то он должен быть смоделирован как отдельный случай использования).