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.