Semua Yang Perlu Anda Ketahui Tentang Diagram Urutan
UML Sequence Diagram adalah diagram interaksi yang merinci bagaimana operasi dilakukan. Mereka menangkap interaksi antar objek dalam konteks kolaborasi. Sequence Diagram adalah fokus waktu dan mereka menunjukkan urutan interaksi secara visual dengan menggunakan sumbu vertikal diagram untuk mewakili waktu pesan apa yang dikirim dan kapan.
Apa itu diagram urutan?
Diagram urutan, juga dikenal sebagai diagram urutan, diagram sekuensial atau diagram sekuensial, adalah diagram interaksi UML. Ini menunjukkan kolaborasi dinamis antara banyak objek dengan menggambarkan urutan temporal di mana pesan dikirim di antara mereka.
Dalam UML, objek dalam sequence diagram digambarkan sebagai persegi panjang yang berisi nama objek, digarisbawahi. Sebuah objek dapat diberi nama dengan salah satu dari tiga cara: nama objek, nama objek dan kelasnya, atau hanya nama kelas (objek anonim). Tiga cara penamaan objek ditunjukkan pada Gambar di bawah ini.
Objek Sequence Diagram
- Menampilkan urutan interaksi antar objek. Model perilaku interaksi sebagai pengiriman pesan, dan tunjukkan interaksi antar objek secara dinamis dengan menjelaskan bagaimana pesan dikirim dan diterima di antara mereka.
- Dibandingkan dengan diagram UML lainnya, diagram urutan temporal lebih menekankan pada urutan kronologis perilaku interaksi.
- Secara visual dapat menggambarkan proses konkurensi.
Elemen-elemen Sequence Diagram
1. Aktor – Aktor sistem, yang dapat berupa orang, mesin, sistem lain, subsistem; digunakan untuk mewakili dalam diagram urutan temporal.
2. Objek – Ada tiga cara penamaan objek:
- Termasuk nama objek dan nama kelas, misalnya: kelas langsung: kelas, dalam diagram deret waktu, dengan “objek: kelas”.
- Hanya menampilkan nama kelas, yaitu objek anonim, misalnya: :course; dalam diagram waktu, dengan “: kelas”.
- Hanya menampilkan nama objek tetapi bukan nama kelas, misalnya: dosen; dalam diagram waktu, itu diwakili oleh “objek”.
Ketiga metode penamaan tersedia, yang paling mudah dipahami oleh orang yang membaca bagan kronologis, pilih yang mana.
3. Urutan objek
- Urutan kiri dan kanan objek tidak penting, tetapi untuk membuat diagram yang jelas dan rapi, dua prinsip berikut harus diikuti: tempatkan objek yang sering berinteraksi sedekat mungkin;
- Tempatkan objek yang menginisialisasi seluruh aktivitas interaksi di ujung paling kiri.
Garis hidup
Garis putus-putus memanjang ke bawah dari ikon objek di diagram waktu, yang menunjukkan sudah berapa lama objek tersebut ada.
- Focus of Control (juga dikenal sebagai periode aktivasi) adalah simbol periode waktu selama objek akan melakukan operasi yang sesuai. Ini dapat diartikan sebagai sepasang tanda kurung {} dalam semantik C; diwakili oleh persegi panjang kecil. Ini mewakili periode di mana elemen melakukan operasi. Bagian atas dan bawah persegi panjang masing-masing sejajar dengan waktu inisiasi dan penyelesaian.
- Pesan umumnya diklasifikasikan sebagai Pesan Sinkron, Pesan Asinkron, dan Pesan Kembali.
Perhatikan Itu
- Pengirim pesan melewati kontrol ke penerima pesan, kemudian menghentikan aktivitas dan menunggu penerima pesan menyerah atau mengembalikan kontrol yang digunakan untuk menunjukkan sinkronisasi.
- Pengirim pesan melewati sinyal ke penerima pesan melalui pesan dan kemudian melanjutkan aktivitasnya tanpa menunggu penerima mengembalikan pesan atau kontrol. Penerima dan pengirim pesan asinkron bekerja secara bersamaan.
- Pesan kembali menunjukkan pengembalian dari panggilan prosedur.
Pesan Penciptaan dan Penghancuran
Partisipan tidak harus hidup selama seluruh durasi interaksi diagram urutan. Partisipan dapat dibuat dan dimusnahkan sesuai dengan pesan yang disampaikan.
Pesan konstruktor menciptakan penerimanya. Pengirim yang sudah ada pada awal interaksi ditempatkan di bagian atas diagram. Target yang dibuat selama interaksi oleh panggilan konstruktor secara otomatis ditempatkan lebih jauh di bawah diagram.
Pesan destruktor menghancurkan penerimanya. Ada cara lain untuk menunjukkan bahwa target dihancurkan selama interaksi. Hanya ketika penghancuran target diatur ke ‘setelah penghancur’ Anda harus menggunakan penghancur.
Pesan tidak instan
Pesan sering dianggap instan, sehingga waktu yang dibutuhkan untuk sampai ke penerima dapat diabaikan. Pesan digambar sebagai panah horizontal. Untuk menunjukkan bahwa dibutuhkan beberapa saat sebelum penerima benar-benar menerima pesan, panah miring digunakan .
Fragmen kombinasi
Fragmen urutan direpresentasikan sebagai kotak yang disebut fragmen gabungan, yang melingkupi sebagian interaksi dalam grafik urutan. Operator fragmen (di pojok kiri atas) menunjukkan jenis fragmen. Fragmen interaktif memungkinkan Anda mengelompokkan pesan terkait dalam diagram urutan. Berbagai jenis fragmen standar tersedia, memungkinkan Anda menentukan hasil alternatif, pesan paralel, atau pengulangan.
Fragmen dalam diagram urutan adalah bingkai persegi panjang yang digambar di atas sebagian diagram. Mereka mewakili struktur bersyarat yang mempengaruhi aliran pesan. Bingkai ini disebut fragmen gabungan dalam spesifikasi UML, dan wadahnya disebut operan interaksi. Bingkai diberi label di sudut kiri atas. Label ini disebut sebagai operator interaksi di UML.
Contoh – menempatkan skenario pesanan
Anggota kapal yang ingin memesan secara online. Barang yang dipesan akan dikirim ke anggota melalui kurir atau surat biasa, tergantung pada status keanggotaannya (VIP, anggota biasa). Jika anggota memilih opsi pemberitahuan dalam pesanan, toko akan mengirimkan pemberitahuan konfirmasi kepada anggota.
Contoh Lain: Tempatkan Pesanan
Diagram urutan adalah diagram dua dimensi dengan sumbu horizontal mewakili objek dan sumbu vertikal mewakili waktu, di mana pesan diteruskan secara horizontal antara objek dan disusun secara vertikal dalam urutan kronologis. Contoh menunjukkan diagram Urutan dengan tiga objek yang berpartisipasi: Pelanggan, Pesanan, dan Stok. Tanpa mengetahui notasi secara formal, Anda mungkin bisa mendapatkan ide yang cukup bagus tentang apa yang sedang terjadi.
- Langkah 1 dan 2: Pelanggan membuat pesanan.
- Langkah 3: Pelanggan menambahkan item ke pesanan.
- Langkah 4, 5: Setiap item diperiksa ketersediaannya dalam inventaris.
- Langkah 6, 7, 8 : Jika produk tersedia, ditambahkan ke pesanan.
- Langkah 9 kembali
- Langkah 10, 11: simpan dan hancurkan pesanan
Fragmen kombinasi yang umum digunakan
Jenis fragmen termasuk ref, assert, loop, break, alt, opt dan neg, ref, sd.
Operator | Arti |
alt | Beberapa fragmen alternatif: hanya yang kondisinya benar yang akan dieksekusi. |
memilih | Opsional : fragmen dijalankan hanya jika kondisi yang disediakan benar. Setara dengan alt hanya dengan satu jejak. |
par | Paralel : setiap fragmen dijalankan secara paralel. |
lingkaran | Loop : fragmen dapat dieksekusi beberapa kali, dan penjaga menunjukkan dasar iterasi. |
kritis | Wilayah kritis : fragmen hanya dapat memiliki satu utas yang mengeksekusinya sekaligus. |
neg | Negatif : fragmen menunjukkan interaksi yang tidak valid. |
ref | Referensi : mengacu pada interaksi yang didefinisikan pada diagram lain. Bingkai digambar untuk menutupi garis hidup yang terlibat dalam interaksi. Anda dapat menentukan parameter dan nilai kembalian. |
sd | Sequence diagram : digunakan untuk mengelilingi seluruh sequence diagram. |
Perhatikan Bahwa:
- Dimungkinkan untuk menggabungkan bingkai untuk menangkap, misalnya, loop atau cabang.
- Kata kunci fragmen gabungan : alt, opt, break, par, seq, strict, neg, critical, abaikan, pertimbangkan, tegaskan, dan ulangi.
- Kendala biasanya digunakan untuk menunjukkan kendala waktu pada pesan. Mereka dapat diterapkan pada waktu satu pesan atau interval antar pesan.
Contoh Fragmen Gabungan
(1) Pilihan (Alt) – Sebuah fragmen alternatif menyediakan beberapa fragmen alternatif yang dijaga (dipisahkan oleh operan interaksi), yaitu digunakan untuk menentukan pilihan yang saling eksklusif antara dua urutan pesan atau lebih, setara dengan if..else… klasik:
(2) Opsi (Opt) – Berisi urutan kemungkinan kejadian atau ketidakterjadian yang berarti bahwa fragmen opsional hanya dijalankan jika beberapa kondisi penjaga benar:
(3) Loop (Loop) – Sebuah loop memungkinkan sebuah fragmen diulang sampai beberapa kondisi penjaga menjadi salah:
Merusak
Istirahat memungkinkan loop penutup untuk diloloskan ketika beberapa penjaga menjadi benar:
Istirahat paling sering digunakan untuk memodelkan penanganan pengecualian. Contoh diagram sequence ini menggunakan fragmen kombinasi break karena memperlakukan kondisi balance < amount sebagai pengecualian dan bukan sebagai aliran alternatif. Untuk membaca contoh ini, kita mulai dari sudut kiri atas urutan dan membaca ke bawah. Saat urutan mencapai nilai kembalian “keseimbangan”, ia memeriksa untuk melihat apakah saldo kurang dari jumlahnya. Jika saldo tidak kurang dari jumlah tersebut, pesan selanjutnya yang dikirim adalah pesan addDebitTransaction, dan urutannya berlanjut seperti biasa.
Paralel
Fragmen paralel memungkinkan beberapa interaksi berjalan secara paralel:
Bingkai
Frame menyediakan cara untuk mengenkapsulasi diagram urutan.
Referensi (Referensi)
Sebuah frame dapat dirujuk dalam diagram urutan lain:
Protokol
Kolaborasi
Skenario
Sinyal dan Penerimaan
Seorang juru lelang menyiarkan harga yang diusulkan untuk suatu barang ke ruangan penuh penawar yang cemas. Ketika seorang penawar mendengar proposal, dia memutuskan untuk menerima harga atau tidak.
Dalam lelang otomatis, bagaimana juru lelang menyiarkan proposal? Sebuah objek mungkin telah menetapkan operasi yang harus secara otomatis dipanggil jika jenis sinyal siaran tertentu diterima. Metode ini disebut resepsi. Sinyal adalah jenis kelas khusus. Nama penerima biasanya sesuai dengan nama sinyal. Penerimaan ditampilkan di kompartemen terpisah:
Dalam diagram urutan kita dapat merepresentasikan sinyal sebagai sinyal asinkron, dan penerimaan sebagai permintaan penerimaan:
Kritis
Jenis Fragmen Lainnya
- Ketat
- Menegaskan
- Mempertimbangkan
- Mengabaikan
- Wilayah
- Neg
Rangkuman Notasi Sequence Diagram
Keterangan Notasi | Representasi Visual |
---|---|
Aktor
Perhatikan bahwa:
|
|
Garis hidup
|
|
Aktivasi
|
|
Pesan Panggilan
|
|
Pesan Kembali
|
|
Pesan Diri
|
|
Pesan Rekursif
|
|
Menulis pesan
|
|
Hancurkan Pesan
|
|
Pesan Durasi
|
|
CatatanCatatan (komentar) memberikan kemampuan untuk melampirkan berbagai komentar ke elemen. Sebuah komentar tidak membawa kekuatan semantik, tetapi mungkin mengandung informasi yang berguna bagi seorang pemodel. |