Sıra diyagramında “if” koşulu nasıl gösterilir?


195

Merak ettim, nasıl ifbir dizi diyagramında " " ifadesini temsil edebilir ?

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

Hiç temsil edilebilir mi? Mesele şu ki, benim kodumda, çeşitli eylemleri belirlemek için makul koşullar kontrol edilir. Eylemleri göstereceğim, açıkça eylemlerin belirli olaylardan kaynaklandığını belirtmek isterim.

Mümkünse bir çözümün görüntü temsilini oluşturun.


1
Bu sorunun eski olduğunu biliyorum ve henüz bir arama yapmadım, ama dallanmanın gösterilmesinin dizi diyagramları için iyi bir fikir olup olmadığını merak ettim. Diziye ilişkin koşulların her zaman senaryoda açıkça tanımlandığını ve bu nedenle dizi sırasında hiçbir dallanma meydana gelmediğini düşündüm. Senaryonun kendine ait sekans şemasına sahip bir varyantı tanımlanarak alternatif yollar kullanıldı. Biraz özneldir, bu yüzden belki de Meta veya muhtemelen Yazılım Mühendisliği'nde yayınlamalıyım?
Kelly

Yanıtlar:


287

UML terimlerinde alternatifler olarak da adlandırılan başka bir durum gerçekten de sekans diyagramlarında temsil edilebilir. Konuyla ilgili güzel kaynaklar bulabileceğiniz bir bağlantı http://www.ibm.com/developerworks/rational/library/3101.html

alt ile dallanma


Visio'da Altbaşka bir şey denir mi? Onu bulamıyorum
James Raitsev

13
Kendi başına Visio bir UML modelleme aracı değildir. UML 2.0'ı kullanmak istiyorsanız, 2.0 özelliklerini tam olarak uygulayan iyi bir Visio Şablon bulmanız gerekir. Web'de birkaç ücretsiz şablon var, bunlardan bazılarını denemek isteyebilirsiniz :) İşte iyi görünen (yine de tüm özellikleri
denemedim

Visio dışında başka UML araçları var mı? Kurumsal mimar yeterince iyi mi?
Venkat Madhav

1
@VenkatMadhav Gerçekten söyleyemem. Hiç tam gücüyle kullanmadım ama google'da bulduğum okumadan oldukça iyi olmalı
GETah

@Venkat Ben şahsen görsel paradigmanın hayranıyım. ( visual-paradigm.com )
Cody Poll

35

Yapıştırırsan

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

üzerine https://www.zenuml.com . Sizin için bir diyagram oluşturur.Eğer / else dizi diyagramı


@ Gholamali-Irani Chrome uzantısını denediniz mi?
Xiao Peng - ZenUML.com

Eğer öyleyse A.do(int condition)- Eğer .. başka ... başka, hepsi bir çağrı sonucunda olamaz. Akış, koşul bağımsız değişkenine bağlıdır. ZenUML bunu yapabilirse çok güzel olurdu. Zamanında üç arama emri verilecekti.
Şef Gladyatör

@ChefGladiator Ne demek istediğinizi anladığımdan emin değilim. Buraya sözde kod ekleyebilir misiniz? Ya da beni siteye yönlendirebilirsiniz.
Xiao Peng - ZenUML.com

Tabii, işte kod: wandbox.org/permlink/PURdGJc8YxJmpUh7 - tüm koşulların karşılanması için üç çağrı gerekiyor. UML Sırası bir değil üç çağrı göstermelidir.
Şef Gladyatör

Tabii ki, Faaliyet diyagramları algoritma iç göstermek için daha iyidir /
Chef Gladiator

2

Alt parçasını kullanarak çok basit

Bir ATM makinesi için sıra diyagramına bir örnek verelim.

EĞER takılı kart istemi sonra geçerlidir .... "Pin Enter" BAŞKA istemi "Geçersiz Pin"

O zaman aynı şey için sıralama şeması

ATM makine sırası diyagramı

Bu yardımcı olur umarım!


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.