Я начинаю изучать диаграмму вариантов использования и очень запутался. Я не знаю, какая картинка лучше. Пожалуйста, помогите мне, спасибо.
Ассоциация в диаграмме вариантов использования
Ответы (2)
Второй, где у вас есть множество вариантов использования, связанных с актером, определенно лучше (фактически единственный, который имеет здесь какой-то смысл). Это фактические функции, предоставляемые системой. Войти или даже выбрать тему не имеют реальной ценности для бизнеса.
На самом деле я бы даже полностью удалил их из диаграммы UC и сделал бы эту декомпозицию на диаграммах деятельности. Но если вы действительно хотите показать возможность повторного использования частей UC (где вы фактически используете include), вторая диаграмма приемлема.
Первую выбросьте и никогда больше не делайте свои диаграммы UC таким образом ;-)
Ни один из них не является правильным, поскольку Login
не является вариантом использования. Он не имеет добавленной стоимости. А вариант использования показывает именно ту добавленную стоимость, которую рассматриваемая система принесет одному из ее участников. Сделайте 2-й снимок и выбросьте Login
, и я скажу "ОК".
Вы можете показать, что требуется вход в систему, прикрепив к UC ограничение, говорящее { actor must be logged on}
. Или, если всем UC требуется логин, прикрепите его к актеру, например { all/UC x, y need a login}
.
Кроме того, большинство людей ошибочно воспринимают использование extend/include. Они используют его для функциональной декомпозиции, что совершенно неправильно. Лучше всего просто избегать их и придерживаться простых ассоциаций человека с мыльными палочками.