Diagram kolaborasi adalah jenis diagram interaksi Unified Modeling Language (UML) yang menyoroti organisasi struktural objek dalam desain sistem komputer Pemrograman Berorientasi Objek (OOP). Diagram kolaborasi menggambarkan hubungan objek satu sama lain. Diagram ini membutuhkan keterampilan teknis dan pelatihan untuk membuatnya. Sebuah organisasi yang mengatur pusat mengontrol standar UML, dan mereka terus berkembang.
Dalam OOP, sebuah objek adalah entitas yang dienkapsulasi yang terdiri dari atribut dan perilaku, dan istilah objek sering mengacu pada jenis data yang kompleks. Misalnya, suatu objek mungkin terdiri dari data item inventaris dan berbagai fungsi untuk mengambil dan merevisi data tersebut. Memikirkan data, atribut, dan perilaku sebagai objek dapat menyederhanakan proses pemodelan dan pengembangan.
Elemen objek adalah elemen kunci dalam diagram kolaborasi. Objek dapat berinteraksi satu sama lain. Misalnya, objek pesanan pembelian dapat berinteraksi dengan objek inventaris untuk memodelkan efek penerimaan item pada pesanan pembelian terhadap inventaris. Diagram dapat menunjukkan peran kelas untuk setiap objek, yang juga dapat digambarkan sebagai tanggung jawab untuk objek itu.
Elemen kedua adalah elemen relasi atau asosiasi. Elemen ini menggambarkan tautan yang menghubungkan objek terkait dan menunjukkan bagaimana asosiasi akan berperilaku dalam keadaan ini. Ini juga dapat digunakan untuk menunjukkan kardinalitas. Kardinalitas adalah hubungan yang diperlukan antara data dalam dua objek, seperti hubungan satu ke satu atau satu ke banyak.
Pesan adalah elemen ketiga dalam diagram kolaborasi. Mereka digambarkan sebagai panah yang menunjuk dari objek awal ke objek akhir. Penomoran dapat ditambahkan ke pesan untuk menunjukkan urutan waktu interaksi objek.
Diagram kolaborasi mirip dengan diagram urutan karena keduanya menunjukkan bagaimana objek berinteraksi satu sama lain dalam hubungan yang dinamis, atau berdasarkan waktu. Beberapa program pemodelan UML dapat mengubah diagram urutan menjadi diagram kolaborasi dan sebaliknya karena kesamaannya. Hubungan dinamis lebih mudah dipahami dari diagram urutan, sedangkan diagram kolaborasi menggambarkan hubungan antara objek lebih efektif.
Diagram kolaborasi membutuhkan keterampilan teknis untuk membuatnya. Tugas ini sering diberikan kepada seorang analis sistem komputer. Analis yang membuat model menggunakan diagram kasus, diagram kelas, dan diagram urutan untuk mengumpulkan informasi tentang sistem yang diperlukan untuk mengembangkan diagram. Selain itu, model biasanya dibuat menggunakan perangkat lunak khusus, yang mungkin memerlukan pelatihan untuk digunakan.
Standar UML dikembangkan oleh Object Management Group. Standar terus maju, dan sebagai hasilnya konvensi pemodelan diagram dapat dimodifikasi. Misalnya, notasi UML yang lebih baru menggunakan diagram komunikasi sebagai versi sederhana dari diagram kolaborasi.