- Use case diyagramı nedir ve ne işe yarar
- Diyagramın öğeleri: aktör, kullanım durumu, sistem sınırı
- Adım adım çizim: örnek bir çevrim içi mağaza
- include ve extend ilişkileri
- Kullanım durumlarını doğru adlandırmak
- Diyagramı doğrulamak ve belgelemek
- Bu beceriyi Mindset programlarında nerede çalışırsınız
- Sık sorulan sorular
Use Case (Kullanım Durumu) Diyagramı Çizme: Adımlar ve Örnek
Use case diyagramı, bir sistemi kimlerin hangi amaçlarla kullandığını tek sayfada gösterir. Bu rehber aktör ve kullanım durumu belirlemeyi, sistem sınırını çizmeyi ve include ile extend farkını örnekle anlatır.
Bir bakışta
- Diyagram sistemin ne yaptığını değil, kime ne sunduğunu gösterir. Odak, kullanıcının sistemden elde etmek istediği değerdir; ekran akışı ya da kod yapısı değildir.
- Aktör rolü temsil eder, kişiyi değil. Müşteri, yönetici, dış ödeme sistemi gibi roller aktör olabilir; aynı kişi farklı rollerde farklı aktörlerdir.
- Kullanım durumu fiille adlandırılır. "Siparişi onayla" gibi bir hedefi anlatan ad, "Sipariş ekranı" gibi ekran adından daha doğrudur.
- Sistem sınırı kapsamı netleştirir. Dikdörtgenin içindekiler sistemin sorumluluğundadır; dışındakiler aktörlerdir.
- include ve extend farklı ilişkilerdir. include zorunlu alt davranışı, extend isteğe bağlı ya da koşullu davranışı gösterir.
Use case diyagramı nedir ve ne işe yarar
Use case (kullanım durumu) diyagramı, UML'in davranış diyagramlarından biridir. UML belirtimi Object Management Group (OMG) tarafından yönetilir. Diyagram, bir sistemin dış dünyaya sunduğu işlevleri ve bunları kimin kullandığını yüksek düzeyde gösterir.
Gereksinim çalışmasının başında işe yarar. Paydaşlarla konuşurken "bu sistem kimler için, hangi işleri yapacak?" sorusuna tek sayfada cevap verir. Detay değil, kapsam konuşulur. Bu yüzden iş birimleri ve teknik ekip aynı diyagramın üzerinden anlaşabilir.
Diyagram, sistemin nasıl çalıştığını anlatmaz. Adım adım akış için kullanım durumu senaryosu (metin) yazılır; mesajların zamansal sırası için sequence diyagramı kullanılır. Kullanım durumu diyagramı yalnızca kimin ne için sistemi kullandığını gösterir.
Kullanıcı hikayesi ile ilişkisi için karşılaştırma rehberine bakabilirsiniz. Burada odak, diyagramın nasıl çizildiğidir.
Diyagramın öğeleri: aktör, kullanım durumu, sistem sınırı
Üç temel öğe vardır. Aktör, sistemin dışındaki bir rolü gösterir ve genellikle çöp adam figürüyle çizilir. Dış sistemler de aktör olabilir; örneğin ödeme sağlayıcısı. Kullanım durumu, oval bir şekille gösterilir ve içine kısa bir fiil cümlesi yazılır. Sistem sınırı ise kullanım durumlarını çevreleyen bir dikdörtgendir; başlığı sistemin adını taşır.
Aktör ile kullanım durumu arasına düz bir çizgi (ilişkilendirme) çekilir. Bu çizgi "bu aktör bu hedef için sistemi kullanır" anlamına gelir. Çizgilere ok eklemek gerekmez; yön bilgisi bu diyagramda ikincildir.
Aktörler sistem sınırının dışında, kullanım durumları içinde olur. Bu konum, kapsam sorusunu cevaplar: bir şey kutunun içindeyse sistemin işidir, dışındaysa değildir. Kapsam tartışmalarında diyagram bu yüzden değerlidir.
Birincil aktör, hedefi başlatan taraftır. İkincil aktör ise sistemin işini tamamlamak için ihtiyaç duyduğu taraftır; örneğin ödeme sağlayıcısı. Diyagramda ikisini ayırt etmek, hangi tarafın neden gerekli olduğunu anlatır.
Aktörün hedefi kullanım durumunu doğurur
Diyagramın mantığı
- AktörSistemi kim kullanıyor?
- HedefAktör sistemden ne elde etmek istiyor?
- Kullanım durumuHedefi karşılayan, fiille adlandırılan işlev.
Adım adım çizim: örnek bir çevrim içi mağaza
Çevrim içi bir mağaza örneği üzerinden ilerleyelim.
- Sistemi ve sınırı belirleyin: "Çevrim içi mağaza" adlı bir dikdörtgen çizin.
- Aktörleri bulun: Müşteri, Mağaza yöneticisi ve dış Ödeme sağlayıcısı.
- Her aktörün hedeflerini listeleyin: Müşteri ürün arar, sepete ekler ve siparişi onaylar. Yönetici ürün ekler ve siparişleri izler.
- Hedefleri fiille adlandırın: "Ürün ara", "Sepete ekle", "Siparişi onayla", "Ürün ekle", "Siparişleri izle".
- Aktörleri ilgili kullanım durumlarına bağlayın.
- Ortak ya da isteğe bağlı davranışları include ve extend ile ayrıştırın.
Hedefleri toplarken paydaşlarla konuşmak şarttır. Kullanıcıya "ne yapıyorsunuz?" yerine "bu sistemden ne elde etmek istiyorsunuz?" diye sorun. İlki mevcut adımları, ikincisi gerçek hedefi getirir.
Çizimi bitirdiğinizde her kullanım durumunun bir aktöre bağlı olduğunu ve aktörsüz bir kullanım durumu kalmadığını kontrol edin. Hiçbir aktörün kullanmadığı bir işlev, ya gereksizdir ya da bir aktör eksiktir.
include ve extend ilişkileri
include ve extend, kullanım durumları arasındaki iki ilişkidir ve en çok karıştırılan kısımdır.
include, bir kullanım durumunun başka bir kullanım durumunu her zaman içerdiğini gösterir. "Siparişi onayla" her seferinde "Ödemeyi al" adımını da içeriyorsa, ödeme ayrı bir kullanım durumu olarak çizilir ve include ile bağlanır. Böylece birden çok kullanım durumunda tekrar eden davranış tek yerde tanımlanır.
extend, bir kullanım durumunun yalnızca belirli bir koşulda genişletildiğini gösterir. "Siparişi onayla" sırasında kullanıcı kupon girerse "Kuponu uygula" kullanım durumu devreye girer; girmezse girmez. Bu isteğe bağlı davranış extend ile gösterilir.
Pratik kural: zorunluysa include, isteğe bağlıysa extend. Yönü de unutmayın: include okunun ucu eklenen kullanım durumuna gider; extend okunun ucu genişletilen ana kullanım durumuna gider.
Bu ilişkileri aşırı kullanmayın. Her ayrıntıyı ayrı kullanım durumu yapmak diyagramı parçalar. Birden fazla yerde gerçekten tekrar eden davranış include için iyi bir adaydır.
include zorunlu, extend koşullu davranışı gösterir
İlişki seçimi
| include | extend | |
|---|---|---|
| Ne zaman | Ana işlev bunu her seferinde yapıyor | Yalnızca belirli bir koşulda devreye giriyor |
| Örnek | Siparişi onaylarken ödemeyi almak | Kupon girildiyse kuponu uygulamak |
| Ok yönü | Ana kullanım durumundan eklenene | Genişletenden ana kullanım durumuna |
| Kural | Zorunluysa include | İsteğe bağlıysa extend |
Kullanım durumlarını doğru adlandırmak
İyi bir ad, diyagramı okunur yapar. Kullanım durumu, aktörün bir hedefini anlatır ve fiil ile başlar. "Siparişi onayla", "Şifreyi sıfırla" ya da "Rapor al" gibi.
En sık hata, ekran ya da işlev adı kullanmaktır: "Sipariş ekranı", "Giriş formu". Bunlar kullanıcı arayüzünü anlatır, hedefi değil. Arayüz değişse bile hedef aynı kalır; diyagramı arayüze bağlarsanız her tasarım değişikliğinde yeniden çizmeniz gerekir.
İkinci hata, çok küçük adımları kullanım durumu yapmaktır: "Düğmeye tıkla", "Alanı doldur". Kullanım durumu bir bütün hedef olmalı; aktör bu hedefe ulaşınca değer elde etmeli. Ölçüt şudur: aktör bu işlemi bitirdiğinde sistemden bir şey kazandı mı?
Üçüncü hata, çok büyük hedeflerdir: "Alışveriş yap" tek bir oval olursa diyagram bilgi vermez. Gereken ayrıntıyı, hedefin alt hedeflerine bölerek verin ama iç adımlara inmeyin.
Ad, ekranı değil hedefi anlatmalı
Adlandırma
Diyagramı doğrulamak ve belgelemek
Diyagram çizildikten sonra paydaşlarla gözden geçirin. Sorular basittir: eksik aktör var mı, bu işlevlerden biri sistemin kapsamı dışında mı, bir aktör için önemli bir hedef atlanmış mı? Gözden geçirme çoğunlukla çizimden çok iletişimdir.
Diyagram tek başına belge değildir. Her kullanım durumu için kısa bir senaryo metni yazılır: ön koşul, ana akış, alternatif akışlar ve sonuç. Diyagram haritadır, senaryo yol tarifidir. Gereksinimleri bu senaryolardan çıkarmak, ekibin aynı şeyi anlamasını sağlar.
Diyagramı kapsam yönetiminde kullanın. Yeni bir istek geldiğinde "hangi aktörün hangi hedefi için?" diye sorun ve diyagramda yerini bulun. Yeri yoksa kapsam genişliyor demektir; karar bilinçli verilmelidir.
Son olarak diyagramı güncel tutun. Kullanılmayan işlevler diyagramdan çıkarılmalı, yeni aktörler eklenmelidir. Güncel olmayan bir diyagram, yanlış bilgi veren bir diyagramdır.
Bu beceriyi Mindset programlarında nerede çalışırsınız
Sistem Analistliği Sertifika Programı, UML ile Sistem Modelleme modülünün yanında paydaş analizi, gereksinim türleri ve yazım standartları ile önceliklendirme ve izlenebilirlik konularını da içerir.
Kullanım durumu diyagramı bu modüllerin birleştiği yerdedir: paydaşlardan toplanan hedefler gereksinimlere dönüşür ve diyagramla kapsam olarak gösterilir.
İlgili Mindset programı
Sistem Analistliği Sertifika Programı
Sık sorulan sorular
Use case diyagramında aktör kimdir?
Aktör, sistemle etkileşen ve sistemin dışında kalan bir rol ya da dış sistemdir. Müşteri, yönetici ya da ödeme sağlayıcısı aktör olabilir. Aktör bir kişiyi değil rolü temsil eder; aynı kişi farklı durumlarda farklı aktör rolü üstlenebilir.
include ile extend arasındaki fark nedir?
include, bir kullanım durumunun başka bir kullanım durumunu her zaman içerdiğini, yani zorunlu bir alt davranışı gösterir. extend ise yalnızca belirli bir koşulda devreye giren isteğe bağlı davranışı gösterir. Zorunluysa include, koşulluysa extend kullanılır.
Sistem sınırı neden çizilir?
Sistem sınırı, hangi işlevlerin sistemin sorumluluğunda olduğunu gösterir. Kutunun içindeki kullanım durumları sistemin kapsamındadır, dışındaki aktörlerse sistemle etkileşen dış taraflardır. Kapsam tartışmalarında bu sınır en önemli referanstır.
Use case diyagramı ile sequence diyagramı aynı şey mi?
Hayır. Use case diyagramı kimin sistemden ne elde etmek istediğini gösterir ve kapsamı anlatır. Sequence diyagramı ise bir senaryoda katılımcıların hangi mesajları hangi sırayla alıp verdiğini gösterir. İlki kapsam, ikincisi etkileşim sırasıdır.
Bir diyagramda kaç kullanım durumu olmalı?
Sabit bir sayı yoktur. Diyagram tek bakışta okunabilir olmalı. Çok büyük sistemlerde diyagramı alt sistemlere ya da aktör gruplarına göre bölmek daha okunaklıdır. Okunmayacak kadar kalabalıksa, ayrıntı düzeyi fazla düşük demektir.