- Function Point Analysis
-
Die Function-Point-Analyse (engl. Function Point Analysis) ist ein Verfahren zur Bestimmung des fachlich-funktionalen Umfangs einer EDV-Anwendung bzw. eines EDV-Projektes.
Function-Points werden in der Softwareentwicklung als Basis für Aufwandsschätzung und Benchmarking herangezogen. Die Function-Point-Analyse allein stellt allerdings kein Verfahren zur Aufwandsschätzung dar, sondern dient der reinen Größenbestimmung von EDV-Anforderungen.
Der Fokus der Analyse liegt auf den fachlichen Anforderungen des zu erstellenden Systems. Dadurch kann diese Methode schon recht früh (bei Vorlage eines Lastenhefts) eingesetzt werden. Das Verfahren besteht aus mehreren Phasen:
- Die zu verarbeitenden Daten und die Funktionen werden nach festgelegten Regeln gezählt. Daraus erhält man den unjustierten Function-Point-Wert. Dieser kann als objektives Maß für den funktionalen Umfang, den das System dem Anwender anbietet, angesehen werden.
- In dieser Phase, die unabhängig von der Ersten durchlaufen werden kann, werden bestimmte Systemeigenschaften bewertet. Diese spiegeln grundlegende, nicht-funktionale Anforderungen wider. Aus der Verknüpfung des hier ermittelten und des unjustierten Function-Point-Wertes erhält man den justierten Function-Point-Wert. Dieser kann als objektives Maß für den zu erwartenden Entwicklungsaufwand angesehen werden.
- Der justierte Function-Point-Wert kann nun herangezogen werden, um eine Aufwandsabschätzung durchzuführen. Hierfür wird er anhand von Referenzdaten bewertet. Diese Referenzdaten stammen idealerweise aus dem eigenen Unternehmen und werden ständig gepflegt. Es handelt sich dabei um die Daten abgeschlossener Projekte, von denen der Zeitaufwand und der justierte Function-Point-Wert bekannt sind. Über die Referenzdaten fließen weitere Randbedingungen in die Aufwandsabschätzung mit ein, die umso genauer ausfällt, je spezifischer die Referenzdaten dem gewählten System entsprechen. Randbedingungen können beispielsweise die Entwicklungsplattform, die Programmiersprache, -methode, Einsatz von Werkzeugen/Off-the-Shelf-Produkten, die Qualifikation, die durchschnittliche Team-Größe, der Entwicklungsprozess usw. sein.
Function-Points werden ermittelt, indem man Anwendungssysteme in Elementarprozesse und logische Datenbestände zerlegt. Anschließend ordnet man diesen Komplexitätsgrade (einfach, mittel, komplex) zu und vergibt die Werte in Function-Points. Die Addition der einzelnen Function-Point-Werte ergibt ungewichtete Function-Points. Als letztes gewichtet man diese mit Bewertungsfaktoren, die technische Einflussfaktoren widerspiegeln.
Auf Function-Point basierende Aufwandsschätzverfahren (z. B. COCOMO) arbeiten in der Regel mit dem unjustierten Function-Point-Wert, da sie über eigene Justierungsmöglichkeiten verfügen.
Siehe auch
Literatur
- Christof Ebert, Reiner Dumke, Manfred Bundschuh, Andreas Schmietendorf: Best Practice in Software Measurement, Springer Verlag 2005, ISBN 3540208674
- Robert Hürten: Function-Point Analysis Theorie und Praxis, 2. erweiterte Auflage, expert verlag 2005, ISBN 3-8169-2398-4
- Manfred Bundschuh, Axel Fabry: Aufwandschätzung von IT-Projekten, MITP Verlag 2004, ISBN 382660864X
- Benjamin Poensgen, Bertram Bock: Die Function-Point-Analyse, Dpunkt Verlag 2005, ISBN 3898643328
- David Garmus, David Herron: Function Point Analysis, Addison-Wesley 2000, ISBN 0201699443
- H. Balzert: Lehrbuch der Software Technik, Bd. 1 und 2, Spektrum Akademischer Verlag, 2001/1998
Wikimedia Foundation.