Главная Форумы Методики визуализации и моделирования в бизнес-анализе UML — Use Case model — вопрос по ассоциациям
В теме 20 ответов, и 5 участников, последнее обновление сделано пользователем Julia 13 г, 11 мес. назад.
-
АвторСообщения
-
18.11.2010 в 18:30 # 5403
Extend и имеется в виду. Быстро рисовал, по памяти.
Спасибо, теперь ясно.
Но тогда попутный вопрос .
Насколько мне известно, Extend с обобщением (наследованием) не совмещают, это и логически не возможно. Может быть я что-то не понимаю? Или стрелочка с полым наконечником в данном случае тоже "быстро рисовалась":)?P.S. Я не критикую, я только проясняю для себя. Тема интересная.
18.11.2010 в 18:40 # 5404Подразумевалась обычная extend связь. Стрелка не та, конечно. Просто опять же — рисовалось быстро да еще и в Visio.19.11.2010 в 16:25 # 5405Дам еще иллюстрацию на это утверждение.
В первом случае покажем решение актера как extension point:atm-chart.jpg
Во втором случае я не показывал выбор актера как extension point. Какая из диаграмм по Вашему мнению лучше и читабельней?По моему опыту, первая диаграмма не совсем корректна касательно "Extend" и "Include".
Я бы сделала вот так.22.11.2010 в 23:39 # 5406Насколько мне известно, Extend с обобщением (наследованием) не совмещают, это и логически не возможно. Может быть я что-то не понимаю?
По этому вопросу в защиту уважаемого коллеги Gerych могу пояснить следующее: в языке UML версий 1.1 и 1.3 как раз так и было, т.е. extend и include показывались в виде стереотипов к generalization и такие диаграммы строились в Rational Rose 98i (посмотрите книгу Майкла и Уэнди Боггс "UML и Rational Rose 98i" и там вы увидите аналогичные диаграммы). Поэтому в таком представлении нет такой уж большой крамолы, а просто несколько устаревшая нотация, которая, возможно, сохранилась в Visio.
По моему опыту, первая диаграмма не совсем корректна касательно "Extend" и "Include".
А здесь я и хотел намеренно показать, что простой выбор актера, связанный с нажатием той или иной кнопки или выбором пункта меню на экранной форме не стоит сразу трактовать как extend, иначе для практически любого случая мы получим такую утрированную диаграмму как эта.
Приведенный вами вариант с наследованием выглядит достойно, однако, и в нем, есть кое-что не совсем корректное. Наследование здесь отнюдь не показывает, что «Выполнить транзакцию» это есть «Снять наличные» или «Выполнить платежи» или «Проверить состояние счета». Думаю, что наследование и три связанных с ним юз кейса на вашей диаграмме лишние, т.к. выбор транзакции уже обеспечивается юз кейсом «Выбрать транзакцию».11.12.2010 в 10:25 # 5407[quote]Насколько мне известно, Extend с обобщением (наследованием) не совмещают, это и логически не возможно. Может быть я что-то не понимаю?
…в языке UML версий 1.1 и 1.3 … extend и include показывались в виде стереотипов к generalization и такие диаграммы строились в Rational Rose 98i (посмотрите книгу Майкла и Уэнди Боггс "UML и Rational Rose 98i" и там вы увидите аналогичные диаграммы)
[/quote]
Книгу посмотрела. Насколько я поняла в UML 1.1. и 1.3 еще не было таких связей как extend и include. Там были extends и uses — и у этих связей было несколько другое назначение.
Почему я и спросила у Германа (Gerych) о семантике связи extends на его диаграмме.
Нынешние extende и include — это ни как НЕ генерализация.11.12.2010 в 11:13 # 5408[quote]По моему опыту, первая диаграмма не совсем корректна касательно "Extend" и "Include".
А здесь я и хотел намеренно показать, что простой выбор актера, связанный с нажатием той или иной кнопки или выбором пункта меню на экранной форме не стоит сразу трактовать как extend…[/quote]
Согласна с тем, что Вы хотели показать. Но лично мне трудно это увидеть на диаграмме.Постараюсь объяснить свое видение некорректности диаграммы.
1. На диаграмме есть овал "Выбрать транзакцию".
"Выбрать транзакцию" — не есть цель пользователя (не есть бизнес шаг, т.к. не дает никакого value).
Следовательно, "Выбрать транзакцию" не может быть самостоятельным юзкейсом."Выбрать транзакцию" — это всего-навсего шаг юзкейса "Выполнить транзакцию".
При желании мы можем связать "Выбрать транзакцию" с "Выполнить транзакцию" через include (как я и сделала на своей диаграмме).
——————————————————————————————————————2. На диаграмме показано, что юзкейсы "Снять наличные", "Выполнить платежи", "Проверить состояние счета" являются расширениями "Выбрать транзакцию."
Получается, что для того чтобы Выбрать транзакцию иногда нужно Снять наличные, Выбрать платежи или/и Проверить состояние счета.
В реальности это не так.На своей диаграмме я показала, что юзкейсы "Снять наличные", "Выполнить платежи", "Проверить состояние счета" — все это разновидности (классификация) "Выполнить транзакцию".
P.S. Поясните, пжл, Ваши замечание по моей диаграмме.
-
АвторСообщения
Вы должны авторизироваться для ответа в этой теме.