Montag, 22. April 2013

Ist die Function Point-Methode noch aktuell?



Wie in meinem Post Methoden zur Messung des Softwareumfangs dargelegt erfordert die Vergleichbarkeit von Kennzahlen zwischen verschieden großen Systemen eine Messung ihrer Größe, d.h. ihres Umfangs. Ebenso wie die Vorab-Ermittlung des Aufwands für ein geplantes Entwicklungsvorhaben. 

Die bekannteste Methode zur Analyse des funktionalen Umfangs (wie in der Norm ISO/IEC 14143 zum Functional Size Measurement beschrieben) ist seit 1979 die Function Point-Analyse (FPA). Aktuell ist die Methode standardisiert in der Norm ISO/IEC 20926:2009. Sie ist nun frei von Schätzungen, denn es wird nur gezählt und alle Kriterien für die Punktwerte sind festgelegt. Somit kommen durch verschiedene Personen durchgeführte Messungen stets zu dem gleichen Ergebnis, vorausgesetzt diese verfügen über ausreichendes Methoden-Know-how. 

Zählobjekte der Function Point-Analyse
Die Function Point-Methode orientiert sich an den Anwendungsfällen eines Systems und zählt Elementarprozesse, mit denen Daten über die Systemgrenzen hinweg ein- oder ausgegeben werden (EI = External Input, EO = External Output, EQ = External Inquiry), sowie Datenstrukturen in internen und externen Datenbeständen (ILF = Internal Logical File, EIF = External Interface File). Eine nach der klassischen Methode durchgeführte Function Point-Analyse erfordert eine genaue Kenntnis der Anwendungsfunktionalität. Dies kann aufwendig sein. Es gibt jedoch Ansätze für eine automatisierte Zählung der entsprechenden Objekte (siehe beispielsweise http://www.omg.org/spec/AFP/1.0/Beta1/PDF/). Diese erfordern jedoch eine genaue Kenntnis der den Elementarprozessen entsprechenden Codestrukturen und Namenskonventionen, da ansonsten konstruktive und keine funktionalen Merkmale der Anwendung gezählt werden. Dennoch lohnt der Implementierungsaufwand, denn einmal eingerichtet kann die Zählung nach Änderungen an der Anwendung ohne großen Aufwand wiederholt werden.  

Punktwert-Matrix für Strukturen in 
internen Datenbeständen
Ein genereller Nachteil der Function Point-Methode ist, dass Punktwerte durch dreistufige, nach oben offene Intervallskalen festgelegt sind. Bei der Zählung von Datenbeständen beispielsweise ergeben sich die Punktwerte aus einem dreistufigen Intervall für die Anzahl ihrer Datenelemente (DET = Data Element Type) und einem weiteren Intervall für die Anzahl der Feldgruppen (RET = Record Element Type). In der Folge erhalten beispielsweise alle Datenstrukturen mit mehr als 50 Datenelementen und mehr als einer Feldgruppe den selben Punktwert – ungeachtet der tatsächlichen Anzahl. Das ist grob und schränkt die Vergleichbarkeit von Umfangsmessungen ein.

Die meisten Unternehmen, die überhaupt Messungen des funktionalen Umfangs durchführen, setzen heute die Function Point Analyse ein. Leider sehr oft in Form von Näherungsverfahren wie Rapid, die völlig auf eine Komplexitätsbewertung verzichten und die Intervallskalen durch Durchschnittswerte ersetzen. Messungen zeigen jedoch, dass die Zählung von Elementarprozessen und Datenstrukturen ohne Berücksichtigung der Anzahl beteiligter Datenelemente bzw. ihrer Komplexität zu Einschränkungen bei der Vergleichbarkeit führt. Es gibt andere Messverfahren, die sich ebenfalls an der ISO/IEC 14143 orientieren, bei denen diese Unschärfe verbessert wurde. 



Keine Kommentare:

Kommentar veröffentlichen