UML — Use Case model — вопрос по ассоциациям (страница 2)




В теме 20 ответов, и 5 участников, последнее обновление сделано пользователем Аватар (Julia) Julia 14 г назад.

Показано 6 ответов - от 16 до 21 (всего 21)
  • Автор
    Сообщения
  • 18.11.2010 в 18:30 # 5403
    Аватар (Julia)
    Julia
    Подписчик

    Extend и имеется в виду. Быстро рисовал, по памяти. :)

    Спасибо, теперь ясно.
    Но тогда попутный вопрос :).
    Насколько мне известно, Extend с обобщением (наследованием) не совмещают, это и логически не возможно. Может быть я что-то не понимаю? Или стрелочка с полым наконечником в данном случае тоже "быстро рисовалась":)?

    P.S. Я не критикую, я только проясняю для себя. Тема интересная.

    Поделиться:

    Цитировать

    18.11.2010 в 18:40 # 5404
    Подразумевалась обычная extend связь. Стрелка не та, конечно. Просто опять же — рисовалось быстро да еще и в Visio.
    Поделиться:

    Цитировать

    19.11.2010 в 16:25 # 5405
    Аватар (Julia)
    Julia
    Подписчик

    Дам еще иллюстрацию на это утверждение.
    В первом случае покажем решение актера как 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
    Аватар (Julia)
    Julia
    Подписчик

    [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
    Аватар (Julia)
    Julia
    Подписчик

    [quote]По моему опыту, первая диаграмма не совсем корректна касательно "Extend" и "Include".

    А здесь я и хотел намеренно показать, что простой выбор актера, связанный с нажатием той или иной кнопки или выбором пункта меню на экранной форме не стоит сразу трактовать как extend…[/quote]
    Согласна с тем, что Вы хотели показать. Но лично мне трудно это увидеть на диаграмме.

    Постараюсь объяснить свое видение некорректности диаграммы.
    1. На диаграмме есть овал "Выбрать транзакцию".
    "Выбрать транзакцию" — не есть цель пользователя (не есть бизнес шаг, т.к. не дает никакого value).
    Следовательно, "Выбрать транзакцию" не может быть самостоятельным юзкейсом.

    "Выбрать транзакцию" — это всего-навсего шаг юзкейса "Выполнить транзакцию".
    При желании мы можем связать "Выбрать транзакцию" с "Выполнить транзакцию" через include (как я и сделала на своей диаграмме).
    ——————————————————————————————————————

    2. На диаграмме показано, что юзкейсы "Снять наличные", "Выполнить платежи", "Проверить состояние счета" являются расширениями "Выбрать транзакцию."
    Получается, что для того чтобы Выбрать транзакцию иногда нужно Снять наличные, Выбрать платежи или/и Проверить состояние счета.
    В реальности это не так.

    На своей диаграмме я показала, что юзкейсы "Снять наличные", "Выполнить платежи", "Проверить состояние счета" — все это разновидности (классификация) "Выполнить транзакцию".

    P.S. Поясните, пжл, Ваши замечание по моей диаграмме.

    Поделиться:

    Цитировать

Показано 6 ответов - от 16 до 21 (всего 21)

Вы должны авторизироваться для ответа в этой теме.