interaction Diagram
Interaction diagram Berguna untuk memodelkan aliran kendali didalam satu operasi, kelas, komponen, use case atau sistem secara keseluruhan.
interaksi Interaksi adalah perilaku yang meliputi sekumpulan pesan yang dipertukarkan di antara sekumpulan objek di dalam konteks untuk mencapai sasaran
Diagram interaksi adalah model yang mendeskripsikan bagaimana sekelompok objek berkolaborasi dalam suatu perilaku. Biasanya dalam satu use case
Diagram interaksi Dalam UML terdapat dua bentuk diagram interaksi: 1. diagram sekuen 2. diagram kolaborasi isomorphic, kita dapat membuat salah satunya dan mentransformasikan ke lainnya tanpa kehilangan informasi apapun. Hanya terdapat perbedaan cara visualisasi atau presentasi
Diagram interaksi Diagram sekuen menampilkan urutan waktu/sequence dari objek yang berpartisipasi dalam interaksi. objek-objek ditunjukkan sebagai dimensi vertikal (sebagai dimensi waktu/time), dimensi horisontal sebagai pemisah antar objek. Urutan pesan diindikasikan dengan membaca dari atas ke bawah,
Diagram interaksi Diagram kolaborasi ditunjukkan sebagai ikon.anak panah mengindikasikan pesan yang dikirim. Pewaktuan ditunjukkan dengan skema penomoran. Nomor pesan secara berurutan. Pada diagram kolaborasi yang lebih kompleks titik desimal juga bisa digunakan.
Elemen model interaksi Objek Link pesan
Elemen model interaksi Objek objek yang berpartisipasi di interaksi dapat berupa sesuatu yang kongkret atau prototip. Sesuatu yang kongkret adalah merepresentasikan sesuatu di dunia nyata misal D adalah suatu instan kelas Dosen
Elemen model interaksi Link koneksi semantik di antara objek-objek. Link merupakan instan dari asosiasi. Ketika terdapat link di antara dua objek maka satu objek dapat mengirim pesan ke objek lain
Elemen model interaksi Stereotype link - association, menspesifikasikan yang berkorespondensi tampak dengan asosiasi. - self - global - Local = parameter
Elemen model interaksi Pesan spesifikasi komunikasi diantara objek-objek yang memuat informasi dengan aktivitas yang diharapkan. Ketika kita melewatkan pesan, aksi yang dihasilkan adalah dieksekusi pernyataan yang membentuk abstraksi prosedur komputasi. Aksi dapat menghasilkan perubahan state.
Elemen model interaksi Jenis aksi call: memanggil operasi di objek return: mengirim nilai ke pemanggil send: mengirim signal ke objek create: menciptakan objek destroy: menghancurkan objek
Kegunaan diagram interaksi Memodelkan aliran kendali Memodelkan aliran kendali berdasar urutan waktu Memodelkan aliran kendali berdasarkan organisasi
Kriteria model interaksi yang bagus Sederhana hanya meliputi objek-objek yang bekerja sama untuk melaksanakan suatu behavior utama Konteksnya jelas mereprensentasikan interaksi objek-objek dikonteks satu operasi, kelas atau sistem
Kriteria model interaksi yang bagus Efisien waktu dan sumberdaya optimal Mudah diadaptasi elemen-elemen mudah berubah seharusnya diisolasi agar dapat dimodifikasi dengan mudah Mudah dipahami
Diagram sekuen Digunakan untuk - overview perilaku sistem - menunjukkan objek-objek yang diperlukan - mendokumentasikan skenario dari suatu diagram use case - memeriksa jalur pengaksesan
Diagram Sekuen Perbedaan diagram sekuen dengan diagram kolaborasi Terdapat baris hidup objek. Garis putus-putus vertikal merepresentasikan keberadaan objek di periode waktu Fokus diagram sekuen adalah kendali
Langkah pembuatan diagram sekuen Identifikasi lingkup diagram sekuen Daftarkan langkah-langkah di use case Berikan box untuk masing-masing aktor Berikan kelas pengendali
Struktur diagram sekuen Class 1 memulai perilakunya dengan mengirimkan pesan ke class2. Pesan dikirimkan sampai dengan object lain “merespon” nya
Struktur diagram sekuen
Contoh Sequence diagram (untuk authentikasi user):
Diagram kolaborasi - Merupakan cara alternatif untuk menampilkan suatu skenario - Menampilkan interaksi obyek yang terorganisasi di sekitar obyek dan hubungannya dengan obyek yang lain. - berisi: - objek yang digambarkan segiempat - link antar objek diperlihatkan sebagai garis yang menghubungkan dengan objek lain - Message ditunjukkan sebagai teks dan panah yang mengarah dari client ke supplier
Mengapa ada dua diagram yang berbeda?? Sequence diagram digunakan untuk menggambarkan suatu skenario berdasarkan urutan waktu Apa yang terjadi selanjutnya. Customer lebih mudah untuk membaca dan memahami jenis diagram ini. Sangat berguna pada tahapan awal fase analisa
Mengapa ada dua diagram yang berbeda?? Collaboration diagrams memberikan suatu gambaran besar skenario karena kolaborasi yang terorganisasi antar obyek satu dengan yang lainnya. Digunakan lebih banyak pada fase desain
Anatomy Collaboration Diagram 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: NamaObject:NamaClass NamaObject :NamaClass - 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
Anatomy Collaboration Diagram
Notasi sequence diagram • Menunjukkan interaksi object-object dalam scenario yang dipandang dari dimensi waktu. • Menggambarkan rentetan pertukaran message antara object-object tsb
NamaObject : NamaClass Notasi objek • Object digambarkan sebagai segiempat berisikan : – Nama object saja, dituliskan – Nama object dan nama class, dituliskan – Nama class saja, dituliskan NamaObject NamaObject : NamaClass : NamaClass
Notasi Timeline Garis waktu setiap object digambarkan sebagai garis terputus-putus di bawah masing-masing object
Notasi Message • Aliran message digambarkan sebagai garis berpanah dari satu titik di timeline object pengirim ke titik di timeline object penerima – Nama message dan argumen dituliskan di atas garis message tsb • Jenis-jenis message – Simple, Procedure call, Return, Synchronous, Asynchronous, Balking, Timeout • Frekuensi message – Periodic, Aperiodic
Messages • Synchronous – object pengirim menunggu hingga penerima beraksi terhadap message (menyatakan menerima pesan) • Asynchronous – object pengirim tidak menunggu
Message • Balking – Jika setelah pengiriman penerima tidak segera ready untuk menerima message, maka pengirim mengabaikan pesan tsb • Timeout – Jika setelah suatu batas waktu tertentu sejak pengiriman penerima belum ready maka pengirim mengabaikan pesan tsb
Message • Periodic – Message dikirim secara reguler (setelah selang waktu tertentu) • Aperiodic – Message dikirim tidak secara reguler (mungkin hanya sekali atau pada titik waktu yang tidak tertentu)
Collaboration vs Sequence Diagram Collaboration Diagram Menunjukkan hubungan disamping interaksi Lebih baik untuk memvisualisasikan pattern of collaboration Lebih baik untuk memvisualisasikan semua efek dari object yang diberikan Lebih mudah digunakan untuk sesi brainstorming Sequence Diagram Menunjukkan urutan message secara eksplisit Lebih baik dalam memvisualisasikan keseluruhan aliran Lebih baik dalam memvisualisasikan spesifikasi yang real time dan scenario yang kompleks
Contoh diagram sekuen
Contoh diagram sekuen
Contoh diagram kolaborasi
contoh
Contoh diagram sekuen
Diagram sekuen
Contoh diagram kolaborasi
Terima kasih