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

Общий раздел => Теория моделирования и нотации => UML SysML и пр. => Тема начата: Vadim от 24 Ноября 2010, 18:31:49

Название: Ассоциации и обобщения
Отправлено: Vadim от 24 Ноября 2010, 18:31:49
Есть класс "СуперКласс", соединенный ассоциацией без имен полюсов с классом "Класс". Есть класс "ПодКласс", подкласс "СуперКласса", соединенный ассоциацией без имен полюсов с классом "Класс". Кратнось полюсов второй ассоциации вкладывается в кратность соответствующих полюсов первой ассоциации (например 1..1 вкладывается в 0..*). Что получается: 1) диаграмма (модель) неверна: у класса "ПодКласс" 2 ассоциации с совпадающими именами полюсов на дальнем конце; 2) диаграмма (модель) верна: вторая ассоциация уточняет первую?
Название: Re: Ассоциации и обобщения
Отправлено: Galogen от 24 Ноября 2010, 19:55:09
По правилу подстановки Лисков. Подкласс - это тот же Суперкласс, который наследует все свойства Суперкласса, в том числе и ассоциации с другими классами, т.е. Классом. Вторая ассоциация Подкласса к Классу по сути переопределяет исходную. Правильно ли это? Не знаю
Название: Re: Ассоциации и обобщения
Отправлено: Galogen от 24 Ноября 2010, 23:05:42
Посмотрите тут обобщение ассоциации (http://ooad.asf.ru/standarts/UML/spr/Association_generalization.aspx). Правда хотелось бы практический пример посмотреть, а не абстракцию
Название: Re: Ассоциации и обобщения
Отправлено: Thyestes от 24 Ноября 2010, 23:38:32
Да реальный пример попроще будет проанализировать.

Vadim Вы имели ввиду что-то наподобие как на рисунке ?
Название: Re: Ассоциации и обобщения
Отправлено: Galogen от 25 Ноября 2010, 08:43:31
Vadim Вы имели ввиду что-то наподобие как на рисунке ?

Имхо он имел в виду нечто вроде
Название: Re: Ассоциации и обобщения
Отправлено: Vadim от 25 Ноября 2010, 10:25:10
Точно!!!
Название: Re: Ассоциации и обобщения
Отправлено: Vadim от 25 Ноября 2010, 11:10:42
Цитировать
Подкласс - это тот же Суперкласс, который наследует все свойства Суперкласса, в том числе и ассоциации с другими классами, т.е. Классом. Вторая ассоциация Подкласса к Классу по сути переопределяет исходную. Правильно ли это? Не знаю
Когда у подкласса есть атрибут с тем же именем, что у суперкласса я встречал примеры у классиков/авторов UML, где это означало переопределение атрибута, причем без {redefines ...}.
Цитировать
Посмотрите тут обобщение ассоциации.
Посмотрел, уже раз 10-й (пример кочует по сайтам и книгам) и не жалею - появилось соображение, спасибо. А вот и соображение: на рис. 30 обобщение ассоциации ПРОИЗВОДНО (конечно при условии, что полюс ассоциации с тем же именем переопределяет наследуемый полюс ассоциации). И еще: если кратность одного из полюсов, например model, 1..1, то и SetGeneralization для Symbol ПРОИЗВОДНО (при условии, что оба SetGeneralization являются disjoint и complete).
Название: Re: Ассоциации и обобщения
Отправлено: Vadim от 25 Ноября 2010, 11:49:00
Цитировать
при условии, что оба SetGeneralization являются disjoint и complete
при условии, что у обоих SetGeneralization совпадают completeness, disjointness и powerType.