Kullanım senaryosu

Kullanım senaryosu (İng. use case), sistemlerin fonksiyonel ihtiyaçlarını 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 imkân 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

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 scenario ve usage case terimlerini kullanmış; ancak doğal kullanıma uymadıklarını düşünerek use case terimi üzerinde nihaî kararını vermiştir. Türkçede ise doğal kullanıma uyduğu için usage scenarios teriminin birebir ç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ı, fonksiyonel ihtiyaçların çıkarılmasında kullanılan en yaygın uygulamalardan biri hâline gelmiştir. Kullanım senaryoları nesne yönelimli olmadıklarından doğdukları nesne yönelimli çevrelerin dışında da uygulama alanı bulmaktadır.

Kapsam ve amacı

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 (bazen düzinelerce) kullanım senaryolarına 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 de birden fazla senaryo ile ilgili olabilir.
Kullanım senaryosu, haricî 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. Mesela "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 ve böyle bir yaklaşımdır. Böylece analist, sistemin nasıl davranacağından çok ne yapması gerektiği üzerinde çalışmalarını yoğunlaştırabilir.
Kullanım senaryoları, iş seviyesinde iş kullanım senaryosu veya sistem seviyesinde sistem kullanım senaryosu olarak 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 (mesela müşteriler) tarafından kendi amaçlarını (mesela ü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.