UML-связь между вариантами использования (расширить / включить) - PullRequest
0 голосов
/ 30 января 2010

Я не очень хорошо понимаю следующую тему, поскольку она немного двусмысленна из того, что я прочитал:

  • Inlcude походит на ссылку на следующую часть, сценарий использования не завершен без него. На эту часть следует ссылаться из большего количества мест, иначе ее использование не имеет смысла.

Но я видел пример, когда есть «включить» только в каком-то утверждении ЕСЛИ верно, например: Добавить новый продукт ---> включить ---> Добавить нового производителя . // Добавляет только когда не существует. Почему нет "продлить"? Это потому, что где-то еще «Добавить нового производителя» может быть использовано снова? Спасибо

Ответы [ 2 ]

2 голосов
/ 19 февраля 2010

Вот объяснение из следующей темы: Диаграммы вариантов использования UML: Ссылка в http://msdn.microsoft.com/en-us/library/dd409427%28VS.100%29.aspx

Включить : включающий вариант использования вызывает или вызывает включенный вариант. Включение используется, чтобы показать, как сценарий использования разбивается на более мелкие этапы. Включенный вариант использования находится на конце стрелки.

Расширить : Расширяемый вариант использования добавляет цели и шаги в расширенный вариант использования. Расширения работать только при определенных условиях. Расширенный вариант использования находится на конце стрелки.

Включение и расширение связей на диаграмме прецедентов http://i.msdn.microsoft.com/Dd409427.UML_UCOvStructure(en-us,VS.100).png

2 голосов
/ 30 января 2010

Точно. После расширения другого варианта использования вы достигли конца текущего варианта использования. Тем не менее, вы можете иметь расширение внутри if. Представьте себе следующее.

1) The driver asks if his guests want Wendys or Burger King
2) The guests choose they want Burger King [extend to eating at Burger King (use case 5)]
3) The guests choose they want Wendys [extend to eating at Wendys (use case 9)]

Включение не завершает вариант использования, оно использует другой вариант использования и затем возвращает. Включение похоже на вызов функции. Вы выполняете действия в другой функции, а затем возвращаетесь и продолжаете. Вы также можете включить без оператора if.

1) The driver orders the food
2) The driver drives to the first window
3) The driver pays the cashier (include handling a credit card transaction (use case 3)]
4) The driver drives to the second window
5) The driver gets the food

Обратите внимание, что в приведенном выше расширении не будет работать. Это потому, что водителю по-прежнему нужно идти ко второму окну и получать еду. Если мы расширим использование варианта 3, мы никогда не вернемся к этому варианту использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...