BABOK®, iş analizi disiplinine yönelik uluslararası kabul görmüş bir rehberdir. IIBA® tarafından yayımlanan bu kaynak, iş analistlerinin kullanabileceği teknikleri, bilgi alanlarını ve en iyi uygulamaları sistematik bir çerçevede sunar.
Bu yazıda, BABOK’ta yer alan iş analizi tekniklerinden biri olan Sequence Diagrams ele alınmış ve içerik Türkçeye çevrilerek blog formatında yeniden düzenlenmiştir. Amacım, teknik kavramların özünü koruyarak, konuyu hem iş analistleri hem de teknik ekipler için daha anlaşılır ve uygulanabilir bir perspektifte sunmaktır.
Sequence diagramları, bir senaryonun çalışma akışı sırasında sistemdeki object’ler arasında gerçekleşen bilgi akışını göstererek kullanım senaryolarının işleyiş mantığını modellemek amacıyla kullanılır.
Bir sequence diagram, belirli bir use case kapsamında sistem içindeki aktörler, object ve componentler arasındaki etkileşimi zamansal sırayla gösteren davranışsal bir UML diyagramıdır.
Sequence diagramları ayrıca UI bileşenlerinin veya componentlerin nasıl etkileşim kurduğunu göstermek amacıyla da sıklıkla kullanılır.
Diyagram, bilgiyi hem yatay hem de dikey eksende hizalanmış şekilde temsil eder. Birbirine mesaj gönderen objeler, sayfanın üst kısmında soldan sağa doğru hizalanmış kutular şeklinde gösterilir. Her object, sayfanın altına kadar uzanan dikey bir çizgi (lifeline) ile temsil edilir ve sayfa üzerinde bir sütun alanı kaplar.
Bir object’ten diğerine gönderilen mesajlar yatay oklar ile gösterilir. Mesajların sırası, sayfanın sol üst köşesindeki ilk mesajdan başlayarak yukarıdan aşağıya ve soldan sağa doğru ilerleyen bir akış şeklinde temsil edilir.
Lifeline
Bir lifeline, sequence diagram’da modellenen senaryo boyunca bir object’in yaşam süresini temsil eder. Aşağıdaki örnekte object sıralaması gösterilmektedir.
Lifeline, her object kutusundan başlayarak sayfanın altına doğru dikey şekilde uzanan kesikli bir çizgi olarak çizilir.

Activation Box
Bir activation box, bir operasyonun yürütüldüğü zaman aralığını temsil eder.
Bir operasyonu aktive eden çağrı, activation object’e doğru yönelen dolu ok başlıklı bir ok ile gösterilir. Lifeline, sonlandırıldığı noktada bir X işareti ile gösterilebilir.

Mesaj
Bir mesaj, iki object arasındaki etkileşimi ifade eder. Mesaj, mesajı gönderen object’in activation box’ından çıkarak mesajı alan object’in activation box’ına yönelen bir ok ile gösterilir.
Mesajın adı, okla gösterilen çizginin üzerine yazılır. Mesajların farklı türleri bulunmaktadır:
Synchronous Call (Senkron Çağrı): Kontrolü mesajı alan object’e devreder. Gönderen object, bir return message alana kadar işlem yapamaz.
Asynchronous Call (Asenkron Çağrı): Signal olarak da adlandırılır. Object’in, sinyali gönderdikten sonra kendi işlem sürecine devam etmesine olanak tanır. Bir object aynı anda birden fazla signal gönderebilir; ancak aynı anda yalnızca bir signal kabul edebilir.

Kullanım Açısından Değerlendirme
Sağladığı Faydalar
Sistem içerisindeki object’ler arasındaki etkileşimi, gerçekleştiği kronolojik sıraya göre gösterir.
Object’ler arasındaki etkileşimi görsel bir şekilde sunarak, iş mantığının (logic) paydaşlar tarafından görece kolay biçimde doğrulanmasına olanak sağlar.
Use case’ler, daha fazla detay ve iş sürecine dair daha derin bir anlayış sağlamak amacıyla bir veya birden fazla sequence diagram’a dönüştürülebilir.
Kısıtlar
Sistemdeki her use case için eksiksiz bir sequence diagram seti oluşturmak, gerekli olmadığı durumlarda zaman ve efor kaybına neden olabilir.
Tarihsel olarak system flow modelleme amacıyla kullanıldığından, bazı durumlarda fazla teknik bulunabilir.
