www.wikidata.de-de.nina.az
Das Function Point Verfahren auch Analyse oder Methode kurz FPA dient der Bewertung des fachlich funktionalen Umfangs eines informationstechnischen Systems im Folgenden als Anwendung bezeichnet Das Ergebnis einer Function Point Bewertung wird als Functional Size bezeichnet und in der Einheit Function Points kurz fp angegeben Die FPA ist die am weitesten verbreitete Auspragung verschiedener unter dem Begriff Functional Size Measurement zusammengefasster Bewertungsverfahren Function Points werden in der Softwareentwicklung als Basis fur Aufwandsschatzung Benchmarking und allgemein zur Ableitung von Kennzahlen fur Produktivitat und Qualitat herangezogen Eine Function Point Bewertung ist unabhangig von der zu Grunde liegenden Technologie der Anwendung Die Functional Size wird bestimmt indem man die funktionalen Anforderungen an eine Anwendung in kleinste fur den Anwender sinnvolle Aktivitaten die Elementarprozesse zerlegt Gleiche Elementarprozesse werden nur einmal gewertet Jedem Elementarprozess wird ein definierter Punktwert zugeordnet Die Summe der Punktwerte aller Elementarprozesse ergibt die Functional Size Streng genommen ist die FPA bzw ihr Ergebnis nicht als eine Messgrosse zu betrachten die Bezeichnungen der FPA als Softwaremetrik bzw im Englischen als Functional Size Measurement sind insofern nicht ganz treffend Richtigerweise sollte von einem Bewertungsverfahren gesprochen werden Inhaltsverzeichnis 1 Standards 1 1 Aktueller Standard 1 2 Wesentliche Anderungen 2 Methode 2 1 Anwendersicht 2 2 Identifikation der Transaktionen 2 3 Funktionaler Hierarchiebaum 2 4 Identifikation der Datenbestande 2 5 Ermittlung der Functional Size fur eine Anwendung 2 6 Functional Size fur Softwareanpassungen und erweiterungen 2 7 Rapid Naherung 3 Beispiel 3 1 Fachlich funktionale Anforderungen 3 2 Bewertung 4 Aufwandsschatzung 5 Kritik und Diskussion 5 1 Aufwand 5 2 Nachvollziehbarkeit und Eindeutigkeit 5 3 Aktualitat 5 4 Ungleichgewichtigkeit 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseStandards BearbeitenAllan J Albrecht 1927 2010 entwickelte die Function Point Analyse Ende der 1970er fur das Unternehmen IBM 1 Das Verfahren hat sich im Laufe der Zeit in verschiedene Varianten entwickelt die heute unter dem Begriff Functional Size Measurement zusammengefasst werden Dieser ist durch die ISO Norm ISO IEC 14143 2 definiert Aktueller Standard Bearbeiten In aller Regel wird mit der Bezeichnung Function Point Analyse kurz FPA die Variante der International Function Point Users Group IFPUG bezeichnet die als ISO Norm ISO IEC 20926 3 standardisiert ist Der aktuelle ISO Standard entspricht dem Standard der IFPUG in der Version CPM 4 3 1 4 wobei CPM fur Counting Practices Manual steht Fur weitere Alternativen zur FPA siehe auch Functional Size Measurement Wesentliche Anderungen Bearbeiten Mit der Aufnahme des IFPUG Standards in den ISO Katalog zum ersten Mal im Jahre 2003 hat es gegenuber fruheren Versionen eine wesentliche Anderung gegeben der sogenannte Wertfaktor im Standard Value Adjustment Factor kurz VAF im Deutschen manchmal auch als Wichtungsfaktor bezeichnet ist im Regelfall nicht mehr anzuwenden die Unterscheidung zwischen unjustierten und justierten Function Points ist damit entfallen Dies wurde von der IFPUG in ihrem Standard CPM 4 3 1 nachvollzogen Mit dem Wertfaktor sollten neben den fachlich funktionalen Anforderungen auch nicht funktionale Anforderungen im Function Point Wert berucksichtigt werden Dies ist nach dem ISO Standard ISO IEC 14143 2 jedoch nicht mehr zulassig Auf die Anwendung des Wertfaktors wurde auch fruher schon verzichtet wenn etwa Function Points als Grundlage fur eine Aufwandsschatzung verwendet wurden und diese nicht funktionalen Anforderungen bereits im Aufwandsschatzmodell berucksichtigt sind Dies ist etwa bei dem Aufwandsschatzmodell COCOMO der Fall Methode BearbeitenAnwendersicht Bearbeiten Fur die Bestimmung der Functional Size ist die Anwendersicht User View massgeblich Der Begriff des Anwenders user in der FPA entspricht konzeptuell dem Akteur in der Unified Modeling Language Ein Anwender kann sowohl eine naturliche Person eine andere Software als auch beispielsweise eine Maschine sein Der Begriff der Anwendersicht ist deshalb keinesfalls wortlich zu nehmen Die Anwendersicht fokussiert sich darauf dass bei der Bewertung nur diejenigen Funktionen der Software zu berucksichtigen sind die der Unterstutzung der jeweiligen Geschaftsprozesse dienen Identifikation der Transaktionen Bearbeiten Ein Elementarprozess ist definiert als die fur den Anwender sinnvollste kleinste Aktivitat die das System nach ihrer Ausfuhrung in einem konsistenten Zustand lasst Elementarprozesse werden nach drei Transaktionstypen Transactional Functions unterschieden Eingabe External Input EI Ausgabe External Output EO Abfrage External Inquiry EQ Entscheidend ist dabei der Hauptzweck des Elementarprozesses Eine Eingabe hat als Hauptzweck die Pflege eines internen Datenbestandes und die Verarbeitung von Daten die von ausserhalb der Anwendung stammen Eine Ausgabe oder Abfrage haben den Hauptzweck der Prasentation von Informationen an der Anwendungsgrenze Fur eine Ausgabe ist zusatzlich gefordert dass ihre Verarbeitungslogik mathematische Berechnungen oder Formeln die Bildung abgeleiteter Daten die Pflege eines internen Datenbestands oder eine Veranderung des Systemverhaltens beinhaltet Aus der Definition der Transaktionen ergibt sich dass nur solche Elementarprozesse bewertet werden die im Zusammenhang mit einem Datenfluss uber die Anwendungsgrenze stehen Gleiche Transaktionen sollen nur einmal gewertet werden Zwei Transaktionen gelten dann als gleich wenn sie die gleichen Daten verwenden und die gleiche Verarbeitungslogik beinhalten wobei kleinere Variationen nicht ausgeschlossen sind Variationen gelten auf jeden Fall dann nicht mehr als klein in diesem Sinne wenn den beiden Transaktionen zwei erkennbar unterschiedliche fachlich funktionale Anforderungen zu Grunde liegen Funktionaler Hierarchiebaum Bearbeiten nbsp Beispiel fur einen funktionalen HierarchiebaumDer Prozess der Identifikation der Transaktionen folgt weitgehend dem aus der Strukturierten Analyse bekannten Vorgehen Deshalb liegt es nahe das Ergebnis in Form eines funktionalen Hierarchiebaums darzustellen Die Notation dieses funktionalen Hierarchiebaums ist nicht Teil des Standards jedoch hat sich seine Verwendung in der Praxis weitgehend eingeburgert Identifikation der Datenbestande Bearbeiten Neben den Transaktionen bewertet die FPA auch die durch die Software verwalteten Datenbestande data functions Ein Datenbestand ist als eine Menge fachlich erkennbarer und logisch zusammengehoriger Daten definiert Auch hier gilt dass die Bewertung aus Anwendersicht erfolgen soll Datenbestande werden weiterhin unterschieden in Interne Datenbestande Internal Logical File kurz ILF und Externe Datenbestande External Interface File kurz EIF Die Bezeichnungen sind sprechend Interne Datenbestande sind solche die innerhalb der bewerteten Anwendung gepflegt schreibender Zugriff werden Externe Datenbestande werden von der bewerteten Anwendung nur referenziert oder gelesen aber in einer anderen Anwendung gepflegt Ermittlung der Functional Size fur eine Anwendung Bearbeiten Fur die Zuordnung des Punktwerts zu Transaktionen und Datenbestanden gibt es ausfuhrliche Regeln im Standard die sogenannten Komplexitatsregeln Der Punktwert fur eine Transaktion ergibt sich aus der Anzahl der verwendeten Felder und der Zahl der in der Transaktion verwendeten Datenbestande Fur die Datenbestande wird der Punktwert aufgrund der Anzahl der enthaltenen Felder und der Anzahl von Feldgruppen bestimmt Als Feldgruppe wird eine Menge fachlich zusammenhangender Datenfelder verstanden zum Beispiel die Menge der Felder Anrede Titel Vorname und Nachname die zusammen den Namen einer naturlichen Person darstellen Die folgende Tabelle zeigt die fur die einzelnen Transaktionstypen und Datenbestandstypen moglichen minimalen mittleren und maximalen Punktwerte Elementarprozess MinimalerPunktwert MittlererPunktwert MaximalerPunktwertEingabe 3 4 6Ausgabe 4 5 7Abfrage 3 4 6Interner Datenbestand 7 10 15Externer Datenbestand 5 7 10Die Summe der Punktwerte aller Transaktionen und Datenbestande ist dann die Functional Size der Anwendung Functional Size fur Softwareanpassungen und erweiterungen Bearbeiten Haufig ist die Bestimmung einer Functional Size nicht fur eine bestehende Anwendung gefordert sondern soll zur Bewertung eines Projekts herangezogen werden in dem eine neue Anwendung entsteht oder bestehende Anwendungen angepasst und erweitert werden Im Standard gibt es hierfur einfache Regeln Die Functional Size eines Neuentwicklungsprojekts wird mit dem Ergebnis der durch das Projekt gelieferten Anwendung gleichgesetzt Die Functional Size eines Erweiterungsprojekts ergibt sich als Summe der Punktwerte aller neu hinzugefugten geanderten und entfernten Transaktionen und Datenbestande Dabei wird fur ein Projekt jede Transaktion und jeder Datenbestand maximal einmal als geandert gewertet unabhangig vom tatsachlichen Umfang der konkreten Anderungen Die Zuordnung der Punktwerte zu den jeweiligen Transaktionen und Datenbestanden erfolgt entsprechend der oben beschriebenen Regeln fur die Ermittlung der Functional Size einer Anwendung Sowohl fur Neuentwicklungs als auch fur Erweiterungsprojekte werden soweit vorhanden auch die Funktionen bewertet die der Konvertierung der Daten aus fruheren Versionen der Anwendung dienen Auch wenn diese Regeln auf den ersten Blick recht einfach erscheinen haben sie sich in der Praxis bewahrt und bieten eine gute Grundlage fur die Bewertung von Erweiterungsprojekten die in der industriellen Praxis der Softwareentwicklung heute bei weitem der haufigste Projekttyp sein durften Rapid Naherung Bearbeiten In der Praxis spielen die Komplexitatsregeln eine geringe Rolle da weit verbreitet ein Naherungsverfahren unter dem Namen Rapid bekannt angewendet wird 5 Danach werden grundsatzlich einer Eingabe 4 fp einer Ausgabe 5 fp einer Abfrage 4 fp einem internen Datenbestand 7 fp und einem externen Datenbestand 5 fp zugeordnet Bei grosseren Anwendungen und Projekten etwa gt 100 fp wird davon ausgegangen dass der aufgrund dieser Naherung entstehende Fehler gegenuber einer detaillierten Komplexitatsbewertung vernachlassigbar ist Beispiel BearbeitenZur Veranschaulichung dient ein kleines Beispiel anhand einer Anwendung die die Planung Organisation und Durchfuhrung von Seminaren eines Seminarveranstalters unterstutzen soll Um das Beispiel uberschaubar zu halten stellen die im Folgenden dargestellten fachlich funktionalen Anforderungen nur einen Ausschnitt der gesamten Anforderungen dar Es sei darauf hingewiesen dass sich in Teil 4 des CPM 4 weitere ausfuhrliche und vollstandige Beispiele finden die insbesondere auch das konkrete Vorgehen fur die Identifikation der Transaktionen und Datenbestande erlautern Fachlich funktionale Anforderungen Bearbeiten Der Kunde hat u a die folgenden konkreten Anforderungen formuliert Die Anwendung soll die Planung und Verwaltung von Seminarveranstaltungen im Folgenden kurz Veranstaltungen unterstutzen Dazu muss es moglich sein eine Veranstaltung mit ihren relevanten Merkmalen anzulegen Fehlende oder fehlerhafte Eingaben sollen auch spater noch korrigiert werden konnen Naturlich wird auch eine Ubersicht der Veranstaltungen sowie eine Detailansicht fur einzelne Veranstaltungen benotigt Es sollen die folgenden Geschaftsfalle unterstutzt werden Stornierung einer Veranstaltung fur die es noch keine bestatigten Anmeldungen gibt Stornierung einer Veranstaltung fur die es bereits bestatigte Anmeldungen gibt Terminverlegung einer VeranstaltungBewertung Bearbeiten Fur diese Anwendung werden die folgenden Transaktionen und Datenbestande identifiziert wobei der Punktwert nach der Rapid Naherung zugeordnet wird Elementarprozess Erlauterung Typ PunktwertVeranstaltungen Datenbestand in dem die Veranstaltungen mit ihren Merkmalen abgelegt sind ILF 7Veranstaltungsliste anzeigen beinhaltet auch die Moglichkeit nach bestimmten Kriterien zu filtern und sortieren EQ 4Veranstaltungsdetails anzeigen zusatzlich wird abgeleitet aus der Zahl der Anmeldungen und der verbleibenden Zeit ein Seminarstatus berechnet und in Form einer Ampel angezeigt EO 5Veranstaltung anlegen Neuanlage einer Veranstaltung mit allen Merkmalen EI 4Veranstaltungsdetails andern nicht explizit gefordert aber fur den Geschaftsprozess notwendig EI 4Veranstaltung ohne Teilnehmer stornieren eine relativ einfache Verarbeitungslogik EI 4Veranstaltung mit Teilnehmern stornieren besondere Verarbeitungslogik erforderlich EI 4Veranstaltungstermin verlegen besondere fachliche Verarbeitungslogik EI 4Summe der bewerteten Anforderungen 36Die letzten drei Transaktionen unterscheiden sich von der Transaktion Veranstaltungsdetails andern weil fur sie jeweils eine besondere Verarbeitungslogik definiert ist Die Transaktion Veranstaltungsdetails andern wurde aufgenommen weil es moglich sein soll fehlerhafte Eingaben bei der Neuanlage zu korrigieren Dabei darf aber etwa ein bereits eingegebener Termin nicht mehr einfach uberschrieben werden Aufwandsschatzung BearbeitenDie Function Point Methode wurde von Allan J Albrecht als Messgrosse zur Bestimmung der Produktivitat der Projekte der IBM definiert 1 Erst spater versuchte man Aufwandsschatzungen aus dem Function Point Wert abzuleiten Es liegt auf der Hand dass sich der zu erwartende Aufwand fur ein Softwareprojekt nicht alleine aufgrund der fachlich funktionalen Anforderungen an die Anwendung bestimmen lasst Hierzu sind vielmehr eine Reihe weiterer Aspekte zu berucksichtigen Dazu gehoren unter anderem Nicht funktionale Anforderungen Technologische Rahmenbedingungen Fur die Entwicklung verfugbare Technologien Sprachen und Werkzeuge Qualifizierung und Erfahrung des Projektteams Rahmenbedingungen im ProjektumfeldMit Hilfe von Aufwandsschatzmodellen wie COCOMO versucht man aus der Functional Size und diesen weiteren Aufwandsfaktoren einen zu erwartenden Projektaufwand abzuleiten Aufwandsschatzungen anhand der Functional Size sind naturlich auch anhand von Referenzdaten durchfuhrbar die aber dafur genugend differenziert sein mussen und idealerweise die Rahmenbedingungen des zu schatzenden Projekts moglichst getreu abbilden Die FPA ist also keine Aufwandsschatzmethodik an sich sondern kann als Mass fur die fachlich funktionalen Anforderungen und in Verbindung mit Schatzmodellen oder Referenzdaten fur Aufwandsschatzungen bereits zu fruhen Projektzeitpunkten eingesetzt werden Kritik und Diskussion BearbeitenDie haufig geausserte Kritik an der FPA bezieht sich vor allem auf vier Aspekte Aufwand Nachvollziehbarkeit bzw Eindeutigkeit Aktualitat UngleichgewichtigkeitAufwand Bearbeiten Kritisiert wird haufig der mit einer Function Point Bewertung verbundene Aufwand Es ist anzunehmen dass der Aufwand fur die Durchfuhrung einer Bewertung von verschiedenen Faktoren abhangt Dies durften vor allem die Art der Durchfuhrung selbst sein wie detailliert wird die Bewertung durchgefuhrt die Erfahrung und Qualifikation der durchfuhrenden Personen und die Qualitat und Vollstandigkeit der Dokumentation der zu bewertenden Anforderungen bzw Anwendung Generell kann man heute davon ausgehen dass der Aufwand fur die FP Bewertung im Bereich weniger Promille des zu erwartenden Aufwands fur das Entwicklungsprojekt liegt In der 1990 durchgefuhrten Studie des MIT 6 wurde ein Aufwand von im Mittel einer Stunde pro 100 fp fur eine detaillierte Bewertung festgestellt Dem steht ein typischer Entwicklungsaufwand von etwa 400 bis 1 600 Stunden pro 100 fp gegenuber Nachvollziehbarkeit und Eindeutigkeit Bearbeiten Befurchtet wird dass die Regeln des Standards immer noch Spielraum fur die Bewertung lassen und die Ergebnisse deshalb abhangig von den durchfuhrenden Personen streuen konnen Hierzu gibt es Untersuchungen mit unterschiedlichen Ergebnissen In der oben zitierten Studie des MIT 6 wurde eine Streuung von 11 in den durch verschiedene Individuen ermittelten Ergebnissen festgestellt Eine jungere Studie von Tsoi 7 kommt zu deutlich pessimistischeren Erkenntnissen danach betragt die Streuung bis zu 30 Ein wesentlicher Unterschied beider Studien lag in der Grosse der bewerteten Anwendungen ca 500 fp bei MIT ca 40 fp bei Tsoi und in der Qualifikation der Testpersonen die vom MIT untersuchten 54 Testpersonen hatten im Mittel 1 5 Jahre Erfahrung mit der FPA wahrend 15 der von Tsoi herangezogenen 21 Testpersonen Studenten waren und keine der Testpersonen uber Vorkenntnisse der FPA verfugte Die Problematik der Eindeutigkeit der Ergebnisse scheint also vor allem eine Frage der Qualifizierung der durchfuhrenden Personen zu sein Aktualitat Bearbeiten Ein haufig gemachter Einwand ist dass die FPA aus der Zeit der Grossrechner also etwa 1970er bis 1980er Jahre und der damals ublichen Strukturierten Analyse stamme und deshalb fur auf moderneren Analyse und Designmethoden beruhende Software wenig Aussagekraft besitze Dem gegenuber steht dass Function Point Bewertungen heute auch etwa zur Bewertung agiler auf Scrum basierender Projekte eingesetzt werden Wahrscheinlich liegt diesem Einwand die Verwechslung von Verfahren zur Analyse von Anforderungen einerseits und Verfahren fur das Design von Software andererseits zu Grunde Richtig ist dass fur eine Function Point Bewertung eine funktionale Zerlegung der fachlich funktionalen Anforderungen erforderlich ist jedoch ist es keine Bedingung dass diese auch Grundlage fur das technische Design der Anwendung wird Ungleichgewichtigkeit Bearbeiten Nach diesem Einwand benachteiligt die FPA Anwendungen mit einem hohen Anteil von Systemschnittstellen und Batchverarbeitung da nach den Regeln der FPA nur diejenigen Funktionen berucksichtigt wurden die ein Anwender auch sehen konne Diesem Einwand liegt das Missverstandnis des wortlichen Verstandnisses der Anwendersicht siehe oben zugrunde Es spielt in der FPA jedoch keine Rolle ob eine Programmfunktion im Rahmen der Dialogverarbeitung oder der Stapelverarbeitung an einer Maschine Mensch Schnittstelle oder an einer Systemschnittstelle zu einer anderen Anwendung implementiert ist Fehlerhafte Unterbewertungen von Systemschnittstellen und Batchverarbeitung sind haufig auf deren mangelnde fachlich funktionale Spezifikation zuruckzufuhren Siehe auch BearbeitenAufwandsschatzung COCOMO Delphi MethodeLiteratur BearbeitenManfred Bundschuh Axel Fabry Aufwandschatzung von IT Projekten MITP Verlag 2004 ISBN 3 8266 0864 X Robert Hurten Function Point Analysis Theorie und Praxis 2 erweiterte Auflage expert verlag 2005 ISBN 3 8169 2398 4 Benjamin Poensgen Function Point Analyse Ein Praxishandbuch 2 Auflage dpunkt verlag Heidelberg 2012 ISBN 978 3 89864 762 5 Harry Sneed Richard Seidl Manfred Baumgartner Software in Zahlen Die Vermessung von Applikationen 1 Auflage Carl Hanser Verlag 2010 ISBN 978 3 446 42175 2 Weblinks BearbeitenDeutschsprachige Anwendergruppe fur Softwaremetriken und Aufwandschatzung e V International Function Point Users GroupEinzelnachweise Bearbeiten a b Allan J Albrecht Measuring Application Development Productivity Proc of IBM Application Development Symp In IBM Application Development Symp October 1979 pp 83 92 a b ISO IEC 14143 1 2007 Information technology Software measurement Functional size measurement Part 1 Definition of concepts International Organization for Standardization Geneva Switzerland ISO IEC 20926 2009 Software and systems engineering Software measurement IFPUG functional size measurement method 2009 International Organization for Standardization Geneva Switzerland a b IFPUG CPM 4 3 1 Function Point Counting Practices Manual Version 4 3 1 International Function Point Users Group Princeton Junction NJ USA 2010 ISBN 978 0 9753783 4 2 Benjamin Poensgen Function Point Analyse Ein Praxishandbuch 2 Auflage dpunkt verlag Heidelberg 2012 ISBN 978 3 89864 762 5 S 96 a b Chris F Kemerer Reliability of Function Point Measurements Center for Informations Systems Research MIT Oktober 1990 Tsoi Ho Leung To Evaluate The Function Point Analysis A Case Study in International Journal of The Computer the Internet and Management Vo 13 1 pp 31 40 2005 Abgerufen von https de wikipedia org w index php title Function Point Verfahren amp oldid 223296756