Diagram współpracy jest rodzajem diagramu interakcji zunifikowanego języka modelowania (UML), który podkreśla strukturalną organizację obiektów w projektowaniu systemów komputerowych programowania zorientowanego obiektowo (OOP). Diagram współpracy przedstawia wzajemne relacje obiektów. Tworzenie tych diagramów może wymagać umiejętności technicznych i szkolenia. Centralna organizacja zarządzająca kontroluje standardy UML i nadal ewoluują.
W obiektach obiektowych obiekt jest enkapsulowaną jednostką złożoną z atrybutów i zachowań, a termin obiekt często odnosi się do typu złożonych danych. Na przykład obiekt może składać się z danych pozycji magazynowych i różnych funkcji służących do pobierania i poprawiania tych danych. Myślenie o danych, atrybutach i zachowaniach jako obiektach może uprościć proces modelowania i rozwoju.
Element obiektu jest kluczowym elementem diagramu współpracy. Obiekty mogą wchodzić ze sobą w interakcje. Na przykład obiekt zamówienia zakupu może wchodzić w interakcję z obiektem magazynowym w celu modelowania wpływu odbierania towarów na zamówienie zakupu na magazyn. Diagram może pokazywać rolę klasową dla każdego obiektu, którą można również opisać jako obowiązki dla tego obiektu.
Drugim elementem jest element relacji lub asocjacji. Ten element przedstawia łącze, które łączy skojarzone obiekty i wskazuje, jak będzie się zachowywać skojarzenie w tej sytuacji. Może być również używany do pokazania kardynalności. Kardynalność to wymagana relacja między danymi w dwóch obiektach, na przykład relacja jeden do jednego lub jeden do wielu.
Komunikaty to trzeci element diagramów współpracy. Są one przedstawione jako strzałki wskazujące od obiektu początkowego do obiektu końcowego. Do wiadomości można dodać numerację, aby pokazać sekwencję czasową interakcji obiektów.
Diagram współpracy jest podobny do diagramu sekwencji, ponieważ oba pokazują, w jaki sposób obiekty wchodzą ze sobą w interakcje w dynamicznych relacjach lub w oparciu o czas. Niektóre programy do modelowania UML mogą konwertować diagramy sekwencji na diagramy współpracy i odwrotnie ze względu na ich podobieństwa. Relacje dynamiczne można łatwiej uchwycić na diagramach sekwencji, podczas gdy diagramy współpracy bardziej efektywnie przedstawiają połączenia między obiektami.
Tworzenie diagramów współpracy wymaga umiejętności technicznych. Zadanie to często przypisywane jest analitykowi systemów komputerowych. Analitycy tworzący modele używają diagramów przypadków, diagramów klas i diagramów sekwencji do zbierania informacji o systemie potrzebnych do tworzenia diagramów. Ponadto modele są zwykle tworzone przy użyciu specjalnego oprogramowania, którego obsługa może wymagać przeszkolenia.
Standardy UML są opracowywane przez Object Management Group. Standardy wciąż się rozwijają, w wyniku czego konwencje modelowania diagramów mogą ulec zmianie. Na przykład nowsze notacje UML wykorzystują diagram komunikacji jako uproszczoną wersję diagramu współpracy.