Tahmin Teknikleri - Kullanım Durumu Puanları

Bir Use-Case bir kullanıcı ile bir sistem arasında kullanıcının bir hedefe ulaşmasını sağlayan bir dizi ilişkili etkileşimdir.

Kullanım Durumları, bir sistemin işlevsel gereksinimlerini yakalamanın bir yoludur. Sistemin kullanıcısına 'Aktör' denir. Kullanım Durumları temelde metin biçimindedir.

Kullanım Durumu Puanları - Tanım

Use-Case Points (UCP)yazılım boyutunu kullanım durumlarıyla ölçmek için kullanılan bir yazılım tahmin tekniğidir. UCP kavramı, FP'lere benzer.

Bir projedeki UCP'lerin sayısı aşağıdakilere bağlıdır -

  • Sistemdeki kullanım senaryolarının sayısı ve karmaşıklığı.
  • Sistemdeki aktörlerin sayısı ve karmaşıklığı.
    • Kullanım senaryoları olarak yazılmayan çeşitli işlevsel olmayan gereksinimler (taşınabilirlik, performans, sürdürülebilirlik gibi).

    • Projenin geliştirileceği ortam (dil, ekibin motivasyonu vb.)

UCP'lerle tahmin, tüm kullanım senaryolarının bir hedefle ve yaklaşık olarak aynı seviyede yazılmasını ve aynı miktarda ayrıntı verilmesini gerektirir. Bu nedenle, tahmin yapmadan önce, proje ekibi kullanım senaryolarını tanımlanmış hedeflerle ve ayrıntılı düzeyde yazdıklarından emin olmalıdır. Kullanım senaryosu normalde tek bir oturumda tamamlanır ve hedefe ulaşıldıktan sonra kullanıcı başka bir faaliyete geçebilir.

Kullanım Durumu Puanlarının Tarihi

Kullanım Durumu Noktası tahmin yöntemi, 1993 yılında Gustav Karner tarafından tanıtıldı. Çalışma daha sonra IBM ile birleşen Rational Software tarafından lisanslandı.

Kullanım Durumu Puanları Sayma Süreci

Kullanım Durumu Puanları sayma işlemi aşağıdaki adımlardan oluşur:

  • Ayarlanmamış UCP'leri hesaplayın
  • Teknik karmaşıklık için ayarlayın
  • Çevresel karmaşıklığa göre ayarlayın
  • Ayarlanmış UCP'leri hesaplayın

Adım 1: Ayarlanmamış Kullanım Durumu Puanlarını Hesaplayın.

İlk olarak Ayarlanmamış Kullanım Durumu Puanlarını aşağıdaki adımlarla hesaplarsınız -

  • Ayarlanmamış Kullanım Durumunun Ağırlığını Belirleyin
  • Ayarlanmamış Aktör Ağırlığını Belirleyin
  • Ayarlanmamış Kullanım Durumu Puanlarını Hesaplayın

Step 1.1 - Ayarlanmamış Kullanım Durumu Ağırlığını Belirleyin.

Step 1.1.1 - Her bir Kullanım Durumundaki işlemlerin sayısını bulun.

Kullanım Örnekleri Kullanıcı Hedef Düzeyleri ile yazılırsa, bir işlem Kullanım Durumundaki bir adıma eşdeğerdir. Kullanım Durumundaki adımları sayarak işlem sayısını bulun.

Step 1.1.2- Her bir Kullanım Durumunu, Kullanım Durumundaki işlemlerin sayısına göre Basit, Ortalama veya Karmaşık olarak sınıflandırın. Ayrıca Kullanım Durumu Ağırlığını aşağıdaki tabloda gösterildiği gibi atayın -

Kullanım Durumu Karmaşıklığı İşlem Sayısı Kullanım Durumu Ağırlığı
Basit ≤3 5
Ortalama 4 ila 7 10
Karmaşık > 7 15

Step 1.1.3- Her bir Kullanım Durumu için tekrarlayın ve tüm Kullanım Durumu Ağırlıklarını alın. Ayarlanmamış Kullanım Durumu Ağırlığı (UUCW), tüm Kullanım Durumu Ağırlıklarının toplamıdır.

Step 1.1.4 - Aşağıdaki tabloyu kullanarak Ayarlanmamış Kullanım Durumu Ağırlığını (UUCW) bulun -

Kullanım Durumu Karmaşıklığı Kullanım Durumu Ağırlığı Kullanım Durumlarının Sayısı Ürün
Basit 5 NSUC 5 × NSUC
Ortalama 10 NAUC 10 × NAUC
Karmaşık 15 NCUC 15 × NCUC
Unadjusted Use-Case Weight (UUCW) 5 × NSUC + 10 × NAUC + 15 × NCUC

Nerede,

NSUC hayırdır. Basit Kullanım Durumları.

NAUC hayırdır. Ortalama Kullanım Durumlarının Sayısı.

NCUC hayırdır. Karmaşık Kullanım Durumları.

Step 1.2 - Ayarlanmamış Aktör Ağırlığını Belirleyin.

Kullanım Durumundaki bir Aktör, bir kişi, başka bir program, vb. Olabilir. Tanımlanmış API'ye sahip bir sistem gibi bazı aktörlerin çok basit ihtiyaçları vardır ve bir Kullanım Durumunun karmaşıklığını çok az artırır.

Bir protokol aracılığıyla etkileşimde bulunan bir sistem gibi bazı aktörlerin daha fazla ihtiyacı vardır ve bir Kullanım Durumunun karmaşıklığını belirli bir ölçüde artırır.

GUI aracılığıyla etkileşimde bulunan bir kullanıcı gibi diğer Aktörler, bir Kullanım Durumunun karmaşıklığı üzerinde önemli bir etkiye sahiptir. Bu farklılıklara dayanarak, oyuncuları Basit, Ortalama ve Karmaşık olarak sınıflandırabilirsiniz.

Step 1.2.1 - Oyuncuları Basit, Ortalama ve Karmaşık olarak sınıflandırın ve aşağıdaki tabloda gösterildiği gibi Oyuncu Ağırlıklarını atayın -

Oyuncu Karmaşıklığı Misal Oyuncu Ağırlığı
Basit Tanımlanmış API'ye sahip bir Sistem 1
Ortalama Bir Protokol aracılığıyla etkileşimde bulunan bir Sistem 2
Karmaşık GUI aracılığıyla etkileşimde bulunan bir Kullanıcı 3

Step 1.2.2- Her Oyuncu için tekrarlayın ve tüm Oyuncu Ağırlıklarını alın. Ayarlanmamış Oyuncu Ağırlığı (UAW), tüm Oyuncu Ağırlıklarının toplamıdır.

Step 1.2.3 - Aşağıdaki tabloyu kullanarak Ayarlanmamış Aktör Ağırlığını (UAW) bulun -

Oyuncu Karmaşıklığı Oyuncu Ağırlığı Oyuncu Sayısı Ürün
Basit 1 NSA 1 × NSA
Ortalama 2 NAA 2 × NAA
Karmaşık 3 NCA 3 × NCA
Unadjusted Actor Weight (UAW) 1 × NSA + 2 × NAA + 3 × NCA

Nerede,

NSA hayırdır. Basit Aktörler.

NAA hayırdır. Ortalama Aktörler.

NCA hayırdır. Karmaşık Aktörler.

Step 1.3 - Ayarlanmamış Kullanım Durumu Puanlarını Hesaplayın.

Ayarlanmamış Kullanım Durumu Ağırlığı (UUCW) ve Ayarlanmamış Aktör Ağırlığı (UAW) birlikte, Ayarlanmamış Kullanım Durumu Puanları olarak adlandırılan sistemin ayarlanmamış boyutunu verir.

Unadjusted Use-Case Points (UUCP) = UUCW + UAW

Sonraki adımlar, Ayarlanmamış Kullanım Durumu Noktalarını (UUCP) Teknik Karmaşıklık ve Çevresel Karmaşıklık için ayarlamaktır.

Adım 2: Teknik Karmaşıklık İçin Ayarlayın

Step 2.1 - Bir projenin Teknik Karmaşıklığının Kullanım Durum Puanları üzerindeki etkisine katkıda bulunan 13 Faktörü ve aşağıdaki tabloda verilen karşılık gelen Ağırlıkları göz önünde bulundurun -

Faktör Açıklama Ağırlık
T1 Dağıtımlı sistem 2.0
T2 Yanıt süresi veya çıktı performans hedefleri 1.0
T3 Son kullanıcı verimliliği 1.0
T4 Karmaşık dahili işleme 1.0
T5 Kod yeniden kullanılabilir olmalıdır 1.0
T6 Kurulumu kolay .5
T7 Kullanımı kolay .5
T8 Taşınabilir 2.0
T9 Değiştirmesi kolay 1.0
T10 Eşzamanlı 1.0
T11 Özel güvenlik hedefleri içerir 1.0
T12 Üçüncü şahıslar için doğrudan erişim sağlar 1.0
T13 Özel kullanıcı eğitim tesisleri gereklidir 1.0

Bu faktörlerin çoğu, projenin işlevsel olmayan gereksinimlerini temsil eder.

Step 2.2 - 13 Faktörün her biri için, projeyi değerlendirin ve 0'dan (ilgisiz) 5'e (çok önemli) derecelendirin.

Step 2.3 - Faktörün Etki Ağırlığından Faktörün Etkisini ve Proje için Anma Değerini şu şekilde hesaplayın:

Impact of the Factor = Impact Weight × Rated Value

Step (2.4)- Tüm Faktörlerin Etki toplamını hesaplayın. Bu, aşağıdaki tabloda verilen Toplam Teknik Faktörü (TFactor) verir -

Faktör Açıklama Ağırlık (W) Nominal Değer (0-5) (RV) Etki (I = W × RV)
T1 Dağıtımlı sistem 2.0
T2 Yanıt süresi veya çıktı performans hedefleri 1.0
T3 Son kullanıcı verimliliği 1.0
T4 Karmaşık dahili işleme 1.0
T5 Kod yeniden kullanılabilir olmalıdır 1.0
T6 Kurulumu kolay .5
T7 Kullanımı kolay .5
T8 Taşınabilir 2.0
T9 Değiştirmesi kolay 1.0
T10 Eşzamanlı 1.0
T11 Özel güvenlik hedefleri içerir 1.0
T12 Üçüncü şahıslar için doğrudan erişim sağlar 1.0
T13 Özel kullanıcı eğitim tesisleri gereklidir 1.0
Total Technical Factor (TFactor)

Step 2.5 - Teknik Karmaşıklık Faktörünü (TCF) şu şekilde hesaplayın -

TCF = 0.6 + (0.01 × TFactor)

3. Adım: Çevresel Karmaşıklık İçin Ayarlayın

Step 3.1 - Projenin yürütülmesini etkileyebilecek 8 Çevresel Faktörü ve aşağıdaki tabloda verilen bunlara karşılık gelen Ağırlıkları göz önünde bulundurun -

Faktör Açıklama Ağırlık
F1 Kullanılan proje modeline aşina 1.5
F2 Uygulama deneyimi .5
F3 Nesneye yönelik deneyim 1.0
F4 Lider analist yeteneği .5
F5 Motivasyon 1.0
F6 Kararlı gereksinimler 2.0
F7 Yarı zamanlı personel -1.0
F8 Zor programlama dili -1.0

Step 3.2 - 8 Faktörün her biri için, projeyi değerlendirin ve 0'dan (ilgisiz) 5'e (çok önemli) derecelendirin.

Step 3.3 - Faktörün Etki Ağırlığından Faktörün Etkisini ve Proje için Anma Değerini şu şekilde hesaplayın:

Impact of the Factor = Impact Weight × Rated Value

Step 3.4- Tüm Faktörlerin Etki toplamını hesaplayın. Bu, aşağıdaki tabloda verildiği gibi Toplam Çevre Faktörünü (EFactor) verir -

Faktör Açıklama Ağırlık (W) Nominal Değer (0-5) (RV) Etki (I = W × RV)
F1 Kullanılan proje modeline aşina 1.5
F2 Uygulama deneyimi .5
F3 Nesneye yönelik deneyim 1.0
F4 Lider analist yeteneği .5
F5 Motivasyon 1.0
F6 Kararlı gereksinimler 2.0
F7 Yarı zamanlı personel -1.0
F8 Zor programlama dili -1.0
Total Environment Factor (EFactor)

Step 3.5 - Çevresel Faktörü (EF) şu şekilde hesaplayın -

1.4 + (-0.03 × EFactor)

Adım 4: Düzeltilmiş Kullanım Durumu Noktalarını (UCP) Hesaplayın

Düzeltilmiş Kullanım Durumu Puanlarını (UCP) şu şekilde hesapla -

UCP = UUCP × TCF × EF

Kullanım Durum Puanlarının Avantaj ve Dezavantajları

Kullanım Durumu Puanlarının Avantajları

  • UCP'ler, kullanım durumlarına dayanır ve proje yaşam döngüsünün çok erken dönemlerinde ölçülebilir.

  • UCP (boyut tahmini), projeyi uygulayan ekibin boyutundan, becerisinden ve deneyiminden bağımsız olacaktır.

  • Deneyimli kişiler tarafından tahmin yapıldığında, UCP'ye dayalı tahminlerin gerçeğe yakın olduğu bulunmuştur.

  • UCP'nin kullanımı kolaydır ve ek analiz gerektirmez.

  • Kullanım senaryoları, gereksinimleri tanımlamak için bir seçim yöntemi olarak büyük ölçüde kullanılmaktadır. Bu gibi durumlarda, UCP en uygun tahmin tekniğidir.

Kullanım Durumu Puanlarının Dezavantajları

  • UCP, yalnızca gereksinimler kullanım durumları şeklinde yazıldığında kullanılabilir.

  • Hedef odaklı, iyi yazılmış kullanım örneklerine bağlıdır. Kullanım senaryoları iyi veya tek tip yapılandırılmamışsa, ortaya çıkan UCP doğru olmayabilir.

  • Teknik ve çevresel faktörlerin UCP üzerinde yüksek etkisi vardır. Teknik ve çevresel faktörlere değer atarken özen gösterilmelidir.

  • UCP, genel proje boyutunun ilk tahmini için kullanışlıdır, ancak bir ekibin yinelemeden yinelemeye yönelik çalışmasını yönlendirmede çok daha az yararlıdır.