Диаграмма последовательности. Как правильно использовать?(Прочитано 36736 раз)
greesha, мне интересно посмотреть на вашу диаграмму последовательности, когда клиент посылает повторные сообщения, а особенно ситуацию, когда повторный запрос где-то там сталкивается с ответом на первый запрос.

Я бы так представил это. Есть ПРОТОКОЛ - конечный набор НЕЗАВИСИМЫХ хороших и плохих ситуаций, возникающих при взаимодействии нескольких элементов системы. Каждую такую ситуацию можно описать ДП. Некоторые ситуации можно описать и одной ДП, если они не сильно отличаются. Но в общем случае суперпозицию нескольких ситуаций нельзя описать ДП. Мы получим то, что вот тут изображали

Эти суперпозиции конечно имеют место быть, но описываются они другими средствами. Например, задачу, которая поставлена в начале этого сообщения я могу решить только с помощью диаграмм деятельности или автомата.



Ты сказал что между ДП и Диаграммой деятельностью - много общего (ну или много отображаемое на ДП, можно отобразить на ДД без потери смысла - так я понял? ) Нельзя пример?
Это действительно можно сделать в большом количестве случаев. В основном за счет составных шагов взаимодействия.

Эдуард, давай так поступим. Ты даешь пример диаграммы деятельности или автомата, а я рисую диаграмму последовательности (или объясняю почему в данном конкретном случае этого нельзя сделать:) )



greesha, мне интересно посмотреть на вашу диаграмму последовательности, когда клиент посылает повторные сообщения, а особенно ситуацию, когда повторный запрос где-то там сталкивается с ответом на первый запрос.

Всё хорошее, что у меня есть, мы получили под NDA. А в том, что распространяется свободно, нет ничего достойного внимания.

Но одно могу сказать сразу: формально нотации UML эти диаграммы не соответствуют, хотя при желании их можно однозначно отобразить на "правильные" диаграммы последовательности.

Доберусь до работы - попробую найти что-нибудь несекретное.
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



Выглядит это примерно вот так.
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



Цитировать
Эдуард, давай так поступим. Ты даешь пример диаграммы деятельности или автомата, а я рисую диаграмму последовательности (или объясняю почему в данном конкретном случае этого нельзя сделать:) )
Давай наоборот? :)

Вот несколько примеров из книги UML2 и унифицированный процесс Джима Арлоу и Айла Нейштадта



Зачем нужны диаграммы последовательностей?

По материалам Факультета Прикладной математики


Цитировать
ДП создаются с тремя следующими целями.

Нужно наделить классы поведением. Классы были выделены во время робастного анализа. На этапе построения ДП контроллеры превращаются в методы классов. Однако не обязательно должно быть соответствие 1:1 между контроллерами и методами. Часто контроллер превращается в два или более метода. Также возможно, что контроллер станет управляющим классом.

Нужно подробно показать, как классы взаимодействуют между собой при выполнении сценария.

Нужно завершить распределение методов между классами. Во время робастного анализа должна была быть выявлена большая часть атрибутов классов и небольшая часть методов. Можно сказать, что мы применяем двухпроходный алгоритм.  На этапе предварительного проектирования нужно было думать, в основном, о выделении атрибутов сущностей. При этом на вопрос «кто что с кем делает» ответ не давался. Второй проход как раз дает ответ на этот вопрос.

Цитировать
Замечание 1. Сообщения, методы, функции, глаголы и контроллеры – всё это по описывает одно и то же – поведение, которым вы наделяете класс. В этом как раз помогает диаграмма последовательностей.

Замечание 2. UML 2.0 позволяет изобразить на диаграмме последовательностей алгоритм полностью. Но этого не стоит делать, поскольку это отвлечет от основной цели, для которой мы применяем ДП. Поскольку нашей задачей является получение программного обеспечения на основе вариантов использования, то важно правильно наделить классы поведением. Следовательно, на диаграммах последовательностей должно быть видно, что эта задача решена правильно. Если вы сосредоточитесь на составлении алгоритма, то с большой вероятностью не решите задачу правильного распределения операций между классами.

Составим диаграмму последовательностей: 4 основных этапа (см. вложение)
«Сделай первый шаг, и ты поймешь, что не все так страшно.»
-- L. A. Seneca --



Не будет ли точнее заменить "поведение класса" на "обязанности класса"? Также, мне кажется, что у диаграмм последовательности есть и другие назначения.




 

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