Kullanım durumu diyagramı: kullanım durumlarını ve aktörleri gösterme
Kısaca: Bir kullanım durumu diyagramı hangi aktörlerin bir sistemi kullandığını ve sistemin onlara hangi işlevleri sunduğunu gösterir; gereksinimler için basit, anlaşılır bir genel bakıştır.
Biraz daha ayrıntılı: UML kullanım durumu diyagramı şunu yanıtlar: kim sistemi ne için kullanıyor? Akış ya da teknoloji göstermez, kullanıcı gözünden işlev kapsamını gösterir. Bu yüzden gereksinim şartnamelerine, müşteri görüşmelerine ve IHK belgelemesine uygundur.
Ayrıntılı
Yapı taşları
- Aktör (çöp adam): sistemin dışındaki rol (müşteri, yönetici, ödeme hizmeti, başka bir sistem).
- Kullanım durumu (elips): bir aktör için hizmet (“sipariş ver”, “hesabı engelle”), fiil + nesne olarak adlandırılır.
- Sistem sınırı (dikdörtgen): neyin sisteme ait olduğu, neyin olmadığı.
- İlişkilendirme (çizgi): aktör kullanım durumunu kullanır.
- «include»: bir kullanım durumu başka birini her zaman içerir (“sipariş” → “oturum aç”).
- «extend»: isteğe bağlı genişletme (“sipariş” ← “kupon kullan”).
- Genelleme: özel durum (premium müşteri bir müşteridir).
Örnek (çevrimiçi mağaza)
Müşteri ──── Ürün ara
Müşteri ──── Sipariş ver ──«include»→ Oturum aç
←«extend»── Kupon kullan
Yönetici ──── Ürünleri yönet
Ödeme hizmeti ── Ödemeyi işle
Aktörler sistem sınırının dışında, kullanım durumları içinde durur.
Yazma ve kontrol
- Kullanım durumu başına kısa bir tanım: tetikleyici, ön koşul, akış (ana senaryo), alternatif ve hata durumları, sonuç, son koşul. Bundan kullanıcı hikâyeleri, test senaryoları ve etkinlik/sıra diyagramları doğar.
- Adlandırma kullanıcının gözünden, teknik değil (“veritabanı girdisini değiştir” yerine “parolayı sıfırla”).
- Çok ayrıntılı olmasın: genel bakış için 5 ila 15 kullanım durumlu bir diyagram yeter.
- Tüm aktörleri ve kullanım durumlarını müşteriyle kontrol et.
Sınırlar ve araçlar
Kullanım durumu diyagramları sıra, veri, kalite gereksinimleri (performans, güvenlik) göstermez; bunlar metinde, etkinlik diyagramlarında, veri modelinde, işlevsel olmayan gereksinimlerde yer alır. Araçlar: draw.io, PlantUML, Mermaid, StarUML, Lucidchart. Metin tabanlı (PlantUML) depoda sürümlenebilir.
Ayrıca bak: UML sınıf ve sıra diyagramı, Modelleme (UML, EPC, BPMN), Gereksinim ve şartname belgeleri, Kullanıcı hikâyeleri