Oba diagramy pokazują interakcję#
Diagram sekwencji i diagram komunikacji są diagramami interakcji UML. Mogą przedstawiać tych samych uczestników i komunikaty, ale kładą nacisk na inne aspekty. Sekwencja pokazuje porządek wzdłuż pionowej osi czasu i ułatwia analizę kolejności, alternatyw oraz aktywacji. Diagram komunikacji skupia się na powiązaniach między uczestnikami; kolejność komunikatów zapisuje się za pomocą numeracji.
W sekwencji od góry do dołu widać, że system najpierw sprawdza dostępność, a potem wysyła potwierdzenie. Diagram komunikacji przedstawiłby podobne wiadomości przy połączeniach między uczestnikami, z numerami typu 1, 1.1 i 2. W dużej interakcji często łatwiej odczytać chronologię z sekwencji, a topologię współpracy z komunikacji.
Kiedy wybrać sekwencję#
Wybierz diagram sekwencji, gdy najważniejsze są kolejność komunikatów, odpowiedzi, czasowe aktywacje, warunki, pętle lub alternatywne przebiegi. Pionowa oś czasu intuicyjnie porządkuje interakcję i ułatwia powiązanie jej z konkretnym scenariuszem przypadku użycia.
Sekwencja dobrze pokazuje wywołania synchroniczne i asynchroniczne, samowywołania, tworzenie i zakończenie linii życia oraz fragmenty alt, opt, loop i par. Przy dużej liczbie uczestników i komunikatów diagram może jednak stać się szeroki i długi. Rozważ podział interakcji na kilka widoków lub użycie odwołań do innych interakcji.
Kiedy wybrać komunikację#
Diagram komunikacji jest przydatny, gdy chcesz pokazać, które obiekty są ze sobą powiązane i jak rozkładają się komunikaty w sieci współpracowników. Łączy elementy układu strukturalnego z opisem interakcji; wiadomości są numerowane, by określić kolejność i zagnieżdżenie.
Wybierz go, gdy rozmowa dotyczy odpowiedzialności sąsiadujących obiektów albo zależności komunikacyjnych, a dokładna oś czasu nie jest centralna. Przy wielu sekwencyjnych i zagnieżdżonych komunikatach numeracja może stać się trudna do śledzenia, dlatego sekwencja bywa czytelniejsza.
Informacja wspólna i odmienna#
Oba diagramy opisują komunikaty między liniami życia i mogą pokazywać warunki, pętle oraz fragmenty interakcji. Zmiana perspektywy nie zmienia samego zachowania, które modelujesz. To różne notacje widoku interakcji, nie dwie różne wersje implementacji.
Sekwencja uwydatnia porządek pionowy i aktywacje; komunikacja uwydatnia połączenia między uczestnikami i używa numerowania do odtworzenia kolejności. Żaden nie jest automatycznie dokładniejszy. Dobry diagram pomija szczegóły niepotrzebne dla pytania, na które ma odpowiedzieć.
Jak podjąć decyzję#
- Jeśli odbiorca pyta „co dzieje się najpierw, a co potem?”, wybierz sekwencję.
- Jeśli pyta „które obiekty współpracują i przez jakie połączenia?”, rozważ komunikację.
- Jeśli przebieg ma wiele gałęzi i powrotów, sprawdź czytelność numeracji; sekwencja może być prostsza.
- Jeśli oś czasu wymaga tylko kilku komunikatów, oba diagramy mogą działać — wybierz format używany przez zespół.
- Nie twórz dwóch diagramów tylko po to, by pokazać tę samą interakcję drugi raz. Użyj obu, gdy każdy odpowiada na osobne pytanie.
Najczęstsze błędy#
- Sekwencja utożsamiona z komunikacją. To różne diagramy interakcji, z odmiennym naciskiem wizualnym.
- Położenie poziome sekwencji odczytane jako czas. Chronologię przedstawia oś pionowa.
- Kolejność komunikacji pozostawiona bez numerów. Numerowanie jest potrzebne, by odtworzyć porządek wiadomości.
- Numery wiadomości uznane za czas trwania. To kolejność i zagnieżdżenie, nie miara czasu.
- Struktura połączeń wywnioskowana z samej sekwencji. Sekwencja nie musi pokazywać trwałych asocjacji między uczestnikami.
- Zbyt wiele komunikatów na jednym diagramie. Podziel scenariusz, jeśli traci czytelność.
- Zduplikowane widoki bez celu. Każdy diagram powinien dostarczać odrębnej wartości.
Podsumowanie#
Diagram sekwencji jest najlepszy, gdy trzeba czytać chronologię i aktywacje. Diagram komunikacji lepiej uwydatnia połączenia między współpracującymi obiektami, a kolejność koduje numerami. Wybieraj widok zgodnie z pytaniem, a nie jako konkurujące reprezentacje zachowania.