24 Ocak 2017 Salı

İşlev Puanı (Function Points)


Bu yaklaşım, verimliliğin üretilen işlev puanına göre adam-ay olarak belirlenmesini öngörür.

Eğer proje ile ilgili girdi çıktı gibi özellikler tahmin edilebiliyorsa, bunlar kullanılarak geliştirilecek sisteme ait bir İşlev Puanı (Function Points) hesabı yapılabilir ve sonuçlar Satır Sayısına (LOC) çevrilebilir. Bu satır sayısından maliyet, emek ve süre tahmini yapılabilir.
İşlevsellik doğrudan ölçülemeyeceğine göre, bir yazılım projesinde işlevselliğe etkisi olan birçok etken bir arada incelenerek ürüne olan yansımaları ağırlıklandırılır. Sonuçta bir rakam ortaya çıkar ve bu rakam değişik projeleri göreceli olarak değerlendirmede yararlı olur.


UFP = Dış Girdiler x W(1) + Dış Çıktılar x W(2) + Dış Sorgular x W(3) + 
            İç Dosyalar  x W(4) + Dış Arayüz Dosyaları x W(5)

İşlev Puanında sistemin işlevselliği 5 ayrı bileşenle incelenmektedir.

1. Dış Girdiler: Veri giriş ekranları, mantıksal dâhili dosyalar.
2. Dış Çıktılar: Ekran çıktıları, raporlar.
3. Dış Sorgular: Kullanıcı isteği doğrultusunda alınan hızlı veri çıkışları.
4. İç Dosyaları: Dâhili kullanıcı verileri, saklanan veriler.
5. Dış Arayüz Dosyaları: Başka bir sistemle paylaşım.

Her bir bileşenin zorluk derecesi basit, orta ve karmaşık gibi Tablo’da verilen rakamsal değerlere bağlı olarak ölçülebilmektedir. Bu ölçülen değerler toplanarak Düzeltilmemiş İşlev Puanı’nı (Unadjusted Function Points - UFPs) oluşturmaktadır.

14 Genel Sistem Özelliğine göre sistemin beklenilen uygulama zorluğu için ilave bir teknik karmaşıklık faktörü hesaplanır.

0: hiç yok ya da etkisiz,
1: önemsiz etki,
2: az etkili ,
3:orta düzeyde etkili 
4: önemli düzeyde etkili,
5: güçlü etki





İşlev Puanı aşağıdaki formül ile hesaplanır:
FP = UFP x TCF

İşlev Puanı’nı, Satır Sayısına dönüştürmek için aşağıdaki formülden yararlanılır.
LOC = İşlev Puanı x  Programlama Dili LOC Katsayısı


Kan tahlili yapan bir laboratuarın aynı şehir içerisinde 5 şubesi vardır. Her şubede yaklaşık 10 adet veri giriş operatörü bulunmaktadır.
Sistem laboratuardaki tahlillerin fiyatlarını tutacaktır.
Hasta bilgileri kaydedilecektir.
Yeni tahliller eklenebilecek, güncelleme yapılabilecektir.
Tahlil sonuçları laboratuar yetkilisi tarafından onaylandıktan sonra görüntülenebilecektir.
İstenen laboratuar tahlillerinin tutarı hesaplanacak ve  faturası basılacaktır.
Sonuç raporları basılacaktır. Eğer müşterinin daha önceki kayıtları varsa rapor önceki sonuçları da içerecektir.
Müşteriler sisteme web üzerinden verilecek şifrelerle  bağlanarak tahlil no ile sonuçlarını öğrenebileceklerdir.
Sistemin kan analiz cihazıyla arayüzü olacak, sonuçlar direkt olarak cihazdan sisteme aktarılacaktır.
Sistem malzeme yönetimi yapacak, malzeme stok bilgilerini tutacaktır. Her laboratuar ana depodan haftalık malzeme isteği yapacaktır.  Laboratuarlardan birinde ana malzeme deposu yer alacak, depoya girişler  ve  birimlere çıkışlar kaydedilecektir. Her malzeme için kritik stok seviyesinin altına düşen  malzemeler için sistem uyarı verecek ve rapor yayınlayacaktır. Birim bazında aylık malzeme raporu yayınlanacaktır.
Laboratuarın ana sunucusu şubelerden birinde yer alacak ve herhangi bir arıza olduğunda sistem diğer şubedeki yedek sunucuya  bağlanacak ve oradan işleme kesintisiz devam edecektir. İletişim altyapısında leased line kullanılacaktır.
Sistemi geliştirecek ekip, Java konusunda ve analiz konularında orta deneyimdedir.  İşlevsellik konusunda çok fazla deneyimi yoktur.  Bir kaç benzer yönetim bilgi sistemi geliştirmiştir. CASE aracı kullanılacaktır.

Örnek Proje – Üst Düzey Sistem Mimarisi