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

Общий раздел => Теория моделирования и нотации => UML SysML и пр. => Тема начата: Telemed от 19 Февраля 2009, 19:46:20

Название: Кратность (multiplicity) класса
Отправлено: Telemed от 19 Февраля 2009, 19:46:20
В диаграмме классов для каждого класса можно задавать кратность (по крайней мере в ЕА). Кратность концов ассоциации - это понятно. А что означает кратность в самом классе?
Название: Re: Кратность (multiplicity) класса
Отправлено: Galogen от 19 Февраля 2009, 22:07:11
Тут следует учесть мета-модель и подход ЕА. Это диалог свойств некоторого элемента. Он является общим для разных UML и не UML объектов. В данном случае, что тут понимается под кратностью я не совсем точно знаю, но могу догадаться о том, что количество возможных экземпляров класса бывает ограниченным. В частности класcа Singleton. Возможно для этих целей и имеется. Кроме того, я так думаю, все это будет важно уже на стадии реализации.
Название: Re: Кратность (multiplicity) класса
Отправлено: Денис Иванов от 19 Февраля 2009, 23:32:46
...количество возможных экземпляров класса бывает ограниченным. В частности класcа Singleton...
В яблочко:)
Название: Re: Кратность (multiplicity) класса
Отправлено: Telemed от 20 Февраля 2009, 10:54:15
Тут следует учесть мета-модель и подход ЕА. Это диалог свойств некоторого элемента. Он является общим для разных UML и не UML объектов. В данном случае, что тут понимается под кратностью я не совсем точно знаю, но могу догадаться о том, что количество возможных экземпляров класса бывает ограниченным.
Там предусматриваются и кратности с неопределенной верхней границей: *, 1.., 1..*.

Я хотел бы в ЛОГИЧЕСКОЙ модели использовать кратность класса в следующем контексте (см. рисунок). Класс "Регистратор" является обобщением - ему наследуют "Электрокардиографический регистратор" и "Регистратор артериального давления", каждый из которых при реализации может иметь более 1-го варианта. Как думаете, могу я использовать такую нотацию в этом случае?
Название: Re: Кратность (multiplicity) класса
Отправлено: Galogen от 20 Февраля 2009, 13:52:52
Там предусматриваются и кратности с неопределенной верхней границей: *, 1.., 1..*.
Я хотел бы в ЛОГИЧЕСКОЙ модели использовать кратность класса в следующем контексте (см. рисунок). Класс "Регистратор" является обобщением - ему наследуют "Электрокардиографический регистратор" и "Регистратор артериального давления", каждый из которых при реализации может иметь более 1-го варианта. Как думаете, могу я использовать такую нотацию в этом случае?
Мне кажется это нарушает саму концепцию. Ведь здесь используется обощение, выделение существенных для класса свойств. А что отражает данная семантика? Что класс Электрокардиографический регистратор может иметь различный набор свойств? Или различные виды реализации?
Если первое то мне кажется это не правильно
Название: Re: Кратность (multiplicity) класса
Отправлено: Telemed от 20 Февраля 2009, 15:45:53
Мне кажется это нарушает саму концепцию. Ведь здесь используется обощение, выделение существенных для класса свойств. А что отражает данная семантика? Что класс Электрокардиографический регистратор может иметь различный набор свойств? Или различные виды реализации?
Если первое то мне кажется это не правильно
Различные виды реализации, скорее. Я имею в виду различные варианты потомков одного родителя. Кратность тут, по-моему, может иметь такой смысл - имеется ряд потомков (братьев и сестер), похожих друг на друга в главных отличительных от родителя чертах, но с некоторыми отличиями друг от друга. Если этой нотации можно придать такой смысл, то это избавило бы меня от необходимости изображать на диаграмме вместо одного (обобщенного) электрокардиографического регистратора какой-то длинный ряд этих потомков (см. рис.), тем более, что ряд этот нужно было бы как-то делать неограниченным.
Название: Re: Кратность (multiplicity) класса
Отправлено: Galogen от 20 Февраля 2009, 19:04:40
Вы знаете, мне кажется Вы пошли не в ту сторону.

Это совершенно нарушает все концепции таксономии. И попытка передать смылс того. что у Вас не так мне представляется кардинально не верной.

Класс, таксоном, архетип - нечто обладающее общими чертами.

Если в Вашей задаче возникает потребность создание большего числа архетипом то причем тут кратность класса.

По-моему это аспекты чисто реализационные. Ограничение (не случайно в фигурных скобках). Ограничение на число экземпляров данного класса. А не на число видов класса. Меня вообще пугает фраза "вид класса".

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