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

×


Задача на n-арные связи(Прочитано 51868 раз)
Задача на n-арные связи : 28 Января 2007, 20:37:08
Вот интересная задача, мозговая разминка для наших посетителей.

Не вдаваясь в подробности всей предметной области, выделим только существенные её факты.

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

Для отображения юридического лица можно было бы предложить некий класс СубъектДоговора. Можно предложить самоассоциацию с ролями продавец и покупатель и кратностью 1.
Можно предположить, что между СубъектомДоговора и Ценными бумагими - также есть ассоциация с классом ассоциации Договор. Либо указать две ассоциации между СубъектомДоговора и ЦеннойБумагой с ролями - покупается и продается и с классом ассоциацией - Договор.
Проблема - пытался нарисовать этот факт в enterprise architect - не выходит.
Привожу два первичных варианта



Re: Задача на n-арные связи Ответ #1 : 29 Января 2007, 09:57:37
В первой диаграмме явная ошибка в навигации от ЦБ к Субъекту договора.

В текстовом описании ПрОбл ничего не сказано о понятии Сделка, и о том, что Договору может соответстовать несколько сделок, так что это уже инсинуации ) Тут надо дописывать.

Вторая диаграмма вполне так себе. Разве что изображён момент до сделки, т.к. после совершения сделки владельцем уже является купивший.



Re: Задача на n-арные связи Ответ #2 : 29 Января 2007, 16:06:17
Вот нечто подобное ...
"Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies" (c)
Мой блог
http://www.yurybuluy.blogspot.com/



Re: Задача на n-арные связи Ответ #3 : 29 Января 2007, 16:53:01
В первой диаграмме явная ошибка в навигации от ЦБ к Субъекту договора.
В текстовом описании ПрОбл ничего не сказано о понятии Сделка, и о том, что Договору может соответстовать несколько сделок, так что это уже инсинуации ) Тут надо дописывать.
Вторая диаграмма вполне так себе. Разве что изображён момент до сделки, т.к. после совершения сделки владельцем уже является купивший.

Ага, ты прав. Я и сам ошибку заметил



Re: Задача на n-арные связи Ответ #4 : 29 Января 2007, 16:59:17
Вот нечто подобное ...
Юра, но я практически тоже самое и сделал, ошибся только в ассоциациях субъектдоговра - сделка - надо было к договору. Тогда сделка действительно класс ассоциации.

Однако изучив твой документ, я пришел к выводу, что мы не всякие векселя продаем а только те которые указаны в списке договора явно. Т.е. если мы и продаем какие векселя помимо этого нас они мало волнуют в данном контексте. Фактически втой класс-ассоциации сделка - это и мой класс сделка, и он есть ничто иное как детализированное представление документа , т.е. табличная списочная его часть



Re: Задача на n-арные связи Ответ #5 : 29 Января 2007, 19:02:26
Вот мой вариант разбора приведенного текста. И диаграмма, которая получилась.
А после приведена диаграмма, которая получилась после анализа и выкидывания лишних сущностей и связей.

Ну ты братец даешь, образец педантичного подхода - интересно что скажет Юра...



Re: Задача на n-арные связи Ответ #6 : 29 Января 2007, 19:33:45
Усложнять -- просто, упрощать сложно (с) Народная мудрость (?). На самом деле это я спровоцировал такой "эксперимент" :-). Кстати, Boatman ссылается на некий комментарий Дениса, насчет задачи на логику. Я к сожалению не видел этого комментария.
На самом деле, я никгода не рисую диаграммы "за пользователем", т.е. слово в слово. И тем более потом эти диаграммы валидировать у пользователя сложно. Реально имеет как раз смысл выделить самое важное из "первички" и отвалидироваться со своим мнением у заказчика.
Второй момент -- это важность КОНТЕКСТА в котором делается domain model. Именно контекст направляет моделирование. Если что-то не понятно, то имеет смысл внести предположения и потом их проверить, но их нужно зафиксировать. Например, если смотреть с позиции некой организации, которая просто свои сделки регистрирует -- это одно, а если смотреть с позиций документооборота, можно придумать несколько другие аспекты. И модели могут при этом отличаться.
А вообще, интересно было бы увидеть как решить вопрос без использования двух сущностей Продавец и Покупатель ;-).
"Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies" (c)
Мой блог
http://www.yurybuluy.blogspot.com/



Re: Задача на n-арные связи Ответ #7 : 29 Января 2007, 19:38:38
Ещё один вариант.



Re: Задача на n-арные связи Ответ #8 : 29 Января 2007, 20:41:03
2Boatman. Вы текстом можете описать, что вы хотели этой (второй) диаграммой сказать? Тогда можно будет и откликнуться.

Есть еще одно предложение. Сформулировать тот самый контекст. С т.з. исходных данных -- все что имеется -- это текст договора купли-продажи ценных бумаг. Пусть это будут Векселя. В договоре сказано о том что 2 юрлица, (одного из которых В ДОГОВОРЕ (!!!)называют Покупатель а другого Прдавец) свершают куплю/продажу N Векселей, разного номинала, разных векселедержателей, с разным сроком погашения, естественно за разные деньги (цена покупки векселя). Так же в договоре есть обязанности сторон -- кто когда деньги перечисляет, когда векселя отдает, и штрафные санкции за просрочку (% от суммарной стоимости векселей за день просрочки) и т.п.

Достаточно ли этого для понимания КОНТЕКСТА? На мой взгляд нет. Какого рода информации не хватает? Если есть желение, your welcome, высказывайте свои мысли, можно будет обсудить.

« Последнее редактирование: 29 Января 2007, 20:44:13 от Юрий Булуй »
"Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies" (c)
Мой блог
http://www.yurybuluy.blogspot.com/



Re: Задача на n-арные связи Ответ #9 : 29 Января 2007, 21:46:25
Текст договора скажем так не доступен. Некоторая рассшифровка содержания дается в диаграмме Юры Булуя.
И потом я тебя не критику :-), я тобой просто восхищен.




Re: Задача на n-арные связи Ответ #10 : 29 Января 2007, 21:52:54
Исходный текст приведен в первом посте топика. Иначе мы с Вами просто сравниваем свои знания о купле-продаже ценных бумаг, что ИМХО бессмысленно и не может являться ЗАДАЧЕЙ.
С другой стороны, почему нет... В приведенной мной диаграмме показаны следующие факты.

1. Существуют "Юридические лица"
2. Сущевствуют "договора купли-продажи ценных бумаг"
3. Одно Юридическое лицо может выступать "покупателем" или "продавцом" в "договоре купли продажи ценных бумаг" и наоборот "договор купли продажи ценных бумаг" имеет одного покупателя - "Юридическое лицо" и одного продавца - "юридическое лицо".

Я считаю, что (учитывая выбрасывание дублирующих связей и лишних искусственных сущностей) мой текст говорит о том же, что и исходный.

Cм. мой топик выше, и предложения по контексту (http://www.uml2.ru/index.php?option=com_smf&Itemid=45&topic=111.msg1058#msg1058)
"Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies" (c)
Мой блог
http://www.yurybuluy.blogspot.com/



Re: Задача на n-арные связи Ответ #11 : 29 Января 2007, 22:08:12
А мне нравится как у нас идет обсуждение. В меру агрессивно и очень продуктивно.

Юра вопрос такой, мое описание было в общем навеяно общением с тобой, я выкинул из него - как мне показалось не очень важные моменты, характеризующие всякие пени, шрафы стоимости и прочее. Т.е. я обрисовал по-моему вполне реальную ситуацию:
Две стороны заключают договор, что одна сторона обязуется продать ниже перечисленные товары, услуги, ценные бумаги на общую сумму такую-то. Нужно зафиксировать сей факт без знания пока дополнительных факторов на мой взгляд не особо существенных.
Из текста задачи следует, что продавец ничем не отличается от покупателя. Очевиден факт, что одно и тоже юрлицо не может в одном договоре быть и продавцом и покупателем.
Акт купли/продажи - есть действие которое можно назвать как угодно - сделка, транзакция, операция и подразумевает отслеживание купли-продажи штуки товара в соответствии с договором, т.е. договор не определяет конкретные даты продажи, а задает их рамки и регламентирует действия (защищает интересы, определяет обязательства) сторон.
Этого явно нет в описание, но оно подразумевается семантикой слов.

Мне понравилась модель Slav. Юра, тебе не кажется, что он дает решение твоего представления?



Re: Задача на n-арные связи Ответ #12 : 29 Января 2007, 22:49:01
...
На самом деле, я никгода не рисую диаграммы "за пользователем", т.е. слово в слово. И тем более потом эти диаграммы валидировать у пользователя сложно.
А я так понял, что Эдуард выступил перед нами в роли аналитика, уже познакомившегося с описанием некой ПрОбл и представившего её некоторое продуманное и формализованное описание, а не пользователя. "Пользователь" или эксперт имхо другими словами бы всё излагал :)

Цитировать
Реально имеет как раз смысл выделить самое важное из "первички" и отвалидироваться со своим мнением у заказчика. Второй момент -- это важность КОНТЕКСТА в котором делается domain model. Именно контекст направляет моделирование. Если что-то не понятно, то имеет смысл внести предположения и потом их проверить, но их нужно зафиксировать. Например, если смотреть с позиции некой организации, которая просто свои сделки регистрирует -- это одно, а если смотреть с позиций документооборота, можно придумать несколько другие аспекты. И модели могут при этом отличаться.
Да, это всё правильно, но изначально не было постановки как "давайте попытаемся проиграть итеративный процесс построения модели ПрОбл", поэтому я, например, воспринял текст как всё, что у нас есть в распоряжении.



Re: Задача на n-арные связи Ответ #13 : 29 Января 2007, 22:50:43
И еще. Хотелось бы услышать комментарий (результат "валидации") на мою вторую диаграмму. Есть возражения против нее?
Непонятно, куда делись ценные бумаги, в атрибуты Договора?



Re: Задача на n-арные связи Ответ #14 : 30 Января 2007, 01:19:13
А я так понял, что Эдуард выступил перед нами в роли аналитика, уже познакомившегося с описанием некой ПрОбл и представившего её некоторое продуманное и формализованное описание, а не пользователя. "Пользователь" или эксперт имхо другими словами бы всё излагал :)

Я в курсе того что Эдуард ознакомился с "первоисточником" :-). И эта цитата не к этому имеет отношение. Она говорит о моей практике, что я никогда не рисую диаграммы "со слов". Да и давайте посмотрим таки на оригинальный постинг от Boatman, на который и была приведена эта цитата:

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

Ровным счетом на него и был ответ, а не на предположение что Эдуард есть пользователь, не так ли?

Да, это всё правильно, но изначально не было постановки как "давайте попытаемся проиграть итеративный процесс построения модели ПрОбл", поэтому я, например, воспринял текст как всё, что у нас есть в распоряжении.

Я же опубликовал выше, что действительно все что есть в распоряжении это текст некоторого договора. Эдуард вполне передал суть, отбросив лишнее. Естественно в договоре нет ни слова об аналитической сущности "Сделка", естественно что показать условия договора -- этого ТОЖЕ НЕТ В ТЕКСТЕ ДОГОВОРА.  Я в своей диаграмме внес ПРЕДПОЛОЖЕНИЯ, их ЗАФИКСИРОВАЛ. Другой вопрос, если бы я не написал эти assumptions and dependences. И внеся предположения я поднял вопрос КОНТЕКСТА использования.
Да, все представленные решения так или иначе имели контекст, другой вопрос что одни "выжимали из текста все что можно", и следовали буква к букве, считая недопустимым "фантазировать", другие превносили контекст явно (или неявно??).
Я же прдедложил его таки описать (этот самый контекст использования) текстом. Но почему-то это предложение осталось незамеченным. Вместо этого все стали рефлексировать :-). Может все-таки имеет смысл описать контекст?
« Последнее редактирование: 30 Января 2007, 01:25:11 от Юрий Булуй »
"Politics is the art of looking for trouble, finding it, misdiagnosing it, and then misapplying the wrong remedies" (c)
Мой блог
http://www.yurybuluy.blogspot.com/




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19