Форум Сообщества Аналитиков

Обсуждения => Обсуждение статей => Тема начата: uml2.ru от 12 Июня 2009, 22:45:10

Название: Обобщение действующих лиц
Отправлено: uml2.ru от 12 Июня 2009, 22:45:10
Обобщение действующих лиц (actors) обеспечивает возможность вынести поведение, общее для двух и более действующих лиц, в действующее лицо-родителя ДЛ-родитель является более обобщенным, чем его потомки, а ДЛ-потомки - более специализированными, чем их родитель Дочернее ДЛ везде может заменять ДЛ-родителя - это принцип замещаемости ДЛ-родитель обычно абстрактный - он определяет абстрактную роль Дочерние ДЛ конкретны - они определяют конкретные роли Обощение ДЛ может упрощать диаграммы вариантов использования  Оригинал: Обобщение действующих лиц
Название: Re: Обобщение действующих лиц
Отправлено: d.e.kurochkin от 12 Июня 2009, 23:17:32
Здравствуйте.
У меня возник вопрос.
Вы уверены в том, что действующее лицо Покупатель является более обобщенным, чем его потомки (более специализированные) - Клиент и Торговый агент?
В моем понимании Клиент более общее понятие, которое может включать в себя:
- покупателей, которые платят за товар компании;
- работников, которые получают льготы и премиальные за продуктивный труд;
- поставщиков, которые предоставляют товар за деньги;
- партнеров по сбыту, которые дают наводки, обеспечивают сбыт и дополнительные услуги в замен на комиссионные с объема продаж, сделанных с их помощью.
Таким образом, Клиент - это лицо или группа лиц, с которыми Вы как компания обмениваетесь некими ценностями.
Мне кажется, что Клиент должен быть более абстрактным ДЛ.
Правда если изменить рисунок 2, просто поменяв местами имена ДЛ, то нарушится логика, т.к. не всякий Клиент может заказать продукты (например, Клиент в роли Поставщика).
Вы не могли бы сделать пояснение по данному вопросу?

С уважением, Дмитрий
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 13 Июня 2009, 22:50:17
Все зависит от точки зрения и языка, на котором Вы говорите :) Ваши доводы вполне логичны. Но статья просто показывает прием обощения. Смотрите - Клиент - это конкретная роль абстрактного Покупателя. Тем более Вы сами ответили на свой же вопрос. Вы все еще нуждаетесь в комментарии?
Название: Re: Обобщение действующих лиц
Отправлено: d.e.kurochkin от 13 Июня 2009, 23:17:35
Наверно многое еще зависит от контекста.
Скажите, пожалуйста, а Торговый агент - это тоже конкретная роль абстрактного Покупателя?
Я понимаю, что это пример обобщения. Просто возникли такие вопросы, надеюсь, Вы не против этого.
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 13 Июня 2009, 23:27:39
Наверно многое еще зависит от контекста.
Скажите, пожалуйста, а Торговый агент - это тоже конкретная роль абстрактного Покупателя?
Я понимаю, что это пример обобщения. Просто возникли такие вопросы, надеюсь, Вы не против этого.
Подумал и понял, что наверное, действительно следует пояснить семантику действующих лиц. Хотя в книге, откуда я их брал, никаких пояснений по этому поводу нет.

Смотрите.
Есть Клиент - который сам просматривает списки продуктов, заказывает их, принимает платежи, оплачивает и т.п.
Но есть Торговый агент, которого стороннее лицо (Клиент для Торгового агента) нанимает для исполнения описанных выше действий.

Отличие ТА и К только в том, что последний получает комиссию.

Конечно, можно было бы например сделать так. ТА специализировать от Клиента. В какой-то ситуации  это было бы достаточно. Однако многие (зарубежные авторы) рекомендуют все-таки выделять абстрактную роль.

Действительно для эксперта предметной области было бы понятнее, если бы от читал диаграмму так: Торговый агент выступает от имени некоторого клиента в роли Покупателя. Но Клиент  может и сам выступать в роли Покупателя.

Обратите внимание, что мы рассматриваем контекст использования системы Продаж (100% некая электронная система в будущем)
Название: Re: Обобщение действующих лиц
Отправлено: d.e.kurochkin от 13 Июня 2009, 23:45:20
Теперь стало более понятно.
Спасибо за пояснение. Жалко, что в книге этого не сделали.
Не подскажите ее название? Интересно посмотреть.
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 14 Июня 2009, 10:12:48
Теперь стало более понятно.
Спасибо за пояснение. Жалко, что в книге этого не сделали.
Не подскажите ее название? Интересно посмотреть.

Прямо в статье в конце я указывал ссылку
Название: Re: Обобщение действующих лиц
Отправлено: d.e.kurochkin от 14 Июня 2009, 12:06:25
Спасибо.
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 14 Июня 2009, 21:00:11
Спасибо.
Всегда, пожалуйста. Мне действительно эта книга очень понравилась. Среди каких Вы можете спросить?

1. Джозеф Шмуллер. UML за 24 часа - книга хороша для начинающих. Книга прекрасна, дает обзор, и быстрое понимание. Но потом явно ее не хватает.
2. Крэг Ларман. Применение UML и ... Отличная книга, нет слов. Много отличных сведений, но некоторые моменты мне были все равно не ясны
3. Рамбо и Блаха. UML2. ОО моделирование и анализ. Тоже прекрасная книга. Но она скорее метадологическая. Это не справочник. В ней даны рекомендации и очень дельные.
4. Наконец книга Арлоу и Нейштадта мне показалась и достаточно академичной, и очень практичной. Естественно - это кристаллизация авторского опыта. Но на мой взгляд - это хорошие образцы авторского опыта, почему же его не донести до широкой публики?
Название: Re: Обобщение действующих лиц
Отправлено: d.e.kurochkin от 14 Июня 2009, 22:05:21
Крэг Ларман. Применение UML 2.0 и шаблонов проектирования - полностью согласен с Вами - отличная книга.
А вот с остальными из представленного Вами списка, к сожалению, пока не знаком.
Читал другие.
Мне очень понравилась книга Мартина Фаулера UML основы (3-е издание) - великолепный автор, думаю многие со мной согласятся, излагает материал в краткой и ясной форме. Книгу можно использовать как удобный и быстрый справочник. Очень доволен содержанием и переводом книги.
Также понравилась книга UML Rational Rose авторы Уэнди и Майкл Боггс - на мой взгляд, тоже хорошая книга для начинающих, очень хорошие примеры всех главных типов диаграмм UML.

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

Пользуясь случаем хочу поздравить Вас с Днем Рождения и пожелать Вам успехов и хорошего настроения! :)
Название: Re: Обобщение действующих лиц
Отправлено: Виталий Григораш от 14 Июня 2009, 23:06:04
Эд, я бы упростил диаграмму, сделав только Клиента и Торгового агента наследником от первого. А то Клиент как-то вообще без ВИ остался и вроде избыточен сейчас, так как не видно других ВИ.   
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 14 Июня 2009, 23:33:13
Эд, я бы упростил диаграмму, сделав только Клиента и Торгового агента наследником от первого. А то Клиент как-то вообще без ВИ остался и вроде избыточен сейчас, так как не видно других ВИ.   
Виталий, я тебе потом отвечу. И внимательно смотри диаграмму
Название: Re: Обобщение действующих лиц
Отправлено: bas от 15 Июня 2009, 10:21:47
Эд, и можно мне тоже отдельно ответить :)
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 15 Июня 2009, 20:22:03
Эд, я бы упростил диаграмму, сделав только Клиента и Торгового агента наследником от первого. А то Клиент как-то вообще без ВИ остался и вроде избыточен сейчас, так как не видно других ВИ.   

Эд, и можно мне тоже отдельно ответить :)

Отвечаю. Еще раз оговарюсь. За основу я взял книгу Арлоу и Нейштадта. При этом авторские мысли стараюсь донести. С целью привлечения внимания к хорошей книге. С целью показать, а что думают наши иностранные коллеги (в данном случае европейцы). Возможно обнаружить, что гуру тоже ошибаются.

Но думаю не в этом случае.

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

На первый взгляд, кажется, действительно проще унаследовать Торгового агента от Клиента. Почему это не есть очень правильно:
1. как мы понимаем - перед нами не окончательная модель и она может развиваться
2. при развитии могут появляться какие-то новые специализации Клиента, которые не нужны и не важны роли Торговый агент
3. Наследование лучше осуществлять от абстракной роли - это лучше подходит к понятию повторного использования.
4. В моем случае Клиент - это Покупатель и Торговый Агент - это Покупатель
5. Покупатель имеет ясную специализацию, которую мы и видим на диаграмме
6. Обощение обозначает, что конкреные роли унаследуют все поведение и возможности родителя. Т.е. Клиент как мы видим унаследует все от Покупателя и пока не привносит ничего нового
7. Торговый агент тоже унаследует все, поскольку кто-то нанимает Торгового агента выступать в роли покупателя (обратите внимание, не в роли клиента, а именно в роли покупателя, т.е. посредника между Клиентом и системой Продаж)
8. На мой взгляд значительно проблематичной полагать Торгового агента Клиентом. Хотя Вы можете подумать, что ведь и Торговый агент вполне может быть Клиентом системы Продаж. Это вполне возможно, но в нашем случае это нам не интересно. Т.е. нас не интересует аспект того, что какой-то человек может быть одновременно Клиентом и Торговым агентом. Нас интересует роль внешней сущности в ходе Продаж. Авторы предложили сове понимание, что роль, которая участвует в Продажах - это скорее всего Покупатель, но Покупатель абстракный, т.к. конкретный Покупатель в нашем случае - это либо Клиент, либо Торговый агент

Не знаю убедил ли я вас, но думаю в данном случае не стоит слишком драматизировать ситуацию. Конечно, слово будет за вами.

Я лишь постарался описать прием обобщения, т.е. как к нему приходить. Обычно это не вызваает затруднения, но судя по вопросам, у каждого свое понимание.

Я предложил свое понимание
Название: Re: Обобщение действующих лиц
Отправлено: bas от 16 Июня 2009, 00:03:18
Эд,

Спасибо за объяснение. Твои доводы убедительны, особенно п. 2, 5  и 7.
Название: Re: Обобщение действующих лиц
Отправлено: Galogen от 16 Июня 2009, 09:06:14
Эд,

Спасибо за объяснение. Твои доводы убедительны, особенно п. 2, 5  и 7.

Моя довольна