24 Ocak 2017 Salı

Sınıf Puanı (Class Points - CP)


Nesneye dayalı geliştirmede sınıf diyagramları, büyük ölçüde tasarım dokümanını temel alan niceliksel bilgilere sahip diyagramlardır.

Sınıf Puanı (Class Point), tasarım dokümanını temel alarak nesne-tabanlı yazılım ürünlerinin büyüklüğünü tahmin etmek için tasarlanmış bir yaklaşımdır. Özellikle, CP1 ve CP2 olarak adlandırılan iki ölçüm ortaya atılmaktadır. CP1 yazılım geliştirme sürecinin başında bir ön büyüklük tahmini yürütmek için kullanılmaktadır. Bu CP1, daha sonra geliştirilecek sistemle ilgili daha fazla bilgi elde edildiğinde CP2 uygulanarak iyileştirilir.
Sınıf diyagramları, geliştirilen sistemin mantıksal blokları olan sınıf hiyerarşini ve hedef sistemin yapısal işlevselliğini içerir.

Sınıf Puanı yaklaşımı, 1998’de ortaya atılmıştır. Bu yaklaşım,  sayısal hesaplamaya dayanarak bir sistemin iç niteliklerini temsil eden işlev puanı analiz yaklaşımını temel almaktadır.


CP1 ve CP2 olmak üzere iki ölçüm ortaya atılmıştır.


Kullanıcı Sınıflarının Belirlenmesi ve Sınıflandırılması
Tasarım dokümanı analiz edilirken 4 tür sistem bileşeni kullanılır:
Problem Alan Türü (Problem Domain Type – PDT),
İnsan Etkileşim Türü (Human Interaction Type – HIT),
Veri Yönetim Türü (Data Management Type),
Görev Yönetim Türü (Task Management Type – TMT).

Sınıfların Karmaşıklık Düzeylerinin Belirlenmesi
CP1 içinde her bir sınıfın karmaşıklık düzeyi iki ölçüt ile belirlenmektedir:
Dış Metotların Sayısı (Number of External Methods – NEM),
Servis İsteklerinin Sayısı (Number of Services Requested – NSR)
CP2 içinde, her bir sınıfın karmaşıklık düzeyini değerlendirmek üzere Niteliklerin Sayısı (Number Of Attributes – NOA) dikkate alınmaktadır.

Sınıf Puanı büyüklük kestirim süreci, FP yaklaşımındaki safhalara benzer olarak dört temel aşamada yapılandırılmıştır.

İlk adımda, kullanıcı sınıflarını belirlemek ve sınıflandırmak için tasarım dokümanı analiz edilir. Tasarım dokümanı analiz edilirken, Problem Alan Türü (Problem Domain Type – PDT), İnsan Etkileşim Türü (Human Interaction Type – HIT), Veri Yönetim Türü (Data Management Type), Görev Yönetim Türü (Task Management Type – TMT) olmak üzere dört tür sistem bileşeni kullanılır.

İkinci adımda, sınıflar içersindeki yerel metotlar üzerinden belirlenmiş olan her bir tanımlı sınıfa bir karmaşıklık düzeyi atanır. Bu OO sınıflar için uygun ölçümlerin kullanımı ile sağlanır.

NEM ölçüsü, genel olan yerel metotların sayısı ile verilen ve nesne-tabanlı bir sistemde tek bir sınıfın arayüz büyüklüğünü tahmin etmemize olanak sağlamaktadır.

NSR sistem bileşenlerinin ara bağlantıları için bir ölçüm sağlar. Bu ölçütte tek bir sınıf için geçerlidir ve diğer sınıflar için farklı servis isteklerinin sayısı ile belirlenmektedir.




Problem Alan Türü (Problem Domain Type – PDT),
İnsan Etkileşim Türü (Human Interaction Type – HIT),
Veri Yönetim Türü (Data Management Type),
Görev Yönetim Türü (Task Management Type – TMT).







Teknik Karmaşıklık Faktörünün (Technical Complexity Factor – TCF) Hesaplanması