Function-Point-Analyse

Die Function-Point-Analyse (FPA) ist eine Methode, um die Größe einer Software objektiv und unabhängig von technischen Randbedingungen zu messen. "Größe einer Software" bedeutet in diesem Zusammenhang den Leistungsumfang, d.h. die Menge an Funktionen, die eine Software dem Anwender bietet.

Entwickelt wurde die Function-Point-Analyse von Allan J. Albrecht in den 1970er und 1980er Jahren bei IBM (Albrecht, Allan J.: Measuring Application Development Productivity, Proc. of IBM Application Development Symp., 1979; ders.: IBM CIS & A Guideline 313, AD/M Productivity Measurement and Estimate Validation, 1984)

Seit 1986 liegt die Verwaltung und Weiterentwicklung der FPA in den Händen der International Function Point User Group (IFPUG), einer US-amerikanischen Non-Profit-Organisation. Die IFPUG gibt das Counting Practices Manual (CPM) heraus, in dem die FPA beschrieben wird. Aktuell ist die Version CPM 4.3.1 aus dem Jahr 2010 gültig. Die IFPUG führt auch Zertifizierungen für Function-Point-Anwender durch (Certified Function Point Practitioner, CFPP und Certified Function Point Spezialist, CFPS).

Die FPA ist in der ISO/IEC 20926 international normiert (ISO/IEC 20926:2009: Software and systems engineering - Software measurement - IFPUG functional size measurement method, 2009)

Grundprinzip der Function-Point-Analyse

Die FPA betrachtet eine Software aus der Sicht des Anwenders und nicht aus Entwicklersicht. Gegenstand der FPA sind deshalb nicht technische Eigenschaften, wie z.B. die Zeilen Programmcode (Lines of Code, LOC), sondern die sog. Elementarprozesse, die von der Software ausgeführt werden. Ein Elementarprozess verändert oder transferiert Daten so, dass sich das betrachtete IT-System anschließend wieder in einem definierten Zustand befindet. Die FPA unterscheidet drei Typen von Elementarprozessen:

  • Eingabe (External Input) - EI
  • Abfrage (External Inquiry) - EQ
  • Ausgabe (External Output) - EO

Neben den Elementarprozessen berücksichtigt die FPA auch, dass eine Software Daten verwalten muss und definiert zwei Typen von sog. Datenfunktionen:

  • Interne logische Datenfunktion (Internal Logical File) - ILF
  • Externe referenzierte Datenfunktion (External Interface File) - EIF

Die Function-Point-Analyse besteht im Wesentlichen darin, bei einer zu vermessenden Software die Elementarprozesse und Datenfunktionen zu bestimmen, diese mit Function Points quantitativ zu bewerten und dann die Gesamtsumme der Function Points für die Software zu ermitteln.

Aussagekraft der Softwaregröße in Function Points

Das Ergebnis der Function-Point-Analyse ist eine Kennzahl, die unabhängig von Programmiersprache, Entwicklungsumgebung oder Laufzeitumgebung die Größe einer Software weitgehend objektiv und reproduzierbar quantifziert. Die Größe einer Software in Function Points ist deshalb eine wichtige Kennzahl im Konfigurationsmanagement für Software, da sie den Leistungsumfang jeder Version quantifiziert und somit dokumentierbar macht.

Weiterhin ist die Softwaregröße ist eine geeignete Referenz, um spezifische Kennzahlen zu bilden, wie z.B. Lines of Code pro Function Point, Entwicklungskosten pro Function Point oder Entwicklungszeit pro Function Point. Mit Hilfe von Kennzahlen dieser Art können z.B. Optimierungsprozesse gesteuert oder Benchmarkings durchgeführt werden

Die Softwaregröße ist auch eine entscheidende Eingangsgröße für die Schätzung von Aufwand und Laufzeit von Software-Entwicklungsprojekten durch parametrische Schätzverfahren, wie z.B. COCOMO.

Relevante Beiträge im Projekt Magazin
von Dorian Gloski
2 Bewertungen
4.5
1 Kommentar
Die Function-Point-Analyse (FPA) liefert eine objektive Messgröße für den Leistungsumfang einer Software. Im zweiten Teil dieses Artikels beschreiben Dorian Gloski und Eva-Maria Schielein typische Anwendungen von Function Points: Die Ermittlung von Leistungskennzahlen, Benchmarking, Aufwandsschätzung mit COCOMO und Angebotsvergleiche. Vor dem Hintergrund dieser Einsatzgebiete gehen sie auf häufige Kritikpunkte ein und geben Empfehlungen für die praktische Arbeit.
von Dorian Gloski
1 Bewertung
4
0 Kommentare
Erst objektive Messgrößen wie Function-Point-Werte ermöglichen es, vergleichbare Aufwandsschätzungen und aussagekräftiges Benchmarking für Software-Systeme durchzuführen. Function Points, so Dorian Gloski und Eva-Maria Schielein, sind bei Software-Entwicklungsprojekten ein genauso objektives Maß für den Leistungsumfang der erstellten Software wie es bei Bauprojekten die Quadratmeter Bruttogeschoßfläche für die Gebäudegröße sind. Die Function-Point-Analyse ist die weltweit am weitesten verbreitete Methode, um die Größe einer Software unabhängig von technischen Rahmenbedingungen, wie z.B. der verwendeten Programmiersprache, zu messen. Dorian Gloski und Eva-Maria Schielein erklären im ersten Teil ihres Artikels die Prinzipien der Function-Point-Analyse und demonstrieren an einem einfachen Beispiel ihren Ablauf.
von Dr. Achim Kindler
1 Bewertung
1
0 Kommentare
Mit einer zunehmenden Verschärfung des Wettbewerbs nimmt auch die Bedeutung einer professionellen Aufwandschätzung zu, da die geringen finanziellen Spielräume es nicht mehr erlauben, Schätzprobleme einfach durch Risikozuschläge bei der Kalkulation auszugleichen. Im zweiten und letzten Teil dieser Artikelfolge erläutert Dr. Achim Kindler vier zusätzliche Maßnahmen, um die Schätzergebnisse mittelfristig weiter zu verbessern. Darüber hinaus zeigt er, mit welcher Kritik Sie rechnen müssen, wenn Sie die beschriebenen Maßnahmen im eigenen Unternehmen umsetzen, und wie Sie darauf reagieren können.
Alle relevanten Beiträge anzeigen
Tech Link