как сделать так, чтобы мой "Логин" использовался в качестве прецедента для других сценариев использования в UML - PullRequest
3 голосов
/ 10 декабря 2010

Я создаю диаграмму UseCase для системы управления библиотекой. У меня есть сценарий использования «Логин», который должен сделать каждый актер, прежде чем перейти к другим сценариям использования. другими словами, я хочу показать, что сценарий использования «Логин» является необходимым условием для других сценариев использования. Кто-нибудь знает, как это показать? спасибо

Ответы [ 3 ]

8 голосов
/ 10 декабря 2010

Есть несколько способов сделать это:

  1. Используйте отношение <<include>>, где каждый UC <<includes>> регистрируется как первый шаг
  2. Установить предварительное условие для каждого UC, в которое пользователь должен был войти
  3. Создайте актера с именем «Зарегистрированный пользователь» (или аналогичного) и покажите все ваши варианты использования, связанные с ним.

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

Лично я склонен использовать (2). Если мне нужна диаграмма UC, я включу в нее UC "Login", но не буду отображать связь между ней и другими UC.

Один вариант, который я бы не рекомендовал, - это отношение <<extend>>, где каждый UC <<extends>> является логином UC. На самом деле он не работает семантически и страдает теми же проблемами масштабируемости, что и (1) выше.

НТН.

1 голос
/ 13 декабря 2010

Альтернативой отношения <<includes>> в этом случае является зависимость <<precedes>>.Это делает более понятным, что логин должен предшествовать сценарию использования, а не просто происходить в какой-то момент во время варианта использования.

Enterprise Architect включает такую ​​стереотипную зависимость в свою панель инструментов Вариант использования, но выв противном случае можно создать собственную стереотипную зависимость.В документации EA об этом говорится:

Вызывает и Предшествующие отношения определяются Открытым языком моделирования (OML).Это стереотипные отношения зависимости;Вызывает, указывает, что вариант использования A в какой-то момент вызывает сценарий использования B, в то время как Precedes указывает, что сценарий использования C должен завершиться до начала использования варианта использования D.

Возможно, вы не захотите вводить OMLидиомы к вашему UML, но функция делает именно то, что вы хотите, и видна на уровне диаграммы.

0 голосов
/ 11 июня 2012

UC полезны для многих вещей, но самое главное для общения.Если вы начнете использовать связи на диаграммах UC, ваши преимущества в коммуникации снизятся на ступеньку выше.То же самое с обязательным условием вставки копии «пользователь X должен войти в систему» ​​в каждом UC и т. Д.

Наиболее важно, что UC не предназначены для полной спецификации системы.Поэтому просто поместите его где-нибудь еще, например:

  • как правило в общем списке системных правил

  • как таблица в "правах доступа пользователя"Раздел спецификации

...