Gereksinimlerin toplanması ve üst düzey paydaş iletişimi için, ürün yöneticilerinin bir tüketicinin bir sistem veya ürünle nasıl etkileşim kuracağını açıklayabilmesi gerekir. Bu, ürünün kullanıcılarının, ürünle nasıl etkileşime geçtiklerinin ve ürünün ne yaptığının açıklamasını içerebilir. Bu bilgileri görsel olarak temsil etmenin harika bir yolu, bir use case oluşturmaktır. Bu kılavuzda, use case nedir tanımlayacağız, içindeki öğeleri ve ne yapmak üzere tasarlandıklarını açıklayacağız ve bir use case’in nasıl oluşturulacağını adım adım inceleyeceğiz. Ayrıca pratikte nasıl göründüklerini göstermek için bazı use case örneklerine de bakacağız.
Başlıklar
Use Case Nedir ve Nasıl Çalışır?
Use case kavramını temel olarak bir kullanıcının bir sistem veya ürünle etkileşime yönteminin izahı şeklinde ifade edebiliriz. Şirketler, başarı senaryoları, başarısızlık senaryoları ve önemli değişkenler veya istisnalar oluşturmak için use case oluşturur.
Birçok kuruluş, bir use case yazmak veya görsel olarak temsil etmek için bazı örnekler için Miro, LucidChart ve SmartDraw gibi bir use case modelleme araçları kullanır.
Use case nedir sorusuna, use case’ler karmaşık kavramları basitleştirmek için yazılım geliştirme ortamlarında sıklıkla kullanılır, ancak proje yönetiminde gereksinimleri toplamak ve bir projenin kapsamını tanımlamak kadar önemli olabilirler şeklinde cevap verebiliriz.
Use Case’leri Kim Oluşturur?
Use case nedir sorusunun ardından bunları kimin oluşturduğu sorusunun cevabına geçebiliriz. Ürün yönetimi, ürün geliştirme ve ürün testi alanlarının tümü use case metodolojisini kullanır. Ürün yöneticileri ve geliştiriciler, use case’leri benzer bir şekilde kullanır: sistemin kullanıcı faaliyetlerine nasıl tepki vereceğini belirlemek için bir tasarım aracı olarak. Bununla birlikte, bazı temel farklılıklar vardır.
Ürün yöneticileri genellikle kullanıcı odaklı use case’leri belgelerken, geliştiriciler ürün odaklı use case’leri belgeler. Kullanıcı odaklı use case’ler, öncelikle kullanıcı ve hedefleriyle ilgilidir. Bunlar daha sonra ürün geliştirme sürecinde karar vermeye rehberlik etmesi için geliştiricilere iletilir.
Ürün geliştiricileri, önemli bağlam sağlamak için sıklıkla teknik ve tasarım öğeleri ekler. Bu iyileştirilmiş use case’ler, geliştirme ekibine ürünü ve özelliklerini tasarlamaya, oluşturmaya ve test etmeye başlamak için ihtiyaç duyduğu içgörüyü sağlar.
Use Case Ne İçin Tasarlanmıştır?
Sürecin başlarında sistem taleplerini ortaya çıkarmak için bir use case tasarlanmıştır.
Use case, sistemin kendisinden ziyade sistemin kullanıcılarına odaklanır. Bir kullanıcı vakası, yalnızca geliştiriciler ve testçiler değil, tüm paydaşlar tarafından anlaşılabilir olmalıdır çünkü bunlar çoğunlukla anlatı niteliğindedir. Buna müşteriler, kullanıcılar ve yöneticiler dahildir.
Erken planlama aşamalarında, eldeki sorunu çözmek için hangi rollerin en uygun olduğunu dahil etmelisiniz. Bu, son kullanıcıları çözümü benimsemeye teşvik eder ve sistem devreye alındığında sürprizleri azaltır.
Her use case, sistemin yalnızca bir uygulamasını kapsayacak şekilde özel olarak tasarlanmıştır. Bununla birlikte, use case modellemenin önemli bir avantajı, tüm potansiyel sorunları da kapsamasıdır. Küçük gereksinimleri projenin başlarında bulmak, başarılı bir senaryonun istisnalarını belirleyerek çok zaman kazandırır.
Son olarak, bir use case oluşturduktan sonra, bunu nesne modelleri, test durumu tanımları, kullanıcı belgeleri ve proje planlaması (maliyet, karmaşıklık ve zamanlama tahminleri) gibi diğer birçok yazılım geliştirme bileşeninin oluşturulmasına rehberlik etmesi için kullanabilirsiniz.
Bir ürün yöneticisi olarak, use case yaratmanın en iyi gerekçelerinden biri, bunların gerçek bağlantı noktaları olarak hizmet etmeleridir. Herkesin yorum yapabilmesi için hem iş hem de teknik kullanıcılar için gerçekten anlaşılır olmalıdırlar.
İş analistleri, insanları ortak bir yaklaşım benimsemeye ve yazılımın neyi başarmayı amaçladığına dair ortak bir anlayışı paylaşmaya hizalamak için bir iletişim aracı olarak use case’lerden yararlanır.
Öte yandan bir teknik ürün yöneticisi, teknoloji jargonu kullanmadan iş paydaşlarına ulaşmak için kullanım durumlarını kullanabilir – sistemin nasıl yaptığından çok ne yaptığı hakkında konuşur. Kirli kodlama işine başladığınızda, bu, işletmenin gerçekten ihtiyaç duyduğu ve arzuladığı şeyi oluşturduğunuzdan emin olmak için iletişimi hızlandırmanıza ve netleştirmenize gerçekten yardımcı olacaktır.
Use Case’in Öğeleri
Tipik bir use case’in bileşenlerini inceleyelim ve her birinin amacını ve hedefini açıklayalım:
- Aktörler (Actors)
- Sistemler (Systems)
- Hedefler (Goals)
- Ön koşullar (Preconditions)
- Temel akış (Basic Flow)
- Alternatif akışlar (Alternative Flows)
Aktörler
Aktörler, sisteminizle etkileşime giren insanlar veya şeylerdir. Bir aktör, bir birey, bir şirket, bir ekip veya tamamen başka bir şey olabilir. Bir sistemin dışında var olan ve onunla bir tür etkileşime giren her şey bir aktör olarak nitelendirilir.
Sisteminizi kullanarak bir hedefe ulaşmak için bir etkileşimle topu yuvarlayan paydaş, birincil aktör olarak bilinir.
Sistemler
Bazılarının sahne olarak adlandırdığı sisteminiz, aktörleriniz tarafından verilen bir dizi karar ve etkileşimden oluşur.
Hedefler
Bir aktörün sistemle etkileşimlerinin sonuçları sizin hedeflerinizdir.
Sisteminiz bazı durumlarda birkaç çıktı üretirken bazı durumlarda yalnızca bir çıktı üretebilir. Devam etmeden önce, hedefinize ulaşmada herhangi bir engelle karşılaşırsanız yönteminizi değiştirmeyi düşünün.
Ön koşullar
Önkoşullar, kullanım durumundan önce ve sonra nelerin olması gerektiğine ilişkin iddialar veya gerçeklerdir.
Çoğu zaman, yazılım geliştiriciler bir sonrakinden önce gelmesi gereken eylemlerin farkındadır.
Örneğin, çevrimiçi alışveriş yapan bir kişinin ayrıntılı bir açıklama ve müşteri geri bildirimi almak için bir ürünü tıkladığını varsayalım. Sepete ekle düğmesi, ürün stokta olana ve depoda erişilebilir olana kadar görünmez.
Temel Akış
Çalıştırmada hiçbir istisna veya hata olmadan kusursuz ve tam olarak amaçlandığı gibi çalışan bir use case, temel akış veya ana başarı senaryosu olarak bilinir. Bu, çeşitli özellikleri geliştirirken sıklıkla bir başlangıç noktası görevi görür.
Tipik bir senaryonun nasıl çalıştığını bilmek, doğru kod yazmanıza ve alternatif akışlar bulmanıza yardımcı olabilir.
Alternatif Akışlar
Birincil başarı senaryosundan sapma, alternatif yol veya alternatif akış olarak bilinir. Bu genellikle sistem düzeyinde bir hata oluştuğunda ortaya çıkar.
Kullanım senaryosunun bu bölümünde, bir aktörün yapabileceği en olası veya kayda değer istisnaları sıklıkla listelersiniz. E-ticaret örneğindeki alternatif akışlar şunları içerebilir:
- Alışveriş sepeti yerine favorilere ürün ekleme
- Öğeleri arkadaşlarınızla veya aile üyelerinizle paylaşma
- Bir ürün veya hizmetle ilgili incelemelere ve yorumlara bakmak
Bir Use Case Diyagramı Neye Benzer?
Use case nedir anladığımıza göre dilerseniz gelin bir use case diyagramı neye benzer sorusuna yanıt arayalım. Bir kullanım durumu diyagramında, çöp figürler, aktörleri tasvir etmenin en tipik yoludur.
Yarattığınız kullanım durumları/hedefler, içinde her bir aktiviteyi detaylandıran birkaç kelimelik metin içeren yatay ovaller olacaktır; farklı hedefleri belirtmek için çeşitli renkler kullanabilirsiniz.
Bileşenler arasındaki bağlantıları gösteren ilişkilendirmelerde düz ve noktalı çizgiler kullanılır.
Bir sistem içindeki her bir kullanım durumu seti, dikdörtgen olan sistem sınır kutuları tarafından birlikte gruplandırılır.
Tıbbi bir klinik uygulaması için bir kullanım durumu diyagramı örneği şuna benzer:
Bir Use Case Nasıl Yazılır?
Bir use case yazmak için aşağıdaki adımları tamamlayın:
- Ürün için hedef kitleyi belirleyin.
- Bu listeden bir kullanıcı seçin.
- Kullanıcının ürünle tam olarak ne yapmak istediğini belirleyin ve her eylem için ayrı bir kullanım durumu oluşturun.
- Kullanıcı ürünü kullandığında her kullanım durumu için tipik olay akışını belirleyin.
- Kullanım durumu açıklamasında, temel kursu açıklayın. Kullanıcının ne yaptığına ve sistemin neyle yanıt verdiğine dair örnekler verin, böylece kullanıcı her ikisinden de haberdar olur
- Alternatif eylem yollarını düşünün ve temel süreç sunulduğunda kullanım durumunu “genişletmek” için bunları dahil edin.
- Kullanım durumları arasındaki bağlantıları arayın. Bunları ayıklayın ve kurslar için tipik kullanım durumları olarak işaretleyin.
- Diğer tüm kullanıcılar için 2-7 arası adımları tekrarlayın.
Use Case Şablonu
Kendi kullanım durumunuzu yazarken size yardımcı olması için aşağıdaki şablonu kullanabilirsiniz:
Bu kullanım örneği şablonunu kullanmak için buraya tıklayın ve üst menü çubuğundan Dosya > Kopya oluştur’u seçerek bir kopya oluşturun.
Use Case Örneği
Yukarıda özetlenen adımların pratikte nasıl çalıştığını göstermek için, çamaşır yıkayan bir hizmetçinin örnek use case’ine bakalım:
- Aktörler — Sakinler, kahya, vb.
- Birincil aktör – Temizlikçi
- Hedefler — Çamaşır yıkamak, tüm eşyaları katlamak, gerekirse kıyafetleri ütülemek
- Ön koşullar — Bugün Cuma ve çamaşırhanede çamaşır var.
Bir örnek use case nedir sorusu için temel akış aşağıdaki gibi gösterilebilir:
Temizlikçi cuma günü çamaşırhaneye gelir. Mevcut çamaşırhaneyi organize ediyorlar. Bundan sonra, her yükü temizler ve kuruturlar. Katlanması gereken eşyaları katlıyorlar, sonra buruşmuş eşyaları ütüleyip asıyorlar.
Alternatif akışlar:
- Kahya, buruşuk eşyaları askıya koymadan önce ütüler.
- Kahya, hala kirli bulduğu her şeyi yeniden yıkar.
Sonuç olarak use case nedir başlıklı yazımızın sonuna gelmiş bulunuyoruz. Use case’ler ürün ekiplerinin bir sistemin işlevlerini farklı kullanıcıların bakış açısından anlamalarına yardımcı olur. Kuruluştaki paydaşların çeşitli akışları ve kullanıcı gruplarının sistemle nasıl etkileşime girdiğini görsel olarak anlamalarına yardımcı olurlar.
Use case’ler, geliştirme ekibini kavramlar oluştururken ve use case’lerin uygulanabilirliğini değerlendirirken de destekler. Use case tanımı, yazılım geliştirme sürecinde çok önemli bir aşamadır ve herhangi bir ürün yöneticisi için kritik bir beceridir.
Diğer Yazılarımız:
- “Cross Margin Nedir?” başlıklı yazımızı okumak için buraya tıklayabilirsiniz.
- “Paris Blockchain Haftasının En Yenilikçi Girişimleri” başlıklı haberimizi okumak için buraya tıklayabilirsiniz.
Daha detaylı bilgi edinmek için burayı ziyaret edebilirsiniz.