EA - скрытие наследуемых атрибутов, операций объектвов на диаграме?(Прочитано 21760 раз)
Enterprise Architect.
Объект наследуется от некого класса. Можно отобразить наследуемые методы на диаграмме.
Но управлять их видимостью не получается. В меню Set Feature Visibility -> Operation Visibility -> Custom отображаются только "собственные" (то есть созданные непосредственно для этого объекта) свойства объекта.
Так, нет никаких проблем с управлением видимостью атрибутов (операций) классов, но экземпляры классов отображают все атрибуты (операции) и диаграмма захламляется.

Возможно ли, каким либо образом, скрыть требуемые операции или атрибуты у экземпляра класса (объекта), которые наследуются от другого класса (тофтология)?

Если нет никаких решений, есть ли такая возможность в других средствах моделирования?



Riden, нельзя ли привести пример и описать проблему более подробно. К сожалению недостаточно информации, чтобы продиагностировать проблему.

Если Вы желаете подавить отображение наследуемых составляющих - это делается просто. Там есть свойство Show atributes/operations но кажется Вы о чем-то ином...

Тафтология (пишется именно так) означает, что формула истинна при всех возможных интерпретациях, т.е. общезначимая или тафтология.

Что Вы имели в виду, говоря о тафтологии, что если класс А наследник класса Б, то естественно, что он наследует все составляющие класса Б?



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

Вродя я выше понятно написал, что хочу. Для наглядности, маленький пример.
См. вложение WinExample2.png - отображается объект с наследуемыми свойствами.
См. вложение WinSFWofObjTest.png - показано, что включена опция отображения наследуемых свойств у объекта.
См. вложение WinAdvanced.png - в меню Advanced (Set Feature Visible объекта) недоступен список свойств для скрытия.

вложение umltest.rar - тестовый файл (проект EA).

Собственно мне нужно скрыть некоторые из атрибутов или операций объекта.
« Последнее редактирование: 29 Марта 2008, 22:21:25 от riden »



Riden, понимаете объект или экземпляр класса и есть конкретный экземпляр, управлять видимостью надо у класса, а у объекта нет. Понятно надеюсь?

Я лишь не понимаю зачем Вам все это?



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

Зачем? Очень удобно хранить библиотеку класов в xml или еще каком нибудь формате, экспортировать ее в проект, а затем просто скрывать ненужные методы. Иначе просто невозможно будет построить диаграмму (много атрибутов и методов объектов/классов).

Но с классами все нормально, а с объектами, как видите не получается.

Цитировать
Riden, понимаете объект или экземпляр класса и есть конкретный экземпляр, управлять видимостью надо у класса, а у объекта нет. Понятно надеюсь?
Ну так изменение видимости атрибутов (операций) (короче свойств) классов на диаграмме, никак не отражаестя на видимости свойств объекта. Они если отображаются, то все сразу.
« Последнее редактирование: 29 Марта 2008, 22:50:48 от riden »



Riden, давайте разберемся, что такое объект для начала.

Объект - это экземпляр класса, обладающий КОНКРЕТНЫМ набором свойств.
И что же это означает, а означает это, что есть класс ТЕСТ, а есть кокретный экземпляр этого класса, т.е. самый не на есть конкретный тест, с определенными для него параметрами. Он тем и отличается это объект, что имеет СВОИ и только СВОИ свойства. Ферштейн зи?

Зачем объект показывают на ДК, а чтобы показать конкретный пример для конкретного понимания. Однако если есть понимание, зачем его показывать - этот объект - вместе с порождающим его классом?

Вот что я и не понимаю, а скрыть методы просто, свойства диаграммы и выбрать сапресс нужных свойств, но все равно полностью не догоняю в чем таки необходимость и велью



Цитировать
Зачем объект показывают на ДК, а чтобы показать конкретный пример для конкретного понимания. Однако если есть понимание, зачем его показывать - этот объект - вместе с порождающим его классом?
Можно и вместе с пораждающим классом, сверху - метамодель классов в отдельном boundary, а снизу модель Activity, это уж как мне удобно.
А здесь я изобразил класс и объект вместе, что бы показать, что у класса отображается только один метод, который мне нужен, а у обекта отображаются сразу все, и скрыть ненужные методы не получается.

Честно говоря, моделировать я начал недавно...

У меня есть библиотека классов. Я ее экспортирую. И не собираюсь для каждого экземпляра создавать свои методы, свойства. Они унего уже есть, как методы экземпляра.

И мне нужно что бы отображались только актуальные методы, для данного алгоритма (диаграмма Activity).

Зачем отображать объекты? Ну, я думаю, для диаграмм Activity.

А вот скрыть нужные свойства объекта у меня не получается, например, что бы у объекта отображался только метод run(). Просто потому, что их, этих свойств, нет в списке Features объекта, так как это не его собственные свойства, а свойства класса.

Цитировать
Вот что я и не понимаю, а скрыть методы просто, свойства диаграммы и выбрать сапресс нужных свойств, но все равно полностью не догоняю в чем таки необходимость и велью
Просто?, а вот у меня не получается. Тогда если вам не сложно, прикрепите данный пример, но с отображением только одного метода (run() ) у объекта, но этот метод должен наследоватся (как и все остальные "свойства").
Короче это должен быть нормальный человеческий объект, а не гибрид.
« Последнее редактирование: 30 Марта 2008, 04:34:10 от riden »



Riden, ничем помочь не могу.

Попробуйте обратится на форум ЕА. Правда он англоязычный. Но по всей вероятности, вряд ли вам помогут. Объект либо отображает все, либо ничего



Цитировать
Если нет никаких решений, есть ли такая возможность в других средствах моделирования?
Собственно вопрос.

Или может это вообще ненужно, и в остальных средствах - также?
« Последнее редактирование: 30 Марта 2008, 23:49:37 от riden »



Или может это вообще ненужно, и в остальных средствах - также?

Может:) В остальных средствах - еще сложнее. Там вообще не отображаются наследуемые составляющие. При этом  они отображаются в списке наследуемых (только если позволяет видимость). Так что ЕА Вам просто позволяет делать то, что другие иструменты нет.

А вообще, никто не мешает Вам лично проделать нужные эксперименты, а потом рассказать нам



самое неприятное то...что вышеупомянутая тафталогия-тафтология пишется как тавтология. :)



самое неприятное то...что вышеупомянутая тафталогия-тафтология пишется как тавтология. :)
это ценное замечание, конечно тавтология :)



Тавтология тавтологией, а способ сделать то, что хотел riden, есть:
Выделяем элемент, щелкаем правой кнопкой мыши, выбираем Set Feature Visibility, в открывшемся окне в левой верхней части (там где списки визуализации для атрибутов и операций), жмем кнопку Custom, и в очередном окошке ставим галки у тех свойств, которые мы видеть не хотим.
На всякий случай, у меня это есть в версии ЕА7, вполне вероятно, что в более ранней этого не было.



Ира,

Ну ты шаман :) Может тебе уже представительство ЕА открывать в России.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Я не волшебник, я только учусь! (с)
Перед (или вместо) открытием представительства я бы с удовольствием съездила на родину кенгуру и ЕА, в гости к Спарксу :-)




 

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