Collaboration Diagram Communication Diagram Oleh Cosmas Haryawan Pengenalan
Collaboration Diagram / Communication Diagram Oleh : Cosmas Haryawan -- Pengenalan UML -Dari berbagai sumber Cosmas H @ akakom 2010 1
Pendahuluan n n Menunjukkan Hubungan Antar Obyek Menunjukkan message 2 obyek yang dikirimkan satu sama lain equivalent dengan Sequence Diagram dan bisa saling dipertukarkan Seq. Diagram menggambarkan skenario berdasar urutan waktu Coll. Diagram menggambarkan ke konteks dan organisasi keseluruhan dari obyek yang saling berinteraksi 2
Collaboration n n Collaboration Diagram mendeskripsikan pola interaksi antar object. Diagram ini menunjukkan object-object yang terlibat dalam interaksi melalui link dan message yang dikirim antar object Object dapat direpresentasikan: q q q n n Nama. Object: Nama. Class Nama. Object : Nama. Class Link adalah hubungan antar object yang dapat digunakan untuk mengirim message. Link digambarkan dengan garis solid antar dua object Message : pengertiannya sama dengan message pada sequence diagram 3
Message n n Digambarkan dengan tanda panah di antara 2 obyek, arah panah menunjukkan obyek yang menerima pesan Nama pesan dituliskan pada panah dan diakhiri tanda kurung Bila ada Parameter, letakkan di dalam tanda kurung Bisa ditambahkan nomor urut sebagai penunjuk urutan message yang dijalankan, digambarkan dengan nomor_urut : message() 4
Contoh : Customer 5
Keterangan Tambahan n n Untuk menunjukkan pembuatan obyek, bisa ditambahkan stereotype <<create>> pada message yang membuat obyek tsb Untuk perubahan state digunakan : <<become>> Untuk Kondisi Bersyarat (IF) digunakan tanda kurung kotak [ syarat ] Untuk proses berulang digunakan tanda asterik ( * ) disebelah kiri syarat *[ syarat ] 6
Returned Result n n n Message bisa digunakan untuk meminta obyek lain melakukan sesuatu (mis. Perhitungan) dan mengembalikan hasilnya ke dalam sebuah nilai Digunakan tanda : = Bentuk Umum : q ret_value : = fungsi(para 1, para 2, …) 7
Multiple Receiving Object n n Sebuah obyek yang mengirimkan pesan ke banyak obyek pada class yang sama Dilambangkan sama dengan proses berulang yaitu menggunakan asterik (*) 8
Contoh : : Order Entry Window Object 1: prepare() Message : Order Sequence Number 2* [for all order lines]: prepare() 5: needs. Reorder : = needs. To. Reorder() : Order Line 3: has. Stock : = check() 4: [has. Stock]: remove() 7 [has. Stock]: new : Delivery Item : Stock Item Self Delegation 6 [needs. Reorder]: new : Reorder Item 9
Contoh Coll. Diag dari Class 10
11
12
n Terdapat Perubahan State : 13
Gunakan <<become>> 14
Penomoran Khusus n Terkadang 2 pesan terjadi pada 1 obyek yang sama dengan suatu syarat berbeda [valid] 2. 1 : display(“KARTU VALID”) ATM Interface <<transaksi batal>> [tidak valid] 2. 1 : display(“KARTU TIDAK VALID”) 15
Active Object / obyek aktif n n Pada beberapa interaksi, terkadang terdapat obyek khusus yang mengendalikan aliran. Obyek aktif ini mengirimkan message ke obyek pasif dan berinteraksi dengan obyek aktif lain Digambar dengan kotak tebal 16
Sinkronisasi n n n Sebuah Obyek akan mengirim message hanya jika 1 atau beberapa message lain sudah terkirim (menunggu), oleh karena itu, obyek tersebut harus melakukan sinkronisasi pesan dengan obyek lain Digambarkan dengan menggunakan tanda slash ( / ) sesudah nomor message yang ditunggu, baru kemudian ditulis messagenya. Untuk nomor message yang ditunggu lebih dari 1 maka digunakan pemisah tanda koma 17
Contoh Kasus: 1. 2. 3. 4. 5. Senior VP marketing meminta VP Sales untuk membuat kampanye suatu produk VP sales membuat kampanye tersebut dan menugaskannya ke manager sales Manager sales meminta kepada tenaga penjualnya (Sales) untuk menjual produk dimaksud dengan kampanyenya Sales membuat hubungan dengan pelanggan potensial Setelah sales manager membuat penugasan ( nomor 3 complete) maka PR menghubungi surat kabar lokal dan menempatkan iklan atas kampanye tersebut 18
19
Sequence vs Collaboration 20
Fun Example Objects Sequence and Collaboration Diagrams 21 21
Fun Example Sequence diagram Sequence and Collaboration Diagrams 22 22
Fun Example Sequence diagram Sequence and Collaboration Diagrams 23 23
Fun Example Collaboration diagram Sequence and Collaboration Diagrams 24 24
Sequence Diagram 25
Collaboration Diagram 26
Sequence Diagram : Register. For. Courses. Form : Registration. Controller : Student Catalog : Course. Catalog. System Activity/Action : Course Catalog 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) 5: display course offerings( ) 6: display blank schedule( ) ref Select Offerings 27
Collaboration Diagram Messages 5: display course offerings( ) 6: display blank schedule( ) Links 1: create schedule( ) : Course Catalog : Register. For. Courses. Form : Student 2: get course offerings( ) 4: get course offerings( ) 3: get course offerings(for. Semester) : Registration. Controller : Course. Catalog. System 28
- Slides: 28