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

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Vadim

Страницы: 1 2 »
1
Как на диаграмме классов показать, что атрибут является уникальным. Свойство атрибута "Является Уникальным (Unique)" имеет значение "true", но на диаграмме этого не видно.

2
Как сделать чтобы на диаграмме были видны значения is Covering и is Disjoint, а не только Name?

3
Если после Действия1 необходимо дождаться События и после этого выполнять Действие2 - см. вложение 1.
Если после Действия1 необходимо пропустить время и после этого выполнять Действие3 - см. вложение 2.
А если после Действия1 необходимо выполнить: если произойдет Событие до истечения времени - Действие2, если время истечет раньше - Действие3. Варианты - вложения 3 и 4.

4
В "A Crash Course in UML State Machines" http://www.state-machine.com/doc/AN_Crash_Course_in_UML_State_Machines.pdf имеется (лист 28) диаграмма, как во вложении.
Вопрос: почему для состояний result и begin заведено композитное состояние ready, а для ready и negated1 - нет?

5
Generalization Set (для определенности будем рассматривать только {disjoint, complete}) могут быть:
  • любой объект не может изменить свой подкласс, например суперкласс - Человек, подклассы - Мужчина, Женщина
  • любой объект может изменить свой подкласс, например суперкласс - Человек, подклассы - Одинок, В браке, Разведен, Вдов
Как это можно формально отразить на диаграмме классов?

Есть такой вариант - делаем ассоциацию с PowerType (1 Пол, 2 СемейноеПоложение) и указываем или не указываем {readOnly} на конце ассоциации, примыкающем к PowerType. Но он такой громоздкий, хотелось бы чего-нибудь попроще!

6
Версия MagicDraw 16.5. Не могу создать связь подкласс-суперкласс, если суперкласс - класс-ассоциация, а подкласс - просто класс (не ассоциация).
Если пытаюсь перенести уже созданную (между классом и классом) связь - выдает сообщение-предупреждение: "Между этими элементами отношения заблокированы или не разрешаются".
Может есть какой-то вариант?
Кстати в обратную сторону сделать класс-ассоциацию подклассом просто класса - работает!

7
Есть класс "Склад" с атрибутом "ФИО Кладовщика", значение атрибута может меняться (не frozen).
Есть класс "Накладная", который связан со "Складом" ассоциацией * к 1 (накладная относится к ровно одному складу, склад связан с любым количеством "Накладных").
Пусть (хоть это и неважно) "Склад" у "Накладной" не может меняться (frozen).
У класса "Накладная" тоже есть атрибут "ФИО Кладовщика", который должен получить значение равное значению атрибута "ФИО Кладовщика" из "Склада" в момент создания "Накладной", и дальше менять значение этого атрибута нельзя.
Как обозначить эту ситуацию на диаграмме классов?
Сделать атрибут "Накладная" "ФИО Кладовщика" frozen мало - надо как-то объяснить как он вычисляется.
Сделать атрибут "Накладная" "ФИО Кладовщика" derived с ограничением "derive: ФИО_Кладовщика = Склад.ФИО_Кладовщика" нельзя - при изменении "Склад" "ФИО Кладовщика" его значение будет изменено.
Сделать атрибут "Накладная" "ФИО Кладовщика" frozen и derived тоже нельзя - это будет означать, что при наличии хотя бы одной "Накладной" у связанного "Склада" не может измениться  значение "ФИО Кладовщика".
Похоже использование derived вообще недопустимо - мы имеем дело не с избыточным элементом, удаление которого не меняет ничего.
Конечно, всегда есть такое средство, как комментарий - пиши, что хочешь! Но ситуация ничего экстраординального из себя не представляет, хотелось обойтись стандартными средствами!

8
Есть исходная диаграмма (вложение 1).
Поскольку из ВСЕХ подсостояний состояния "забирание" есть переходы по событию "сохранить" с очень схожими свойствами, хочется повысить выразительность диаграммы (графически подчеркнуть наличие перехода по событию "сохранить" из любого подсостояния и схожесть результатов такого перехода).
Для подсостояний "ОК" и "ошибка" решение простое: объединяем их композитным состоянием "нет" и переход "сохранить" делаем от этого композитного состояния (вложение 2).
Для подсостояний "ОК" и "есть" тоже есть вариант: объединяем их композитным состоянием с псевдосостоянием истории и переход делаем от этого композитного состояния к псевдосостоянию истории (вложение 3).
Для всех подсостояний получилось как-то "некрасиво" (вложение 4).
Может есть идеи?

9
На диаграмме 1 из State1 по событию b произойдет переход в State2.
На диаграмме 2 из State1 по событию b произойдет переход в State3.
А куда и почему произойдет переход из State1 по событию b На диаграмме 3?

10
EA 9.0.908
Производный полюс ассоциации - заполняем Association Properties->Source/Target Role->Constraint(s) и видим на диаграмме, если Diagram->Properties..->Connectors->Show Connector Property String
Производный атрибут - заполнить вроде можно Attributes->Rules->Constraints, а как увидеть на диаграмме? Если есть решение для других версий - тоже подойдет.

11
Переход от псевдосостояния истории не должен выходить за рамки композитного состояния, к которому это псевдосостояние истории относится (хотя в UML 2.5 нет такого ограничения) - его целью является что-то внутри этого композитного состояния (внутри не обязательно непосредственно внутри - целью может быть и подсостояние подсостояния).
Не имеет смысла, чтобы целью такого перехода было псевдосостояние истории, которое относится к тому же самому композитному состоянию (само исходное или другое псевдосостояние истории - UML 2.5 не запрещает наличие 2 псевдосостояний истории, лишь бы одно из них было глубоким, а другое нет).
А возможен ли переход от псевдосостояния истории к псевдосостоянию истории композитного подсостояния?
Думаю, что ответ на этот вопрос зависит от вот какого момента в семантике: если происходит выход из композитного состояния через финальное состояние, то история этого композитного состояния сбрасывается, а вот сбрасываются ли истории его композитных подсостояний?

12
В процессе проработки http://www.uml2.ru/forum/index.php?topic=6532.msg40739#msg40739всплыл вопрос о лучшем диаграммировании ситуации из вложения.
Все SetGeneralization полные (complete) и непересекающиеся (disjoint).
Недостаток: Transition обобщает IncomingTransition и OutgoingTransition, а на диаграмме этого явно не видно.

13
Есть известная диаграмма (во вложении).
Если в состоянии DisplayAlarmTime & PlayingCD происходит событие Radio, то в какое наступит состояние:
  • DisplayAlarmTime & PlayingRadio (правило: если во внутреннем переходе для региона нет никаких указаний, то текущее состояние в регионе не изменяется)
  • DisplayCurrentTime & PlayingRadio (правило: если в переходе в параллельное композитное состояние для региона нет никаких указаний, то текущее состояние в регионе определяется начальным псевдосостоянием)?

14
Sparx / атрибут readOnly
« : 03 Августа 2015, 09:37:00 »
Не могу найти как в 12 версии делать атрибут readOnly. В модели (сделанной в 9 версии) {readOnly} даже видно на диаграмме, но неясно где в 12 версии это можно задать/редактировать.

15
UML SysML и пр. / Ассоциация внутри класса
« : 20 Сентября 2013, 15:46:29 »
В книге "The Unified Modeling Language Reference Manual" на странице 230 есть Figure 13-70 http://msdl.cs.mcgill.ca/people/tfeng/docs/The%20Unified%20Modeling%20Language%20Reference%20Manual.pdf (во втором издании аналогично на странице 268 есть Figure 14-84 http://www.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--UML_2.0_Reference_CD.pdf). В рускоязычном издании тоже есть.

Мне такой прием понравился тем, что для часто встречающегося типа ограничения имеется выразительная нотация. Других примеров и/или описания особенностей применения найти не удалось (стандарт очень "скуп" на этот счет, а учебники по UML - еще скупее).

Если есть какая-нибудь информация и/или заинтересованность по этой теме - буду рад получить отклик.

Страницы: 1 2 »