Kullanım Senaryosu
Kullanım Senaryosu (Use Case), sistemlerin işlevsel gereksinimlerini kapsamak için yazılım ve sistem mühendisliğinde kullanılan bir tekniktir. Aktörlerin (son kullanıcıların veya diğer sistemlerin) sistemle etkileşimini tanımlayan senaryolardır.
Kullanım senaryolarında, son kullanıcının veya alan uzmanının teknik terimlerden arınmış dili tercih edilir. İş analisti ve son kullanıcılar kullanım senaryolarının yazılmasında çoğunlukla birlikte çalışırlar. Kullanım senaryoları, senaryo grupları üzerinde çalışmaya olanak veren Kullanım Senaryosu Diyagramlarından ayrı tutulmalıdır.
Görevlerin veya paydaşların amaçlarını temsil eden kullanım senaryoları, sistem mühendisliğinde yazılım mühendisliğinde kullanıldığından daha yüksek seviyede kullanılır.
Tarihçe[değiştir | kaynağı değiştir]
1986 yılında Ivar Jacobson,(daha sonra Tümleşik Modelleme Dili’ne önemli katkılarda bulunacaktır) kullanım senaryolarını belirtmede kullanılan görsel modelleme tekniğini ilk kez kodlamıştır. Önceleri İngilizcede usage scenarios ve usage case [1].terimlerini kullanmış; ancak doğal kullanıma uymadıklarını düşünerek use case terimi üzerinde nihai kararını vermiştir. Türkçede ise doğal kullanıma uyduğu için usage scenarios teriminin bire bir çevirisi olarak kullanım senaryoları kullanılmaktadır. Aralarında Kurt Bittner, Alistair Cockburn ve Gunnar Overgaard gibi isimlerinde bulunduğu birçok kişi, Jacobson’un başlattığı bu tekniği daha da geliştiren çeşitli katkılarda bulunmuşlardır.
1990'larda kullanım senaryoları, işlevsel gereksinimlerin çıkarılmasında kullanılan en yaygın uygulamalardan biri haline gelmiştir. Kullanım senaryoları nesne yönelimli olmadıkları için doğduğu nesne yönelimli çevrelerin dışında da uygulama alanı bulmaktadır.
Kapsam ve amacı[değiştir | kaynağı değiştir]
Kullanım senaryoları, bir amacın veya görevin nasıl başarılacağını tanımlamaya odaklanır. Yazılım projelerinde yeni bir sistem konusunu kapsamak için kullanım senaryolarına (bazen düzinelerce) ihtiyaç duyulur. Projenin niteliği ve durumu, kullanım senaryolarının ne kadar detaylandırılacağını belirler.
Kullanım senaryoları ile çözümlenen sistemin özelliklerini birbiri ile karıştırmamak gerekir. Bir senaryo birden fazla özellikle; bir özellik ise birden fazla senaryo ile ilgili olabilir.
Kullanım senaryosu, harici aktörlerle sistem arasındaki etkileşimi tanımlar. Varlığın veya kişinin sistemle etkileşiminde içinde bulunduğu role aktör denir. Sistemle etkileşim içinde olan bir kişi, farklı rolleri icra ettiği için iki farklı aktörü temsil edebilir. Örneğin, "Mehmet" ATM'yi kullandığında Müşteri rolünde; ATM'nin boş para çekmecelerini doldurduğunda bir Banka Memuru rolünü oynayabilir.
Kullanım senaryoları, sistemi bir kara kutu olarak ele alır: Sistem cevaplarını içeren sistem etkileşimleri, sistemin dışında gibi algılanır. Bu maksatlı bir yaklaşımdır. Böylece analist, sistemin nasıl davranacağından çok ne yapması gerektiği üzerinde yoğunlaşabilir.
Kullanım senaryoları, iş seviyesinde (iş kullanım senaryosu) veya sistem seviyesinde (sistem kullanım senaryosu) tanımlanabilir. İki farklı seviyedeki tanımlar arasındaki fark kapsamlarıdır: İş kullanım senaryosu, tüm işi kara kutu olarak görür ve iş aktörleri (örneğin müşteriler) tarafından kendi amaçlarını (örneğin ürün alımı) gerçekleştirmek için nasıl kullanılacağını belirtir. İş kullanım senaryolarının detayı, iş süreçlerini tanımlar.