1 Pemodelan Berorientasi Objek Perancangan Sistem dengan Analisis Dinamis Adam Hendra Brata
Pemodelan Kebutuhan Sistem 2 Ruang Lingkup Masalah Analisis Kebutuhan Diagram Use Case Pemodelan Perangkat Lunak Diagram Aktivitas Diagram Sekuensial Diagram Kelas Diagram State
Materi Pertemuan 6 3 Perancangan Sistem dengan Analisis Dinamis Analisis Dinamis Diagram Sekuensial / Sequence
Analisis Dinamis 4
Analisis Dinamis 5 Analisis dinamis umumnya dilakukan setelah analisis statis dengan tujuan : Memastikan kelas diagram yang sudah kita buat komplit dan tepat Memastikan model hasil perancangan kita siap untuk diimplementasikan Memastikan semua fungsionalitas sistem dan antarmuka pengguna sudah ter-cover dengan baik pada perancangan sistem
Analisis Dinamis 6 Analisis dinamis memiliki fokus utama pada Use Case Realization 1. Menelusuri semua use case dan mencoba mensimulasikan hubungan tiap objek yang terkait dengan melihat proses pertukaran pesan antar objek, baik yang mengirim maupun yang menerima 2. Menentukan spesifikasi sterotype pada kelas atau objek yang terlibat proses pertukaran pesan untuk semakin mempermudah pemodelan dan implementasi 3. Menggambarkan hasil simulasi dalam communication diagram atau sequence diagram
Class Sterotype 7 Terdapat 4 class sterotype pada pemodelan UML Actor Mewakili aktor dari sistem Boundary Mewakili semua antarmuka dari sistem Controller Mewakili semua objek di dalam sistem yang memiliki tugas sebagai pengatur proses logika dari sistem Entity Mewakili semua objek di dalam sistem yang merepresentasikan konsep bisnis dan penyimpanan data
Diagram Sekuensial 8
Sequence Diagram 9 Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait)
Sequence Diagram 10 Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan Diagram ini secara khusus berasosiasi dengan use case diagram Memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case
Sequence Diagram 11
Komponen Sequence Diagram 12 Secara umum terdapat 2 bagian utama pada sequence diagram, yaitu : Partisipan / Participant Mewakili objek atau entitas yang memiliki interaksi (aksi) pada sequence diagram Pesan / Message Mewakili komunikasi antar objek partisipan Terdapat 2 dimensi pada sequence diagram Horizontal : menggambarkan partisipan mana saja yang terkait dalam proses interaksi Vertikal : menggambarkan urutan jalannya waktu
Komponen Sequence Diagram : Partisipan 13 Objek partisipan dapat digambarkan dengan 2 cara, yaitu menggunakan Class Stereotypes atau dengan menggunakan Objek (Object)
Komponen Sequence Diagram : Pesan 14 Message atau pesan mewakili proses pemanggilan method (method call), digambarkan dengan menggunakan anak panah horizontal Tuliskan nama dan argument dari method di atas tanda panah
Komponen Sequence Diagram : Pesan 15 Beda bentuk tanda panah merepresentasikan arti yang berbeda Tanda panah runcing bergaris putus putus menggambarkan return message (nilai kembalian) Tanda panah runcing setengah bergaris tebal menggambarkan asynchronous method call Tanda panah penuh bergaris tebal menggambarkan synchronous method call Tanda panah runcing bergaris tebal menggambarkan flat method call
Komponen Sequence Diagram : Pesan 16 Synchronous (flow interrupt until the message has completed) Asynchronous (don t wait for response) Flat (no distinction between sysn/async) Return (control flow has returned to the caller)
Komponen Sequence Diagram : Lifetime Objek 17 Creation : anak panah dengan bertuliskan new Objek yang dibuat (diinstansiasi) setelah awal dari skenario, munculnya lebih rendah daripada yang lain Deletion : tanda X di akhir lifeline sebuah objek Dalam Java, proses deletion tidak secara eksplisit digunakan
Komponen Sequence Diagram : Aktivasi 18 Aktivasi (activation) menggambarkan momen saat sebuah objek aktif, digambarkan dengan persegi panjang vertical pada lifeline tiap objek Digambarkan saat method dari objek ada pada stack / tumpukan proses, dapat dipakai untuk melihat urutan method yang dieksekusi Gambarkan secara berkalang (nested) untuk menunjukkan method yang sifatnya rekursif
Komponen Sequence Diagram : Aktivasi 19 Activation Nesting
Komponen Sequence Diagram : Frame 20 Frame adalah persegi panjang yang berada di dalam sequence diagram untuk menggambarkan seleksi kondisi maupun perulangan If digambarkan dengan frame opt If else digambarkan dengan frame alt, kondisi true atau false dibatasi oleh garis putus-putus Loop digambarkan dengan frame loop
Komponen Sequence Diagram : Frame 21
Menghubungkan Beberapa Sequence Diagram 22 Suatu ketika dalam membuat sequence diagram, kita akan menemui suatu kejadian seperti ini : saat diagram kita terlalu besar sehingga tidak cukup untuk ditampilkan semua diagram kita ternyata masih berhubungan dengan diagram lain Maka kita perlu menggambarkannya dengan cara yang lain anak panah yang belum selesai dan disertai keterangan menggunakan frame ref untuk menunjukkan referensi dengan diagram lain
Menghubungkan Beberapa Sequence Diagram 23 Customer Info ref Verify customer credit Approved?
Sequence Diagram : Bentuk Kontrol dari Sistem 24 Tersentral Terdistribusi
Sequence Diagram Vs Source Code 25 Saat membuat sequence diagram kita akan sadar ternyata sequence diagram sangat dekat dengan penulisan kode program Kemudian mengapa kita tidak langsung saja membuat penjabaran algoritmanya saja daripada harus menggambarkannya pada sequence diagram?
Sequence Diagram Vs Source Code 26 Karena Sequence diagram yang bagus masih memiliki level yang lebih tinggi daripada kode program, kode program tidak bisa menggambarkan semua yang ada pada diagram Sequence diagram bersifat language-agnostic (universal untuk semua bahasa pemrograman) Orang yang tidak mengerti kode program pun dapat membuat sequence diagram Lebih mudah membuat sequence diagram dalam tim Dapat digunakan untuk melihat banyak objek/klas beserta hubungannya dalam 1 halaman yang sama
Latihan 27 Buat diagram sequence dengan menggunakan analisis dinamis dari contoh diagram use case ini! Kerjakan sebagai latihan dan siap siap pertemuan minggu depan akan ada yang ditunjuk maju secara acak untuk presentasi ^^
28 Terimakasih v^^