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

Общий раздел => ПО Аналитика => Sparx => Тема начата: anton.nagornyi от 05 Ноября 2009, 14:38:30

Название: Sparx EA, Sequence Diagram
Отправлено: anton.nagornyi от 05 Ноября 2009, 14:38:30
Доброго времени суток.

Помогите разобраться со следующим. Я только разбираюсь с UML в EA. Как добавить ещё один lifeline объекту? Насколько я понял из http://www.info-system.ru/designing/methodology/uml/theory/sequence_diagram_theory.html (http://www.info-system.ru/designing/methodology/uml/theory/sequence_diagram_theory.html) это реально в Rational Rose. Возможно ли это в EA?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 05 Ноября 2009, 14:54:57
Разными способами.

1. на созданную ранее диаграмму просто добавляете еще один объект-lifeline
2. Пр необходимости назначьте ему классификатор (ПКМ Advanced)

1. в браузере выберите нужный классификатор (класс)
2. перетащите его на вашу диаграмму как инстанс

Будут вопросы обращайтесь
Название: Re: Sparx EA, Sequence Diagram
Отправлено: anton.nagornyi от 05 Ноября 2009, 15:32:47
Спасибо за ответ. Я не совсем Вас понял. Предложенные Вами способы, дают возможность добавит ещё один lifeline объекта?
В итоге я хотел бы увидеть у объекта две пунктирные вертикальные линии причём вторая начинается по условию. Вот как здесь у объекта Object3 http://www.info-system.ru/designing/methodology/uml/theory/image/umlseq1.gif (http://www.info-system.ru/designing/methodology/uml/theory/image/umlseq1.gif)
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 05 Ноября 2009, 19:52:54
Насколько я знаю расщепления линии жизни в ЕА нет, не уверен что это возможно в некоторых других инструментах.

Расщепление сообщения вполне возможно как в стили нотации UML 1.5, так и UML 2.0. В последнем случае используются фреймы
Название: Re: Sparx EA, Sequence Diagram
Отправлено: anton.nagornyi от 05 Ноября 2009, 23:52:32
Спасибо за ответ. Думаю фреймворк(Fragment) то, что нужно!  :)
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 03 Февраля 2010, 12:03:01
еще пара вопросов в эту тему
1.Почему рвется фокус при возврате управления, после того как объект создан?
2 Как избавится от квадратных скобок во фрагменте "par" (или как разделить параллельные области)?
Диаграмма во вложении.
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 03 Февраля 2010, 13:41:16
еще пара вопросов в эту тему
1.Почему рвется фокус при возврате управления, после того как объект создан?
Фокус рвется, почему ответить не могу. В принципе можно задать объекту свойство Activate on Create, но фокус все равно рвется.

Цитировать
2 Как избавится от квадратных скобок во фрагменте "par" (или как разделить параллельные области)?
если вы используете фрейм "par", вы уже указываете, что сообщения идут паралелльно. Для отображения областей указываются условия этих областей, тогда квадратные скобки и появляются с текстом в них. Указывая при каком условии что будет происходить
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 03 Февраля 2010, 14:45:01
Цитата: Galogen
Фокус рвется, почему ответить не могу. В принципе можно задать объекту свойство Activate on Create, но фокус все равно рвется.
Глюк значит?
Цитата: Galogen
если вы используете фрейм "par", вы уже указываете, что сообщения идут паралелльно. Для отображения областей указываются условия этих областей, тогда квадратные скобки и появляются с текстом в них. Указывая при каком условии что будет происходить
фрейм "par" не подразумевает никаких условий!  или я ошибаюсь? если да то какой кроется смысл за этим?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 08 Февраля 2010, 09:19:18
Для того, чтобы обеспечить продолжение уровня активации (или фокуса управления), следует сделать следующее.

Выделить return сообщение.
Правой кнопкой мыши вызвать контекстное меню.
Выбрать Activations
и в попап меню выбрать Extend Source Activation Down
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 08 Февраля 2010, 11:30:52
выбрать Extend Source Activation Down
Проделал, но фокус рвется по прежнему, странно. EA v.7.5.845
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 08 Февраля 2010, 13:00:29
850, ничего не рвет, смотрите на активации вверх и вниз
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 08 Февраля 2010, 13:54:49
Немного не ту ситуацию вы описали на картинке(четыре стрелки вправо, а влево всего три). Я хочу изобразить создание объекта и явный возврат управления (одна стрелка вправо и одна влево), почему при этом фокус рвется?   
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 08 Февраля 2010, 16:25:24
Немного не ту ситуацию вы описали на картинке(четыре стрелки вправо, а влево всего три). Я хочу изобразить создание объекта и явный возврат управления (одна стрелка вправо и одна влево), почему при этом фокус рвется?   
Я могу ошибаться, но Вы не совсем правильно интерпретируете возврат,более того Вы принудительно делаете его Is Return (по умолчанию создается сплошная стрелка с подфокусом)

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

В том виде как вы хотите действительно соединить фокусы не удается
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 09 Февраля 2010, 09:12:37
Может я и не совсем правильно интерпретирую возврат.
Цитировать
Вы принудительно делаете его Is Return (по умолчанию создается сплошная стрелка с подфокусом)
По другому не знаю. Всегда создается сплошная стрелка, которой при необходимости "принудительно" выставляю Is Return.

Дело в том, что мы хотим показать, создание объекта  в конструкторе. В конструкторе осуществляем еще некоторые действия и только после этого возвращаем управление. И именно это не удается корректно изобразить (рвет фокус при возврате).
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 09 Февраля 2010, 11:49:02
Дело в том, что мы хотим показать, создание объекта  в конструкторе. В конструкторе осуществляем еще некоторые действия и только после этого возвращаем управление. И именно это не удается корректно изобразить (рвет фокус при возврате).
А что делается в конструкторе?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 09 Февраля 2010, 14:21:31
В конструкторе осуществляется подписка на некоторые объекты, присоединение ссылок на некоторые объекты и пока все.
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 09 Февраля 2010, 14:45:57
В конструкторе осуществляется подписка на некоторые объекты, присоединение ссылок на некоторые объекты и пока все.
Хорошо пусть так. А зачем обязательно указывать возврат? Вы из родительского объекта послали команду - вызов конструктора дочернего объекта - реально это инстанцирование. Зачем нужно делать возврат непременно?

И вообще зачем нужно указывать фокусы? Может их отключить, чтобы они вас не отвлекали?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 10 Февраля 2010, 09:48:51
Цитировать
Зачем нужно делать возврат непременно?
Хотим указывать все вызовы и возвраты!
Цитировать
И вообще зачем нужно указывать фокусы? Может их отключить, чтобы они вас не отвлекали?
Конечно можно. Ну это же только уход от проблемы. Тем более с фокусами наглядней начало и конец конструктора (а если он не один и вложенные).
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 10 Февраля 2010, 10:04:54
Хотим указывать все вызовы и возвраты! Конечно можно. Ну это же только уход от проблемы. Тем более с фокусами наглядней начало и конец конструктора (а если он не один и вложенные).
Я не настолько компетентен по поводу фокусов, но есть подозрение что мы понимаем под фокусом нечто разное
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 15 Февраля 2010, 11:36:05
Цитировать
есть подозрение что мы понимаем под фокусом нечто разное
я имел в виду прямоугольник на линии жизни (активация объекта).
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 15 Февраля 2010, 11:52:26
я имел в виду прямоугольник на линии жизни (активация объекта).
я не про форму, а про содержание
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 18 Февраля 2010, 14:20:56
Подскажите как на диаграмме последовательности отобразить состояние объекта?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 18 Февраля 2010, 14:49:57
Подскажите как на диаграмме последовательности отобразить состояние объекта?
Изобразить то не сложно.
Если есть диаграмма состояний для классификатора данного объекта, то просто с нее (из браузера) перетаскиваем на линию жизни нужные состояния.

Или берем из Tool Box State/Continuation, правда что с этим явно делать я так и не догадался, кроме как сделать изображение
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 19 Февраля 2010, 07:28:39
Вот и у меня такой же вопрос возник))).
спасибо.
Название: Re: Sparx EA, Sequence Diagram
Отправлено: viking от 08 Апреля 2010, 11:42:56
Можно ли сиквенс диаграмме автоматически пронумеровать действия?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 08 Апреля 2010, 18:52:53
Можно ли сиквенс диаграмме автоматически пронумеровать действия?
Не, ну да чего, интернет доводит, совсем народ обленился. Открыть справку и поискать - кому это надо, если есть всезнайка - некий интернет, который даст ответы почти на все вопросы.

Tools/Options/Sequence/Show Sequence Numbering
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 14 Апреля 2010, 13:19:31
Возникло еще пару вопросов по диаграмме последовательности:
1. Как показать широковещательную посылку сигналов?
(для этого использовать черный кружок Endhoint?)
2. Как показать периодическую посылку сигналов?
Понятно что сигнал поместить в Loop, но с какой частотой этот цикл будет лупить? Мы хотим отразить тот факт что сигнал должен посылаться периодически раз в секунду.
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 14 Апреля 2010, 15:27:04
1. Как показать широковещательную посылку сигналов?
(для этого использовать черный кружок Endhoint?)
Не совсем ясно, что понимается под широковещательностью

Цитировать
2. Как показать периодическую посылку сигналов?
Понятно что сигнал поместить в Loop, но с какой частотой этот цикл будет лупить? Мы хотим отразить тот факт что сигнал должен посылаться периодически раз в секунду.
Диаграмма последовательности описывает некоторый сценарий взаимодействий между объектами. По своему смыслу диаграмма последовательностей конечна, т.е. у нее есть начало и есть завершение.
Периодичность отправки сигнала действительно показываем с помощью Loop, однако понимаем, что этот Loop не бесконечен, т.е. в условиях мы покажем каждую секунду отправлять сообщение, но в пределах некоторого заданного времени или пока выполняется некоторое условие.
К тому же дать более определенный ответ сложно без общей семантики решаемой задачи
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 15 Апреля 2010, 13:21:51
1.
Цитировать
Не совсем ясно, что понимается под широковещательностью
Это означает что сигнал отправляется безадресно (Пример: Радиостанция вещает в среду волну, на которую могут настраиваться множество приемников).
2.
Цитировать
Периодичность отправки сигнала действительно показываем с помощью Loop, однако понимаем, что этот Loop не бесконечен, т.е. в условиях мы покажем каждую секунду отправлять сообщение, но в пределах некоторого заданного времени или пока выполняется некоторое условие.
Тоесть  сторожевое условие мы описываем неформально типа [1 раз в секунду]?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Galogen от 15 Апреля 2010, 16:17:15
1.Это означает что сигнал отправляется безадресно (Пример: Радиостанция вещает в среду волну, на которую могут настраиваться множество приемников).
Да но кто у  вас будет принимать эти сообщения, от кого они будут исходить. Если - это нечто внешнее, то скорее всего актор или как вы говорили из начального псевдосостояния. Однако важно помнить, что диаграмма последовательности обычно рисуется в рамках исполнения некоего сценария в контексте одного варианта использования. Т.е. даже с учетом широковещательности, вряд ли каждый объект-участник сценария у вас будет получать эти сообщения. Помнится на связанной с диаграммой последовательности диаграмме коммуникации можно изображать мультиобъект, т.е. множество экземпляров одного классификатора (если это ваш случай)

2.Тоесть  сторожевое условие мы описываем неформально типа [1 раз в секунду]?
Да конечно. Выражение можно описывать с помощью OCL или другого формального языка. Все зависит от того будете ли использовать кодогенерацию по диаграмме (если вообще такая возможность) или программист кодирует вручную, следуя правилам вашей диаграммы

В качестве ответа на ваш вопрос посмотрите вот эту ссылку http://blog.it-konsulting.spb.ru/?p=397
Ответ в целом однозначный широковещательность показать на диаграмме последовательностей явно нельзя
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 19 Апреля 2010, 10:03:24
Спасибо за ответ и за ссылку.
Подскажите а как нарисовать рамку диаграммы (хочу отразить что сигнал приходит из внешней среды и отправляется во внешнюю сеть), в справочнике и спецификации видел такую нотацию.
Название: Re: Sparx EA, Sequence Diagram
Отправлено: Денис Иванов от 19 Апреля 2010, 11:24:44
Это (http://blog.it-konsulting.spb.ru/?p=249) имеется в виду?
Название: Re: Sparx EA, Sequence Diagram
Отправлено: varg от 20 Апреля 2010, 08:46:12
Это, это, вот как эту рамку рисовать?
Условный фрагмент понятно как в диаграмму вставить, а как внешнюю рамку для диаграммы, к которой можно вызовы прицепить незнаю.