Teknik Informatika S1 Object Oriented Analysis and Design Interaction Diagram dan State Diagram
Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS
[email protected] +6285740278021
Interaction Diagrams
Interaction Diagrams Interaction diagrams menggambarkan bagaimana kelompok benda berkolaborasi dalam beberapa perilaku. Sebuah interaction diagram biasanya menangkap perilaku single use case.
Interaction diagrams tidak menangkap perilaku lengkap, hanya skenario yang khas.
Interaction Diagrams Terdapat 2 tipe interaction diagrams: Sequence
diagrams
menekankan
urutan
atau
konkurensi dari interaksi. Collaboration diagrams menekankan interaksi antar
objek.
Peran Interaction Diagrams dalam UML
Interaction Diagrams and Use Cases
Perilaku dari "order" use case: Seorang pelanggan memesan beberapa produk. Baris perintah untuk setiap produk yang disiapkan secara terpisah. Untuk setiap produk memeriksa stok. Jika produk dalam stok, hapus jumlah yang diminta dari stok Jika stok produk turun di bawah tingkat yang telah ditetapkan, maka disusun ulang.
Sequence Diagrams (1) sd Use Case Mo... Tampilan Pemesanan
Pemesanan
Persiapan Melakukan Pemesanan()
Pesanan Berulang()
Sequence Diagram terdiri atas Objek, Lifeline dan Message Lifeline mewakili kehidupan objek selama interaksi. Messages diwakili oleh panah antara lifelines, berlabel minimal dengan nama pesan. Untuk mengirim pesan antara objek, harus ada hubungan antara kelas dalam class diagram. Sequence pesan terjadi ditunjukkan dari atas ke bawah. Iteration marker menunjukkan bahwa pesan dikirim berkali-kali.
Sequence Diagrams (2) sd Sequence Diagram Tampilan Pemesanan
Pemesanan
Cek Stok
Persiapan Melakukan Pemesanan()
Pesanan Berulang() Check() [Check == true]
Conditions melaporkan apakah pesan dikirim atau tidak. Self-delegation digunakan setiap kali sebuah objek mengirim pesan ke dirinya sendiri.
Sequence Diagrams (3) sd Sequence Diagram Tampilan Pemesanan
Pemesanan
Cek Stok
Persiapan Melakukan Pemesanan()
Pesanan Berulang() Check() [Check == true] Stok Tidak Tersedia()
Returns menunjukkan kembalinya kontrol setelah pesan, bukan pesan baru.
Sequence Diagrams (4) sd Sequence Diagram Tampilan Pemesanan
Pemesanan
Cek Stok
Tentukan Jumlah Pesanan
Persiapan Melakukan Pemesanan()
Pesanan Berulang() Check() [Check == true] Stok Tidak Tersedia() Jumlah()
Collaboration Diagrams Perilaku dinamis sebuah objek juga dapat digambarkan dengan collaboration diagrams. Transformasi dari sequence diagram ke collaboration diagram
adalah fungsi tidak langsung/ bidirectional function. Perbedaan antara sequence diagrams dan collaboration diagrams adalah collaboration diagrams menekankan kepada struktur
sedangkan sequence diagram kepada interaksi. Pada collaboration diagrams diberikan nomor interaksi.
Collaboration Diagrams Collaboration diagrams menekankan struktur interaksi objek bukan urutan interaksi. Sequence diberikan oleh angka pada anak panah, bukan urutan vertikal.
Kapan menggunakan Interaction Diagrams Use Interaction Diagrams Ketika menangkap kebutuhan pengguna: Jelaskan perilaku beberapa objek dalam use case. Tampilkan kolaborasi antara objek-objek. Setelah menggambarkan perilaku objek sepenuhnya dengan state dan diagram aktivitas: Uji state dan diagram aktivitas terhadap skenario.
Do not Use Interaction Diagrams Untuk definisi yang tepat dari perilaku kelas tunggal (Gunakan state diagrams).
Jika Anda ingin menggambarkan perilaku di banyak use cases atau banyak threads (Pertimbangkan activity diagram).
State Diagrams
State Diagrams State diagrams adalah teknik untuk menggambarkan perilaku, yaitu, perubahan keadaan satu class menurut peristiwa dan pesan yang dikirim atau diterima oleh class.
States A state • abstrak dari nilai atribut dan asosiasi dari suatu objek; • mewakili kondisi internal / keadaan obyek untuk jangka waktu tertentu; • sesuai dengan interval waktu antara dua peristiwa. Respon terhadap peristiwa mungkin tergantung pada keadaan obyek. Object creation bersama-sama dengan an initial object state. Object deletion mungkin terkait dengan (salah satu dari banyak) final states.
Events o Suatu kejadian adalah sesuatu yang layak memperhatikan pada suatu titik waktu; • sinyal dari satu objek ke yang lain, misalnya, “delivered”, • pesan yang diterima oleh suatu , misalnya“check item”, • tanggal tertentu / waktu, Misalnya: "setelah 10 detik" (berada dalam keadaan tertentu) atau "pada tanggal 31 Desember2000, 00:00". o Events dapat mengambil argumen, misalnya, "menyerahkan kepada (receiver: Pelanggan)". o Events dapat dinyatakan dalam diagram kelas dengan argumen ditampilkan sebagai atribut.
Transitions o Transisi merupakan perubahan dari kondisi / keadaan internal suatu objek. o Transisi biasanya dipicu oleh sebuah event. Transitions tanpa event label (“lambda transitions”) o Transisi Instan • dari tepat satu state ke state lain atau dirinya sendiri (selftransisi) dan • tidak interruptible.
Guards Sebuah guard adalah kondisi logis (value "true" atau "false"). Sebuah guarded transition fires only if the guard resolves to “true”. Karena hanya satu transisi bisa dipicu dalam keadaan tertentu, guards dimaksudkan untuk menjadi eksklusif untuk acara apapun. Events dapat dijaga.
Action Action adalah proses pada software yang mengeksekusi dengan segera. Transisi dapat memicu action. Actions mungkin dipicu pada masuk atau keluar dari states (bukan label masing-masing masuk (entry) dan keluar (exit) transisi dengan tindakan tersebut). Sebuah event dapat memicu tindakan tanpa meninggalkan state, yaitu, tanpa memicu keluar dan masuk tindakan sebagai self-transisi akan dilakukan. Tindakan dapat memicu peristiwa, biasanya dalam objek lain. Tindakan dapat mengambil argumen.
Sending Messages
Mengirim pesan adalah tindakan khusus. Pesan alamat suatu obyek atau satu set objek. Pesan terjadi setelah tindakan lainnya. Pesan memicu aktivitas/ transisi di objek penerima.
Activities Aktivitas dapat mengambil "lebih lama", yaitu, mereka adalah proses yang berlangsung selama obyek dalam keadaan tertentu. Kegiatan yang interruptible, yaitu, suatu peristiwa yang menyebabkan transisi state mungkin membatalkan suatu kegiatan. Kegiatan dapat dibangun dari awal dan tindakan akhir.
State Diagram: Example
Kapan Menggunakan State Diagrams State diagrams bagus untuk menjelaskan perilaku dari sebuah objek di beberapa use cases. Menggambar state diagrams terutama untuk kelas, yang tidak dipahami dengan baik dan yang membutuhkan penjelasan rinci. Jika Anda harus menggambarkan beberapa objek, yang terlibat dalam single use case, Gunakan interaction diagrams. Untuk menampilkan urutan umum untuk beberapa use cases dan beberapa objects, Gunakan activity diagrams. State diagrams tidak bagus untuk menggambarkan perilaku yang melibatkan sejumlah objek yang berkolaborasi bersama-sama.
TERIMA KASIH