Ветвление потока управления в EA(диаграмма последовательности)(Прочитано 14986 раз)
есть ли такой функционал в EA?
и расскажите пожалуйста подробно как им воспользоваться?
к сожалению поиск информации по данному вопросу не дал никаких результатов

задача которую хочу этим решить:отобразить альтернативные потоки сценария ВИ на этой диаграмме
картинку где это видел прилагаю.
спасибо.
сори не видел подраздела...
« Последнее редактирование: 20 Мая 2013, 21:14:07 от Skazo4Nick »



Примерно так, особо никакими справками не пользовался



подскажете как это у вас так получилось?)))))))))
то что на втором скриншоте...
я уже и справку всю облазил, и гугл прошерстил я этого понять не могу уже больше чем полгода... ну правда подскажите, а?)))
и английский я плохо знаю... да...



Судя по названиям диаграмм - uml2style и uml15style. В первом случае использовалась нотация UML 2, во втором - UML 1.5
Насколько я знаю, SPARX поддерживает обе нотации, но вторым вариантом я ни разу не пользовался. Мне тоже интересно.
« Последнее редактирование: 21 Мая 2013, 13:19:14 от Thinkler »
Vеritas odium parit



Простите за офтопик, но уж больно диаграмма в заглавном сообщении курьёзная. Интересно, какой смысл (кроме иллюстрации UML конструкций) в неё вкладывал автор? А. Леоненков, если не ошибаюсь.



Простите за офтопик, но уж больно диаграмма в заглавном сообщении курьёзная. Интересно, какой смысл (кроме иллюстрации UML конструкций) в неё вкладывал автор? А. Леоненков, если не ошибаюсь.
Виктор, вот вот я тоже, когда пытался изобразить ее никак не мог полностью ее повторить :)



подскажете как это у вас так получилось?)))))))))
Да вы меня сейчас совсем в краску вгоните. Неужели я такой сообразительный, елы палы.

1. Делаешь один lifeline
2. Делаешь второй lifeline
3. От 1 проводишь стрелку сообщения 1
4. От 1 проводишь стрелку сообщения 2
5. Жмешь правой кнопкой мыши по второму сообщению
6. Из контекстного меню выбираешь Branch with Previous Message - Сделай ветвью предыдущего сообщения - в свойствах сообщения есть разделы для условий и прочего



А. Леоненков, если не ошибаюсь.
не ошибаетесь) насколько я понял из прилагаемого текста именно виды конструкций там и перечислялись...
выбираешь Branch with Previous Message

Спасибо большое)))



Дело в том, что нарисован антипаттерн "Прикладная телепатия". Нижнее сообщение -- возврат -- отправляется 2-м объектом 1-му в ответ на сообщение от 3го. Но как второй узнаёт, что возврат должен произойти не отправителю сообщения, а другому объекту? Прикладная телепатия.



Дело в том, что нарисован антипаттерн "Прикладная телепатия".
хм... спасибо.



Дело в том, что нарисован антипаттерн "Прикладная телепатия". Нижнее сообщение -- возврат -- отправляется 2-м объектом 1-му в ответ на сообщение от 3го. Но как второй узнаёт, что возврат должен произойти не отправителю сообщения, а другому объекту? Прикладная телепатия.
Вот, что значит профи. +1



Вот, что значит профи. +1
Цитировать
Условием ветвления может служить сумма снимаемых клиентом средств со своего текущего счета. Если эта сумма превышает $1000, то могут потребоваться дополнительные действия, связанные с созданием и последующим разрушением объекта 4. Если же сумма превышает $50, но не превышает $1000, то управление передается объекту 3. И, наконец, если сумма не превышает $50, то управление получает объект 2. При этом объекты 1, 2 и 3 постоянно существуют в системе. Объект 4 создается, только если справедливо первое из альтернативных условий. В противном случае он может быть никогда не создан. После выполнения требуемых действий объекты 2 и 3 просто информируют объект 1 о завершении соответствующих операций, не требуя от него никаких действий (пунктирная стрелка).
вот что имел ввиду автор... только не пойму почему у него в тексте последнее предложение не совпадает с диаграммой.
так все таки нельзя делать?.. должен быть return напрямую к первому объекту?..



От следующей картинки только хуже. Сообщение из одной условной ветки приходит в активацию ("фокус") другой. Вот так фокус-покус. Описание не соответствует диаграмме.



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

Если хочется, чтобы во второй альтернативе взаимодействовали не только объекты Obj1 и Obj3, но и Obj3 и Obj2, то картинка будет такой:

а текст изменится на: Если же сумма превышает $50, но не превышает $1000, то управление передается объекту 3, который далее делает запрос к объекту 2, дожидается ответа и осуществляет возврат объекту 1.




 

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