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

×


Вопрос по диаграмме классов(Прочитано 33174 раз)
Re: Вопрос по диаграмме классов Ответ #15 : 18 Марта 2010, 16:40:17
... Кстати ничего в моих рассуждениях от реализации то и нет

Вы неправильно меня поняли - я не говорил что в ваших рассуждениях чтото от реализации. Просто те варианты которые были предложены имеют полные аналоги в ER реализации и при передаче от "рисователя-схем" к реализаторскому звену МОЖЕТ произойти потеря контекста.
Это ни за ни против этих методов - просто надо понимать это
И ВСЕ!!!!!!



Re: Вопрос по диаграмме классов Ответ #16 : 18 Марта 2010, 16:41:29
Речь про использоватние класса-ассоциации "Журнал" - он тут не подходит. Нужно использовать обычный класс.

Обосновать можете?



Re: Вопрос по диаграмме классов Ответ #17 : 18 Марта 2010, 16:54:16
Вот 3 страницы (108-110) книги Фаулера "Основы UML". Пример на мой взгляд ясно показывает, что связь-ассоциация имеет вышесказаное ограничение.






Re: Вопрос по диаграмме классов Ответ #18 : 18 Марта 2010, 18:52:13
Фаулер (или переводчик) в приведенных фрагментах книги все время путают классы и экземпляры классов.
Ассоциации связывают классы, а экземпляры классов связываются экземплярами ассоциаций (связями).



Re: Вопрос по диаграмме классов Ответ #19 : 18 Марта 2010, 19:41:46
Который раз перечитываю и не могу найти некорректного перевода. denis-itk, а что именно вам не понравилось в тексте?



Re: Вопрос по диаграмме классов Ответ #20 : 18 Марта 2010, 20:01:09
Обведенный фрагмент
"Класс-ассоциация дает возможность определить дополнительное ограничение, согласно которому двум участвующим в ассоциации объектам может соответствовать только один экземпляр класса-ассоциации"

Должно быть что-то типа такого

"Класс-ассоциация дает возможность определить дополнительное ограничение, согласно которому ЛЮБОЙ ПАРЕ ЭКЗЕМПЛЯРОВ двуХ участвующиХ в ассоциации КЛАССОВ может соответствовать только один экземпляр класса-ассоциации"


Кроме этого рис. 6.15, который призван заменить верхнюю часть рис. 6.16 (для удовлетворения соответствующим условиям) слишком наворочен. Проблема решается тернарной ассоциацией.



Re: Вопрос по диаграмме классов Ответ #21 : 19 Марта 2010, 10:05:23
Чтобы не биться относительно фаулера и относительно перевода, залез вчера в UMLный стандарт В нем по поводу Association class имеется такое замечание :

"Note – It should be noted that in an instance of an association class, there is only one instance of the associated classifiers at
each end, i.e., from the instance point of view, the multiplicity of the associations ends are ‘1.’"

Я честно говоря, затрудняюсь однозначно трактовать этот piece of text Но мне все таки кажется что с точки буквы стандарта UML случай idaxebrn корректно описывать с помощью ассоциированного класса.

Кроме того, там же приведена картинка на которой associated classifiers = Person (кардинальность связи = *) и Company (кардинальность связи = 1..*), а associated class = Job (с атрибутом Salary)




Re: Вопрос по диаграмме классов Ответ #22 : 19 Марта 2010, 10:40:19
"Note – It should be noted that in an instance of an association class, there is only one instance of the associated classifiers at
each end, i.e., from the instance point of view, the multiplicity of the associations ends are ‘1.’"
Следует заметить, что в экземпляре ассоциативного класса может быть только один экземпляр ассоциированных (у каждого конца связи) классификаторов, т.е. с точки зрения (с позиции) этого экземпляра кратность концов ассоциации равна 1.

Класс-ассоциация является особым представлением ассоциации. Потому каждый экземпляр класс-ассоциации, представляя собой конкретный экземпляр самой ассоциации, идентифицируется через участников такой ассоциации, т.е. через экземпляры классов на концах этой связи - экземпляра ассоциации. Это и предполагает независимо от значений атрибутов класса-ассоциации дефолтное значение скрытых от нас двух атрибутов представляющих идентификаторы объектов на концах связи. Совокупность этих атрибутов и есть идентификатор конкретного экземпляра ассоциации и он должен быть уникальным!!!!

Потому в схеме с ассоциативным классом невозможна такая ситуация:

Магазин     | Режим работы    | Дата начала действия режима
Магазин  1 | Режим работы 1  | 1/01/2010
Магазин  1 | Режим работы 2  | 1/02/2010
Магазин  1 | Режим работы 1  | 1/03/2010

Записи которые возможны в этом случае буду такими
Магазин     | Режим работы    | Дата начала действия режима
Магазин  1 | Режим работы 1  | 1/01/2010 1/03/2010
Магазин  1 | Режим работы 2  | 1/02/2010

Т.е. мы можем знать лишь дату последнего действия режима, но не сможем получить ответ на такой вопрос:
Сколько раз в течение года магази 1 работал по режиму 1 или какова общая продолжительность работы магазина 1 в течение года по режиму 1



Re: Вопрос по диаграмме классов Ответ #23 : 19 Марта 2010, 10:58:33
Эдуард, на основе чего вы так решили? Ведь возможна и другая трактовка приведенного Note - да одному экземпляру связи между classifier соответствует ровно один экземпляр association class но нигде вроде как не написано (по крайней мере не нашел) что между парами экземпляров classifier не может быть  многих связок. именно это я имел в виду когда говорил о том что не берусь однозначно трактовать этот Note

Кстати а как вы трактуете наличие рисунка-примера в тексте стандарта?



Re: Вопрос по диаграмме классов Ответ #24 : 19 Марта 2010, 11:05:45
Правильно ли я понял задачу ?



Re: Вопрос по диаграмме классов Ответ #25 : 19 Марта 2010, 11:12:12
не совсем понял, зачем вы выделили отдельно "журнал" и "элемент журнала"



Re: Вопрос по диаграмме классов Ответ #26 : 19 Марта 2010, 11:14:47
Эдуард, на основе чего вы так решили? Ведь возможна и другая трактовка приведенного Note - да одному экземпляру связи между classifier соответствует ровно один экземпляр association class но нигде вроде как не написано (по крайней мере не нашел) что между парами экземпляров classifier не может быть  многих связок. именно это я имел в виду когда говорил о том что не берусь однозначно трактовать этот Note


Этот пример более корректный согласно Note.

Магазин     | Режим работы    | Дата начала действия режима
Магазин  1 | Режим работы 1  | 1/01/2010
Магазин  1 | Режим работы 2  | 1/02/2010
Магазин  1 | Режим работы 1  | 1/03/2010

У каждого экземпляра  "дата начала действия" есть по одному экземпляру Магазин и Режим работы.





Re: Вопрос по диаграмме классов Ответ #27 : 19 Марта 2010, 11:16:44
не совсем понял, зачем вы выделили отдельно "журнал" и "элемент журнала"

Журнал в целом хранит всю историю изменений режимов работы. Элемент журнала  - это факт изменения режима работы.



Re: Вопрос по диаграмме классов Ответ #28 : 19 Марта 2010, 11:20:00
На мой взгяд логичнее сделать вот так:



Re: Вопрос по диаграмме классов Ответ #29 : 19 Марта 2010, 11:25:18
На мой взгяд логичнее сделать вот так:

А разве что-то изменилось? Кроме того, что название Элемент журнала изменилось на Режим работы ?

+  у вас у одного магазина может быть много журналов ? а у многих журналов только один режим работы?

Или я что-то неправильно трактую ?




 

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