Может ли кто-нибудь объяснить мне, в чем разница между диаграммой последовательности и диаграммой связи?
В чем разница между диаграммой последовательности и диаграммой связи?
Ответы (5)
Обе диаграммы дают одну и ту же информацию, но диаграмма последовательности делает акцент на времени в своей схеме, а диаграмма связи — на объектах, которые взаимодействуют друг с другом.
Время неявно указано в диаграммах последовательности (оно выводится по вертикальному положению), в то время как в коммуникационных диаграммах оно указано явно (через числа).
Чтобы процитировать Скотта Амблера
Основное различие между коммуникационными диаграммами и диаграммами последовательности заключается в том, что диаграмма последовательности хорошо показывает последовательную логику, но не так хороша, чтобы дать вам «общее представление», тогда как коммуникационные диаграммы — полная противоположность.
подчеркивая порядок сообщений во времени (используя диаграммы последовательности)
подчеркивание структурных отношений между взаимодействующими объектами (с использованием коммуникационных диаграмм).
ссылка: руководство пользователя UML
Диаграммы последовательности иллюстрируют взаимодействия в виде ограждения, в котором каждый новый объект добавляется справа.
Что это может означать в коде? Вероятно, в этом классе A есть метод с именем doOne и атрибут типа B. Кроме того, в этом классе B есть методы с именами doTwo и doThree. Возможно, частичное определение класса А:
public class A
{
private B myB = new B();
public void doOne()
{
myB.doTwo();
myB.doThree();
}
// . .
}
Коммуникационные диаграммы иллюстрируют взаимодействие объектов в графическом или сетевом формате, в котором объекты могут быть размещены в любом месте диаграммы (суть их преимущества в набросках стен).
Каковы сильные и слабые стороны диаграмм последовательности и коммуникативных диаграмм?
У каждого типа диаграмм есть свои преимущества, и у разработчиков моделей есть свои предпочтения — абсолютно «правильного» выбора не существует. Однако инструменты UML обычно делают упор на диаграммы последовательности из-за их большей мощности обозначений.
Диаграммы последовательности имеют некоторые преимущества перед коммуникационными диаграммами. Возможно, в первую очередь, спецификация UML больше ориентирована на диаграммы последовательности — больше внимания и усилий было уделено нотации и семантике. Таким образом, поддержка инструментов лучше, и доступно больше вариантов обозначений. Кроме того, последовательность потоков вызовов легче увидеть с помощью диаграмм последовательности — просто читайте сверху вниз. С коммуникационными диаграммами мы должны читать порядковые номера, такие как «1:» и «2:». Таким образом, диаграммы последовательности отлично подходят для документирования или для простого чтения реконструированной последовательности потока вызовов, сгенерированной из исходного кода с помощью инструмента UML.
Но, с другой стороны, коммуникационные диаграммы имеют преимущества при применении «UML в качестве эскиза» для рисования на стенах (практика гибкого моделирования), поскольку они намного более компактны. Это связано с тем, что блоки можно легко разместить или стереть в любом месте — горизонтальном или вертикальном. Следовательно, изменять наброски стен также проще с помощью коммуникационных диаграмм — легко (во время творческих работ по объектно-ориентированному проектированию с большими изменениями) стереть прямоугольник в одном месте, нарисовать новый в другом месте и начертить к нему линию. Напротив, новые объекты в диаграммах последовательности всегда должны добавляться к правому краю, что является ограничением, поскольку быстро занимает и исчерпывает пространство правого края на странице (или на стене); свободное пространство в вертикальном измерении используется неэффективно. Разработчики, рисующие диаграммы последовательности на стенах, быстро чувствуют боль рисования по сравнению с коммуникационными диаграммами.
Фундаментальное правило объектно-ориентированного проектирования — использование разных диаграмм для разных целей. В этом отношении диаграммы последовательности используются для моделирования последовательной логики, а для демонстрации поведения нескольких объектов, взаимодействующих вместе для выполнения общей цели, могут использоваться диаграммы связи, ранее известные как диаграммы взаимодействия в UML 1.x. - Подробнее >> здесь ‹‹ и >> здесь ‹‹< /а>
Ссылка ниже является кратким ответом на разницу между диаграммой последовательности и связью. Пожалуйста, обратитесь к нему.
разница между диаграммой последовательности и общением