1
Pemodelan Berorientasi Objek Perancangan Sistem dengan Analisis Dinamis Adam Hendra Brata
Pemodelan Kebutuhan Sistem
Ruang Lingkup Masalah
Analisis Kebutuhan
Diagram Use Case
Pemodelan Perangkat Lunak
Diagram Aktivitas
Diagram Sekuensial
Diagram Kelas
Diagram State
2
Materi Pertemuan 6
Perancangan Sistem dengan Analisis Dinamis
Analisis Dinamis Diagram
Sekuensial / Sequence
3
4
Analisis Dinamis
Analisis Dinamis
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
5
Analisis Dinamis
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
6
Class Sterotype
Terdapat 4 class sterotype pada pemodelan UML
Actor
Boundary
Mewakili semua antarmuka dari sistem
Controller
Mewakili aktor dari sistem
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
7
8
Diagram Sekuensial
Sequence Diagram
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)
9
Sequence Diagram 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
10
Sequence Diagram
11
Komponen Sequence Diagram
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
12
Komponen Sequence Diagram : Partisipan
Objek partisipan dapat digambarkan dengan 2 cara, yaitu menggunakan Class Stereotypes atau dengan menggunakan Objek (Object)
13
Komponen Sequence Diagram : Pesan
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
14
Komponen Sequence Diagram : Pesan
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
15
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
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
17
Komponen Sequence Diagram : Aktivasi
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
18
Komponen Sequence Diagram : Aktivasi
Activation
Nesting
19
Komponen Sequence Diagram : Frame
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
20
Komponen Sequence Diagram : Frame
21
Menghubungkan Beberapa Sequence Diagram
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
22
Menghubungkan Beberapa Sequence Diagram Customer Info
ref Verify customer credit
Approved?
23
Sequence Diagram : Bentuk Kontrol dari Sistem
Tersentral
24
Terdistribusi
Sequence Diagram Vs Source Code
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 ?
25
Sequence Diagram Vs Source Code
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
26
Latihan
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 ^^
27
28
Terimakasih v^^