Minggu, 17 Mei 2009

Collaboration Diagram


Apa itu Collaboration Diagram?

Collaboration diagram mirip dengan sequence diagram dalam hal tujuan yang ini dicapai; yaitu untuk menunjukkan interaksi dinamis dari obyek-obyek yang ada dalam suatu sistem. Yang membedakan collaboration diagram dari yang lain adalah diagram itu menunjukkan obyek-obyek dan asosiasi dengan obyek-obyek yang lain dalam sistem bersamaan dengan interaksinya. Asosiasi ini tidaklah dijelaskan dalam sequence diagram.

Suatu Collaboration diagram dengan mudah dapat direpresentasikan dengan obyek-obyek modelling dan asosiasi antar objek-objek tersebut yang berupa link-link (hubungan-hubungan). Interaksi antar objek ditunjukkan dengan anak panah. Dan untuk menunjukkan urutan dari mana objek ini berawal maka diberikan petunjuk yang berupa angka-angka.

Elemen-elemen dari suatu collaboration diagram:



Perbandingan dengan sequence diagram

Sequence diagram hanya menunjukkan objek-objek dan pesan-pesan yang ikut serta dalam interaksi tersebut serta urutan prosesnya. Tetapi tidak menunjukkan hubungan diantara objek-objek yang ada.

Actors, Instances, dan Objects


Actor



Suatu actor dalam suatu collaboration diagram merepresentasikan orang, software, atau hardware, atau agen eksternal lain yang memiliki interaksi dengan sistem itu.

Label
name

Instance



Suatu instance dalam collaboration diagram merepresentasikan kelas-kelas yang terlibat dalam diagram

Label
[instance-name][:instance-type]

instance-name adalah nama instance tersebut
instance-type adalah kelas dari instance tersebut

Collaboration diagrams biasa digunakan untuk:

Menyediakan suatu birds-eye view / helicopter view (pandangan menyeluruh) dari obyek-obyek yang berkolaborasi dalam suatu lingkungan yang nyata
  • Mengalokasikan fungsionalitas ke kelas-kelas dengan cara menjabarkan kebiasaan-kebiasaan yang terjadi dalam suatu sistemMembuatkan suatu model dari logika dari penerapan operasi yang kompleks, khususnya yang memiliki interaksi dengan obyek-obyek yang berjumlah banyak
Objects (Obyek)
Obyek-obyek berpartisipasi dalam suatu kolaborasi dalam dua hal, yaitu sebagai supplier dan klien. Obyek Supplier adalah obyek-obyek yang menyetorkan metode / cara yang akan dipanggil, dan olehkarenanya menerima message / pesan. Obyek-obyek klien akan memanggil metode / cara pada obyek supplier dan mengirimkan message / pesan.

Links (Garing Penghubung)
Garis penghubung yang digambarkan antara obyek-obyek dalam suatu collaboration diagram adalah link / penghubung. Link-link ini adalah yang membedakan antara collaboration diagram dengan sequence diagram. Mereka membuat kita bisa melihat hubungan antara obyek-obyek.

Setiap link merepresentasikan suatu relasi antara obyek-obyek dan mensimbolisasikan kemampuan dari suatu obyek untuk mengirimkan pesan / message antara satu dengan yang lainnya. Satu buah link dapat mendukung satu atau lebih pesan / message yang dikirimkan dari obyek satu ke obyek yang lain. Ini berbeda dengan sequence diagram, dimana garis yang digambarkan antara obyek-obyek menggambarkan message / pesan antara satu obyek dengan obyek yang lainnya.

Representasi visual dari suatu link adalah garis lurus antara dua buah obyek. Bila suatu obyek mengirimkan pesan / message kepada dirinya sendiri, link yang membawa message / pesan ini direpresentasikan berupa sebuah ikon loop. Loop ini dapat dilihat baik obyek UI (User Interface) maupun Obyek Transaksi.

Link dari suatu collaboration diagram secara langsung terkorelasi pada asosiasi antara kelas-kelas yang ada pada suatu kelas diagram. Sebagai contoh pada gambar berikut ini memperlihatkan asosiasi antara obyek Transaction dengan obyek Fine yang dijumpai pada suatu diagram kelas. Di bawah asosiasi kita bisa melihat link korespondensi antara dua obyek tersebut. Asosiasi dalam class diagram diterjemahkan menjadi sebuah link dalam collaboration diagram.

Messages
Message / pesan dalam collaboration diagram diperlihatkan sebagai anah panah yang mengarah dari obyek klien ke obyek supplier. Secara umum, message / pesan merepresentasikan suatu klien menjalankan operasi pada suatu obyek supplier.Ikon message memiliki satu atau lebih message-message / pesan-pesan yang terasosiasikan dengannya. Message-message terkomposisi dari message text dengan awalan nomer urutan. Nomor urut ini mengindikasikan urutan waktu dari message tersebut.



Membuat satu Collaboration Diagram

Ketika kita membuat suatu Collaboration diagram, kita harus menempatkan obyek-obyek paling penting yang berkenaan dalam kolaborasi tersebut pada tengah-tengah dari diagram. Ini akan membantu menciptakan suatu stage / panggung / gambaran jelas dari yang secara jelas menunjukkan relasi antara obyek-obyek yang berkolaborasi.

Ketika mendesain collaboration diagram dari scratch (nol) daripada membuatnya secara otomatis dari sequence diagram, maka langkah-langkah dasar berikut harus dilakukan:
  • Tentukan scope / cakupan dari diagram tersebut. Sebagaimana dengan sequence diagram, cakupand ari suatu collaboration diagram dapat berperanan.
  • Tempatkan obyek-obyek yang berpartisipasi dalam collaboration pada diagram. Ingatlah untuk menempatkan obyek-obyek paling penting sebisa mungkin mengarah pada tengah-tengah dari diagram.
  • Bila suatu obyek tersebut memiliki properti atau menjaga suatu kondisi yang penting pada kolaborasi itu, maka tentukan lah nilai awal dari properti atau kondisi tersebut.
  • Ciptakan link-link (hubungan) diantara obyek-obyek
  • Ciptakan message-message yang terasosiasikan dengan tiap link-nya.
  • Tambahkanlah nomor urutan dari tiap message yang terkorespondensi pada urutan waktu dari message-message yang ada dalam kolaborasi tersebut.

Contoh:



Contoh kasus dalam bentuk yang lebih mudah:

Aktor-Aktor yang ikut andil:



Collaboration diagram yang terbentuk:

3 komentar:

  1. based on the article, here are references to the research application via this link:

    http://repository.gunadarma.ac.id/bitstream/123456789/2470/1/076.pdf

    thank you

    BalasHapus