UML  Sequence Diagram adalah diagram interaksi yang merinci bagaimana operasi dilakukan. Mereka menangkap interaksi antara objek dalam konteks kolaborasi. Sequence Diagram adalah fokus waktu dan menunjukkan urutan interaksi secara visual dengan menggunakan sumbu vertikal diagram untuk mewakili waktu pesan apa yang dikirim dan kapan.

Diagram Urutan dalam Hirarki Diagram UML

 

Apa itu diagram urutan?

Sebuah diagram urutan, juga dikenal sebagai diagram urutan, diagram sekuensial atau diagram sekuensial, adalah diagram interaksi UML. Ini menunjukkan kolaborasi dinamis antara beberapa objek dengan menggambarkan urutan temporal di mana pesan dikirim di antara mereka.

Dalam UML, objek dalam diagram urutan digambar sebagai persegi panjang yang berisi nama objek yang digarisbawahi. Sebuah objek dapat dinamai 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 Diagram Urutan

  1. Tunjukkan urutan interaksi antar objek. Modelkan perilaku interaksi sebagai penyampaian pesan, dan tunjukkan interaksi antar objek secara dinamis dengan menggambarkan 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 Diagram Urutan

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. Menyertakan 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: :kursus; dalam diagram waktu, dengan “: kelas”.
  3. Hanya menampilkan nama objek tetapi bukan nama kelas, misal: 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: letakkan objek dengan interaksi yang sering sedekat mungkin;
  • Tempatkan objek yang menginisialisasi seluruh aktivitas interaksi di ujung paling kiri.

Garis hidup

Garis putus-putus memanjang ke bawah dari ikon objek dalam diagram waktu, menunjukkan berapa lama objek telah ada.

  • Fokus Kontrol (juga dikenal sebagai periode aktivasi) adalah simbol untuk periode waktu di mana 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 sejajar dengan inisiasi dan waktu penyelesaian masing-masing.

  • Pesan umumnya diklasifikasikan sebagai Pesan Sinkron, Pesan Asinkron, dan Pesan Kembali.

Perhatikan Itu

  • Pengirim pesan memberikan kontrol kepada 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 untuk mengembalikan pesan atau kontrol. Penerima dan pengirim pesan asinkron bekerja secara bersamaan.

  • Pesan kembali menunjukkan pengembalian dari panggilan prosedur.

 

Pesan Penciptaan dan Penghancuran

Peserta tidak harus hidup selama seluruh durasi interaksi diagram urutan. Peserta dapat dibuat dan dimusnahkan sesuai dengan pesan yang disampaikan.

Pesan  konstruktor  membuat penerimanya. Pengirim yang sudah ada di awal interaksi ditempatkan di bagian atas diagram. Target yang dibuat selama interaksi oleh panggilan konstruktor secara otomatis ditempatkan lebih jauh ke bawah diagram.

Pesan  destruktor  menghancurkan penerimanya. Ada cara lain untuk menunjukkan bahwa target dihancurkan selama interaksi. Hanya ketika penghancuran target diatur ke ‘setelah destruktor’ Anda harus menggunakan destruktor.

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 diperlukan beberapa saat sebelum penerima benar-benar menerima pesan,  panah miring digunakan .

Fragmen kombinasi

Fragmen urutan direpresentasikan sebagai kotak yang disebut fragmen gabungan, yang membungkus bagian dari interaksi dalam grafik urutan. Operator fragmen (di sudut kiri atas) menunjukkan jenis fragmen. Fragmen interaktif memungkinkan Anda mengelompokkan pesan terkait dalam diagram urutan. Berbagai jenis fragmen yang telah ditentukan sebelumnya tersedia, memungkinkan Anda untuk menentukan hasil alternatif, pesan paralel, atau loop.

Fragmen dalam diagram urutan adalah bingkai persegi panjang yang digambar di atas sebagian diagram. Mereka mewakili struktur kondisional 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 dalam UML.

 

Contoh – menempatkan skenario pesanan

Seorang anggota kapal yang ingin memesan secara online. Barang yang dipesan akan dikirim ke anggota melalui kurir atau pos 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 dilewatkan secara horizontal antara objek dan diatur 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, itu 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 Berarti
alternatif Beberapa fragmen alternatif: hanya fragmen yang kondisinya benar yang akan dieksekusi.
memilih Opsional : fragmen dijalankan hanya jika kondisi yang diberikan 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 Diagram urutan : digunakan untuk mengelilingi seluruh diagram urutan.

Perhatikan Bahwa:

  • Dimungkinkan untuk menggabungkan bingkai untuk menangkap, misalnya, loop atau cabang.
  • Kata kunci fragmen gabungan  : alt, opt, break, par, seq, ketat, neg, kritis, abaikan, pertimbangkan, tegaskan, dan perulangan.
  • Batasan biasanya digunakan untuk menunjukkan batasan waktu pada pesan. Mereka dapat berlaku untuk 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 atau lebih urutan pesan, setara dengan klasik if..else…:

EDIT DIAGRAM URUTAN INI

(2) Option (Opt) – Berisi urutan kemungkinan kemunculan atau non-kejadian yang berarti bahwa fragmen opsional hanya dieksekusi jika beberapa kondisi penjaga benar:

EDIT DIAGRAM URUTAN INI

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

EDIT DIAGRAM URUTAN INI

Merusak

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

EDIT DIAGRAM URUTAN INI

Istirahat paling sering digunakan untuk memodelkan penanganan pengecualian. Contoh diagram urutan ini menggunakan fragmen kombinasi break karena memperlakukan kondisi keseimbangan < jumlah sebagai pengecualian, bukan sebagai aliran alternatif. Untuk membaca contoh ini, kita mulai dari sudut kiri atas urutan dan membaca ke bawah. Ketika urutan mencapai nilai pengembalian “saldo”, 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

Bingkai menyediakan cara untuk merangkum diagram urutan.

EDIT DIAGRAM URUTAN INI

Referensi (Ref)

Sebuah frame dapat direferensikan 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 yang penuh sesak dengan penawar yang cemas. Ketika seorang penawar mendengar proposal, dia memutuskan untuk menerima harga atau tidak.

Dalam lelang otomatis, bagaimana juru lelang akan menyiarkan proposal? Suatu objek mungkin memiliki operasi yang ditunjuk yang secara otomatis dipanggil jika jenis sinyal siaran tertentu diterima. Metode ini disebut resepsi. Sinyal adalah jenis kelas khusus. Nama penerima biasanya sesuai dengan nama sinyalnya. Resepsi ditampilkan di kompartemen terpisah:

EDIT DIAGRAM URUTAN INI

Dalam diagram urutan kami dapat mewakili 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

Ringkasan Notasi Diagram Urutan

 

DESKRIPSI NOTASI REPRESENTASI VISUAL
Aktor
  • jenis peran yang dimainkan oleh entitas yang berinteraksi dengan subjek (misalnya, dengan bertukar sinyal dan data)
  • eksternal ke subjek (yaitu, dalam arti bahwa sebuah instance dari aktor bukan bagian dari instance dari subjek yang sesuai).
  • mewakili peran yang dimainkan oleh pengguna manusia, perangkat keras eksternal, atau subjek lain.

Perhatikan bahwa:

  • Seorang aktor tidak selalu 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 beberapa orang yang berbeda.
Aktor
Garis hidup
  • Garis hidup mewakili peserta individu dalam Interaksi.
Garis hidup
Aktivasi
  • Persegi panjang tipis pada garis hidup) mewakili periode selama elemen melakukan operasi.
  • Bagian atas dan bawah persegi panjang masing-masing sejajar dengan inisiasi dan waktu penyelesaian
Pengaktifan
Pesan Panggilan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Pesan panggilan adalah jenis pesan yang mewakili permintaan operasi garis hidup target.
Pesan Panggilan
Pesan Kembali
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Pesan kembali adalah jenis pesan yang mewakili penyampaian informasi kembali ke pemanggil dari pesan sebelumnya yang sesuai.
Pesan Kembali
Pesan Diri
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Pesan diri adalah jenis pesan yang mewakili permintaan pesan dari garis hidup yang sama.
Pesan Diri
Pesan Rekursif
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Pesan rekursif adalah jenis pesan yang mewakili pemanggilan pesan dari garis hidup yang sama. Targetnya menunjuk ke aktivasi di atas aktivasi tempat pesan dipanggil.
Pesan Rekursif
Menulis pesan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Buat pesan adalah jenis pesan yang mewakili instantiasi (target) garis hidup.
Menulis pesan
Hancurkan Pesan
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Destroy message adalah jenis pesan yang mewakili permintaan untuk menghancurkan siklus hidup target lifeline.
Hancurkan Pesan
Pesan Durasi
  • Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi.
  • Pesan durasi menunjukkan jarak antara dua instan waktu untuk pemanggilan pesan.
Pesan Durasi
CatatanCatatan (komentar) memberikan kemampuan untuk melampirkan berbagai komentar ke elemen. Sebuah komentar tidak membawa kekuatan semantik, tetapi mungkin berisi informasi yang berguna untuk pemodel.