Bagaimana cara menunjukkan kondisi "jika" pada diagram urutan?

196

Saya bertanya-tanya, bagaimana seseorang bisa mewakili ifpernyataan " " pada diagram urutan?

if (somethingShouldBeDone) {
       // Do it
} else {
       // Do something else
}

Bisakah itu diwakili sama sekali? Masalahnya adalah ... dalam kode saya, cukup banyak kondisi diperiksa untuk menentukan berbagai tindakan. Jika saya akan menunjukkan tindakan, saya ingin secara eksplisit menyatakan bahwa tindakan disebabkan oleh peristiwa tertentu.

Jika mungkin, buat representasi gambar dari suatu solusi.

James Raitsev
sumber
1
Saya tahu pertanyaan ini sudah lama dan saya belum melakukan pencarian, tetapi itu membuat saya bertanya-tanya apakah menunjukkan percabangan adalah ide yang bagus untuk diagram urutan. Saya selalu berpikir kondisi untuk urutan dijelaskan secara eksplisit dalam skenario dan dengan demikian tidak ada percabangan yang terjadi selama urutan. Jalur alternatif ditangani dengan menggambarkan varian skenario yang memiliki diagram urutannya sendiri. Ini agak subyektif jadi mungkin saya harus mempostingnya di Meta atau mungkin Rekayasa Perangkat Lunak?
Kelly S. French

Jawaban:

288

Jika kondisi lain, juga disebut alternatif dalam istilah UML memang bisa direpresentasikan dalam diagram urutan. Berikut ini tautan di mana Anda dapat menemukan beberapa sumber yang bagus tentang masalah ini http://www.ibm.com/developerworks/rational/library/3101.html

bercabang dengan alt

GETah
sumber
Dalam Visio, Altdisebut hal lain? Saya tidak dapat menemukannya
James Raitsev
13
Visio sendiri bukanlah alat pemodelan UML. Jika Anda ingin menggunakan UML 2.0 maka Anda perlu menemukan Stensil Visio yang baik yang sepenuhnya mengimplementasikan spesifikasi 2.0. Ada beberapa stensil gratis yang tersedia di web, Anda mungkin ingin mencoba beberapa diantaranya :) Berikut ini adalah yang terlihat bagus (tidak mencoba semua fitur) softwarestencils.com/uml
GETah
Apakah ada alat UML lain selain dari Visio. Apakah arsitek perusahaan cukup baik?
Venkat Madhav
1
@VenkatMadhav Saya tidak bisa mengatakannya. Saya tidak pernah menggunakannya dengan kekuatan penuh tetapi dari bacaan yang saya temukan di google, itu seharusnya cukup bagus
GETah
@ Vikkat Saya pribadi penggemar paradigma visual. ( visual-paradigm.com )
Polling Cody
35

Jika Anda tempel

A.do() {
  if (condition1) {
   X.doSomething
  } else if (condition2) {
   Y.doSomethingElse
  } else {
   donotDoAnything
  }
}

ke https://www.zenuml.com . Ini akan menghasilkan diagram untuk Anda.Diagram urutan if / else

Xiao Peng - ZenUML.com
sumber
@ Gholamali-Irani sudahkah Anda mencoba ekstensi Chrome?
Xiao Peng - ZenUML.com
Jika A.do(int condition)- Jika .. lain ... lain, tidak semua bisa terjadi karena satu panggilan. Flow tergantung pada argumen kondisi. Akan menyenangkan jika ZenUML bisa menggambar itu. Itu akan menjadi tiga panggilan yang dipesan tepat waktu.
Chef Gladiator
@ ChefGladiator Saya tidak yakin apakah saya mengerti maksud Anda. Bisakah Anda menambahkan beberapa kode palsu di sini? Atau Anda bisa mengarahkan saya ke situs.
Xiao Peng - ZenUML.com
Tentu, ini kodenya: wandbox.org/permlink/PURdGJc8YxJmpUh7 - ada tiga panggilan yang dibutuhkan untuk memenuhi semua persyaratan yang harus dipenuhi. Urutan UML harus menampilkan tiga panggilan, bukan satu.
Chef Gladiator
Tentu saja, diagram aktivitas lebih baik untuk menunjukkan algoritma internal /
Chef Gladiator
2

Sangat sederhana, menggunakan fragmen Alt

Mari kita ambil contoh diagram urutan untuk mesin ATM. Mari kita katakan di sini Anda inginkan

JIKA kartu yang dimasukkan valid maka minta "Enter Pin" .... ELSE prompt "Pin tidak valid"

Maka di sini adalah diagram urutan yang sama

Diagram urutan mesin ATM

Semoga ini membantu!

vishwampandya
sumber