Есть несколько способов сделать это:
- Используйте отношение
<<include>>
, где каждый UC <<includes>>
регистрируется как первый шаг
- Установить предварительное условие для каждого UC, в которое пользователь должен был войти
- Создайте актера с именем «Зарегистрированный пользователь» (или аналогичного) и покажите все ваши варианты использования, связанные с ним.
То, что вы выберете, зависит от ряда факторов. (1) прост и интуитивно понятен, но не очень хорошо масштабируется на диаграмме, если у вас много вариантов использования. (2) хорошо работает, если вы документируете варианты использования в текстовом виде, но не отображаются на диаграммах. (3) может быть не традиционным, но может обеспечить большую масштабируемость, чем (1), и в то же время быть видимым на диаграмме. Однако он ломается, если у вас есть несколько актеров, каждый из которых должен войти в систему для выполнения своих UC.
Лично я склонен использовать (2). Если мне нужна диаграмма UC, я включу в нее UC "Login", но не буду отображать связь между ней и другими UC.
Один вариант, который я бы не рекомендовал, - это отношение <<extend>>
, где каждый UC <<extends>>
является логином UC. На самом деле он не работает семантически и страдает теми же проблемами масштабируемости, что и (1) выше.
НТН.