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.

EDIT DIAGRAM URUTAN INI

Objek Sequence Diagram

  1. 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.
  2. Dibandingkan dengan diagram UML lainnya, diagram urutan temporal lebih menekankan pada urutan kronologis perilaku interaksi.
  3. 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:

  1. Termasuk nama objek dan nama kelas, misalnya: kelas langsung: kelas, dalam diagram deret waktu, dengan “objek: kelas”.
  2. Hanya menampilkan nama kelas, yaitu objek anonim, misalnya: :course; dalam diagram waktu, dengan “: kelas”.
  3. 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.

EDIT DIAGRAM URUTAN INI

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.

  1. Langkah 1 dan 2: Pelanggan membuat pesanan.
  2. Langkah 3: Pelanggan menambahkan item ke pesanan.
  3. Langkah 4, 5: Setiap item diperiksa ketersediaannya dalam inventaris.
  4. Langkah 6, 7, 8 : Jika produk tersedia, ditambahkan ke pesanan.
  5. Langkah 9 kembali
  6. Langkah 10, 11: simpan dan hancurkan pesanan

EDIT DIAGRAM URUTAN INI

 

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:

EDIT DIAGRAM URUTAN INI

(2) Opsi (Opt) – Berisi urutan kemungkinan kejadian atau ketidakterjadian yang berarti bahwa fragmen opsional hanya dijalankan jika beberapa kondisi penjaga benar:

EDIT DIAGRAM URUTAN INI

(3) Loop (Loop) – Sebuah loop memungkinkan sebuah fragmen diulang sampai beberapa kondisi penjaga menjadi salah:

EDIT DIAGRAM URUTAN INI

Merusak

Istirahat memungkinkan loop penutup untuk diloloskan ketika beberapa penjaga menjadi benar:

EDIT DIAGRAM URUTAN INI

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:

EDIT DIAGRAM URUTAN INI

Bingkai

Frame menyediakan cara untuk mengenkapsulasi diagram urutan.

EDIT DIAGRAM URUTAN INI

Referensi (Referensi)

Sebuah frame dapat dirujuk dalam diagram urutan lain:

EDIT DIAGRAM URUTAN INI

Protokol

EDIT DIAGRAM URUTAN INI

Kolaborasi

EDIT DIAGRAM URUTAN INI

Skenario

EDIT DIAGRAM URUTAN INI

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:

EDIT DIAGRAM URUTAN INI

Dalam diagram urutan kita dapat merepresentasikan sinyal sebagai sinyal asinkron, dan penerimaan sebagai permintaan penerimaan:

EDIT DIAGRAM URUTAN INI

Kritis

EDIT DIAGRAM URUTAN INI

Jenis Fragmen Lainnya

  • Ketat
  • Menegaskan
  • Mempertimbangkan
  • Mengabaikan
  • Wilayah
  • Neg

Rangkuman Notasi Sequence Diagram

Keterangan Notasi Representasi Visual
Aktor
  • jenis peran yang dimainkan oleh suatu entitas yang berinteraksi dengan subjek (misalnya, dengan bertukar sinyal dan data)
  • di luar subjek (yaitu, dalam arti bahwa sebuah instance dari seorang aktor bukanlah bagian dari instance dari subjek yang bersesuaian).
  • mewakili peran yang dimainkan oleh pengguna manusia, perangkat keras eksternal, atau subjek lainnya.

Perhatikan bahwa:

  • Seorang aktor tidak harus mewakili entitas fisik tertentu tetapi hanya peran tertentu dari beberapa entitas
  • Seseorang dapat memainkan peran beberapa aktor yang berbeda dan, sebaliknya, aktor tertentu dapat dimainkan oleh banyak orang yang berbeda.
UML Sequence Diagram: Contoh aktor
Garis hidup
  • Garis hidup mewakili peserta individu dalam Interaksi.
UML Sequence Diagram: Contoh aktivasi
Aktivasi
  • Persegi panjang tipis pada garis hidup) mewakili periode selama elemen melakukan operasi.
  • Bagian atas dan bawah persegi panjang masing-masing disejajarkan dengan waktu inisiasi dan penyelesaian
UML Sequence Diagram: Contoh aktivasi
Pesan Panggilan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Pesan panggilan adalah jenis pesan yang mewakili permintaan operasi jalur hidup target.
UML Sequence Diagram: Contoh pesan panggilan
Pesan Kembali
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Pesan kembali adalah jenis pesan yang mewakili penyampaian informasi kembali ke penelepon dari pesan sebelumnya yang berkorespondensi.
UML Sequence Diagram: Kembalikan contoh pesan
Pesan Diri
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Pesan diri adalah jenis pesan yang mewakili permintaan pesan dari garis hidup yang sama.
UML Sequence Diagram: Contoh pesan diri
Pesan Rekursif
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Pesan rekursif adalah jenis pesan yang mewakili pemanggilan pesan dari garis hidup yang sama. Targetnya menunjuk ke aktivasi di atas aktivasi tempat pesan itu dipanggil.
UML Sequence Diagram: Contoh pesan rekursif
Menulis pesan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Create message adalah jenis pesan yang merepresentasikan instantiasi dari (target) lifeline.
UML Sequence Diagram: Membuat contoh pesan
Hancurkan Pesan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Hancurkan pesan adalah jenis pesan yang mewakili permintaan untuk menghancurkan siklus hidup target.
UML Sequence Diagram: Hancurkan contoh pesan
Pesan Durasi
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines of an Interaction.
  • Durasi pesan menunjukkan jarak antara dua instan waktu untuk pemanggilan pesan.
UML Sequence Diagram: Contoh 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. UML Sequence Diagram: Perhatikan contoh