Sequence (Sıralama) Diyagramı Çizme: Yaşam Çizgisi, Mesaj ve Çerçeveler
Beceri rehberi

Sequence (Sıralama) Diyagramı Çizme: Yaşam Çizgisi, Mesaj ve Çerçeveler

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

Sequence diyagramı, bir senaryoda nesnelerin ya da sistemlerin birbirine hangi mesajları hangi sırayla gönderdiğini zaman ekseninde gösterir. Bu rehber örnek bir sipariş senaryosunu adım adım çizer.

Bir bakışta

  1. Diyagram tek bir senaryoyu zaman sırasıyla anlatır. Yukarıdan aşağıya akan zaman ekseninde mesajların sırası, kimin kime ne istediğini gösterir.
  2. Yaşam çizgisi bir katılımcıyı temsil eder. Kullanıcı, uygulama, servis ya da veritabanı; her biri üstte bir kutu ve aşağı inen kesikli çizgiyle gösterilir.
  3. Mesaj türü okun biçimiyle ayırt edilir. Senkron çağrı, asenkron mesaj ve dönüş farklı çizilir; bu fark davranışı doğru anlatır.
  4. Çerçeveler koşulu ve tekrarı gösterir. alt, opt ve loop çerçeveleri, tek diyagramda alternatif, isteğe bağlı ve tekrarlı akışı gösterir.
  5. İyi diyagram ayrıntıdan çok anlaşılırlığa bakar. Her mesaj iş açısından anlamlı olmalı; kod satırı düzeyine inmek diyagramı okunmaz yapar.

Sequence diyagramı ne zaman çizilir

Sequence diyagramı, UML'deki etkileşim diyagramlarından biridir. UML belirtimi, Object Management Group (OMG) tarafından yönetilen bir modelleme dilidir. Sequence diyagramı bu dilin, yazılım ve sistem analizinde en sık kullanılan diyagramlarından biridir.

Diyagramı çizmek için iyi bir neden, bir senaryonun birden fazla katılımcıyı içermesi ve mesajların sırasının önemli olmasıdır. Örneğin kullanıcı bir siparişi onaylarken uygulamanın ödeme servisini, stok servisini ve bildirim servisini hangi sırayla çağırdığı, bir sequence diyagramıyla anlatılır.

Kimle ilgili olduğunu başlamadan netleştirin: diyagramın okuyucusu geliştiriciler mi, test ekibi mi, iş tarafı mı? Okuyucu belirlediğiniz ayrıntı düzeyini değiştirir. İş tarafı için katılımcılar roller ve sistemler olur; geliştiriciler için servisler ve bileşenler.

Sequence diyagramı tek bir senaryoyu anlatır; tüm sistemin yapısını değil. Sistemin kimlere hizmet verdiğini ve hangi işleri yaptığını göstermek için kullanım durumu diyagramı daha uygundur; süreç adımlarını göstermek için ise BPMN ya da akış şeması.

Temel öğeler: yaşam çizgisi, mesaj ve aktivasyon

Diyagramın üst kısmında katılımcılar yan yana dizilir. Her katılımcı bir kutu ile gösterilir ve altından kesikli bir dikey çizgi iner: bu çizgi yaşam çizgisidir. Zaman yukarıdan aşağıya akar; aşağıdaki mesaj yukarıdakinden sonra gerçekleşir.

Katılımcılar arasındaki iletişim yatay oklarla gösterilir. Okun üzerinde mesajın adı yazılır, örneğin "siparişi onayla". Yaşam çizgisi üzerindeki ince dikdörtgen aktivasyon çubuğudur: o katılımcının mesajı alıp işini yaptığı süreyi gösterir.

Yaygın düzen: soldan sağa katılımcılar, işi başlatandan başlayarak sıralanır. Kullanıcı en solda, veritabanı ve dış servisler sağdadır. Bu düzen okların çoğunu sağa doğru yönlendirir ve diyagramı okunur kılar.

Katılımcı sayısını az tutun. Çok katılımcılı diyagram enine uzar ve okunmaz. Çok katılımcı gerekiyorsa senaryoyu bölün ve her bir alt senaryoyu ayrı diyagramda çizin.

Mesaj türleri: senkron, asenkron, dönüş

Oklar mesajın türünü gösterir. Bunu doğru çizmek, davranışı doğru anlatmak demektir.

Senkron mesaj, gönderenin cevabı beklediği çağrıdır. Dolu ok başlığıyla çizilen düz bir çizgiyle gösterilir. Asenkron mesajda gönderen cevabı beklemeden devam eder; açık (içi boş) ok başlığıyla gösterilir. Dönüş mesajı, çağrının sonucunu geri taşır ve kesikli çizgiyle çizilir.

Ayrıca bir katılımcının başka bir katılımcıyı oluşturması ya da yok etmesi gösterilebilir: oluşturma mesajı yeni katılımcının kutusuna iner; yok etme, yaşam çizgisinin sonunda bir çarpıyla belirtilir. Ayrıca bir katılımcı kendi kendine mesaj da gönderebilir (kendine ok); iç bir işlem için kullanılır.

Senkron ve asenkron ayrımı mimari kararı da yansıtır: ödeme onayı beklenerek mi ilerliyor, yoksa bir kuyruğa bırakılıp devam mı ediliyor? Diyagram bu soruyu cevaplar.

Şekil 1

Okun biçimi mesajın davranışını anlatır

Mesaj türleri

ÇizimAnlamı
SenkronDolu ok başlığı, düz çizgiGönderen cevabı bekler
AsenkronAçık ok başlığı, düz çizgiGönderen beklemeden devam eder
DönüşKesikli çizgiÇağrının sonucunu geri taşır
OluşturmaYeni katılımcı kutusuna inen okKatılımcı akış sırasında doğar
Kaynak: Genel UML gösterimiMindset Institute

Örnek: sipariş onayı senaryosu

Senaryo: kullanıcı sepeti onaylıyor, uygulama ödeme servisini çağırıyor, ödeme başarılıysa sipariş kaydediliyor ve kullanıcıya onay gösteriliyor. Katılımcılar soldan sağa: Kullanıcı, Web uygulaması, Ödeme servisi, Sipariş veritabanı.

Mesaj sırası şöyledir:

  • Kullanıcı → Web uygulaması: siparişi onayla
  • Web uygulaması → Ödeme servisi: ödemeyi al (senkron)
  • Ödeme servisi → Web uygulaması: ödeme sonucu (dönüş)
  • Web uygulaması → Sipariş veritabanı: siparişi kaydet
  • Web uygulaması → Kullanıcı: onay mesajı

Her ok, bir cümleyle anlatabileceğiniz bir iş adımıdır. Ödeme servisinin ardında kart işleme gibi ayrıntıları göstermeyin; bu diyagramın konusu değildir.

Çizerken şu sırayı izleyin: önce katılımcıları yerleştirin, sonra ana mesajları yukarıdan aşağıya ekleyin, dönüşleri çizin, aktivasyon çubuklarını koyun. Ana akış tamamlandıktan sonra hata ve alternatif durumları çerçevelerle ekleyin.

Şekil 2

Önce ana akış, sonra alternatifler çizilir

Çizim sırası

  1. Katılımcılarİşi başlatandan başlayarak soldan sağa yerleştirilir.
  2. Ana mesajlarYukarıdan aşağıya, iş sırasıyla çizilir.
  3. DönüşlerCevap gerektiren çağrıların sonuçları eklenir.
  4. Aktivasyonİşin yapıldığı süre çubukla gösterilir.
  5. ÇerçevelerKoşullu ve tekrarlı akışlar eklenir.
Kaynak: Sayfa içeriğiMindset Institute

alt, opt ve loop çerçeveleri

Gerçek senaryolar düz değildir; koşullar ve tekrarlar vardır. Sequence diyagramı bunları çerçeve (birleşik parça) ile gösterir. Çerçeve, diyagramın ilgili kısmını bir dikdörtgenle sarar ve köşesinde işleç adını taşır.

alt (alternatif) çerçevesi, koşula göre farklı akışları gösterir. Dikdörtgen kesikli çizgiyle bölünür; her bölümde bir koşul yazılır. Örnek: ödeme başarılıysa siparişi kaydet, değilse hata mesajı göster.

opt (isteğe bağlı) çerçevesi, yalnızca koşul doğruysa gerçekleşen bir kısmı sarar; alternatifi yoktur. Örnek: kullanıcı kupon girdiyse kuponu doğrula.

loop (döngü) çerçevesi, koşul sürdüğü sürece tekrar eden mesajları sarar. Örnek: sepetteki her ürün için stoğu kontrol et.

Diğer işleçler de vardır; örneğin paralel akış için par ve akışı kesen durum için break. Başlangıçta alt, opt ve loop ile çoğu senaryoyu anlatırsınız. Çerçeve içinde çerçeve açmak mümkündür, ama iç içe fazla katmana çıkmamak gerekir.

Şekil 3

Akışın biçimi çerçeve işlecini belirler

Çerçeve seçimi

Hangi çerçeveyi kullanmalı?
  1. Koşula göre iki farklı yol varaltÖdeme başarılı ya da başarısız.
  2. Koşul doğruysa ek bir adım varoptKupon girildiyse doğrula.
  3. Aynı adımlar tekrar ediyorloopHer ürün için stok kontrolü.
  4. Adımlar eş zamanlı ilerliyorparBildirim ve fatura birlikte.
Kaynak: Genel UML gösterimiMindset Institute

Sık hatalar ve iyi uygulama

Birinci hata, diyagramı kod düzeyine indirmektir. Her fonksiyon çağrısını çizerseniz diyagram uzar ve iş akışını anlatmaz. Mesaj adları, işin anlamını taşısın; sınıf ve metot adı yerine iş cümlesi kullanın.

İkinci hata, senaryoları karıştırmaktır. Başarılı ödeme, başarısız ödeme ve iade tek diyagrama sığmayabilir. Ana akışı çizip alternatifleri alt çerçeveyle gösterin ya da ayrı diyagrama bölün.

Üçüncü hata, yön ve sırayı karıştırmaktır. Dönüş mesajını yanlış yöne çizmek ya da senkron/asenkron ayrımını yapmamak, mimariyi yanlış anlatır. Çizimi bitirince bir geliştirici ile üzerinden geçin.

İyi uygulama olarak diyagrama bir başlık verin, senaryoyu bir cümleyle tanımlayın ve katılımcıları tutarlı adlandırın. Diyagramı kaynak kontrol sistemindeki metin tabanlı bir araçla tutarsanız, değişiklikleri takip etmek kolaylaşır. Gereksinimler değiştiğinde diyagram da güncellenmezse, belgenin güveni sarsılır.

Bu beceriyi Mindset programlarında nerede çalışırsınız

Sistem Analistliği Sertifika Programı, UML ile Sistem Modelleme modülünü içerir; sequence diyagramı bu modelleme çalışmasının bir parçasıdır. Aynı program, BPMN ile iş süreci modelleme, gereksinim türleri ve yazım standartları ile entegrasyon ve API analizi gibi konuları da kapsar.

Bu çerçeve, analistin süreç, gereksinim ve sistem etkileşimini farklı diyagramlarla anlatma becerisini bir arada geliştirir.

İlgili Mindset programı

Sistem Analistliği Sertifika Programı

Sık sorulanlar

Sık sorulan sorular

Sequence diyagramı ile akış şeması arasındaki fark nedir?

Akış şeması bir sürecin adımlarını ve karar noktalarını gösterir; kimin yaptığı ikincil kalabilir. Sequence diyagramı ise katılımcılar arasındaki mesaj alışverişini zaman sırasıyla gösterir. Odak, adımlar değil, kimin kime ne zaman ne dediğidir.

Yaşam çizgisi nedir?

Bir katılımcının, örneğin kullanıcının, uygulamanın ya da servisin, zaman içindeki varlığını gösteren çizgidir. Katılımcıyı temsil eden kutudan aşağı doğru kesikli bir çizgi olarak inir. Mesajlar bu çizgiler arasında yatay oklarla çizilir.

Senkron ve asenkron mesaj nasıl çizilir?

Senkron mesaj dolu ok başlığı ile, asenkron mesaj açık ok başlığı ile düz çizgi üzerinde gösterilir. Dönüş mesajı kesikli çizgiyle çizilir. Senkron çağrıda gönderen cevabı bekler; asenkron çağrıda beklemeden devam eder.

alt ve opt çerçevesi arasındaki fark nedir?

alt, koşula göre birden fazla alternatif yolu gösterir ve bölümlere ayrılır. opt ise tek bir isteğe bağlı kısmı sarar; koşul doğruysa çalışır, değilse atlanır. İkisi arasındaki fark, alternatif bir yolun olup olmamasıdır.

Diyagramı hangi araçla çizmeliyim?

Aracın seçimi ekibin alışkanlığına ve diyagramı ne kadar güncel tutacağınıza bağlıdır. Çizim araçları kolay başlangıç sağlar. Metinle tanımlanan araçlar ise sürüm kontrolünde değişiklik takibini kolaylaştırır. Önemli olan, diyagramın okunur ve güncel olmasıdır.

Sequence Diyagramı Nasıl Çizilir? Adım Adım Örnek