| Universität-Gesamthochschule Siegen | Fachbereich Elektrotechnik und Informatik | Fachgruppe Technische Informatik |
5 Aufwandsabschätzung
5.1 Die Function-Point-Methode
Die Function-Point-Methode ist ein Verfahren zur Bestimmung des Aufwands bei DV-Projekten. Sie wurde von Allan Albrecht, einem Mitarbeiter der IBM Corporation in White Plains, New York, entwickelt und wird seit 1981 bei der IBM-Deutschland eingesetzt. Die Grundidee besteht darin, das Softwareprojekt auf sogenannte Function-Points hin zu untersuchen. Anhand der Summe dieser Function-Points läßt sich über eine Erfahrungskurve der geschätzte Aufwand z. B. in Mannmonaten ablesen.
Die Grundlage für die Schätzung ist der Funktionsumfang des Vorhabens. Zu beachten ist, daß die Anzahl an Quelltextzeilen, die Programmiersprache, der Einsatz besonderer Tools und Techniken sowie die Qualität der Entwickler dabei keinen Einfluß auf die Bewertung haben.
Zur Bestimmung der Function-Points wird das zu realisierende Projekt nach bestimmten Kriterien auf gewisse Merkmale hin untersucht. Wichtig dabei ist, daß die Untersuchung aus der Sicht des Benutzers stattfindet und nicht aus der Sicht des Entwicklers. Die Merkmale werden in fünf Gruppen unterteilt:
Die Merkmale in den einzelnen Gruppen werden nach den Kriterien "leicht", "mittel" und "komplex" klassifiziert und entsprechend ihrer Gruppe gewichtet (Tabelle 5.1.1).
| Type ID |
Description |
Level of Information Processing Function | Total | ||
| Low | Average | High | |||
| IT | External Input | ___x 3 = ___ | ___x 4 = ___ | ___x 6 = ___ | _____ |
| OT | External Output | ___x 4 = ___ | ___x 5 = ___ | ___x 7 = ___ | _____ |
| QT | External Inquiry | ___x 3 = ___ | ___x 4 = ___ | ___x 6 = ___ | _____ |
| FT | Logical Internal File | ___x 7 = ___ | ___x 10 = ___ | ___x 15 = ___ | _____ |
| EI | Ext Interface File | ___x 5 = ___ | ___x 7 = ___ | ___x 10 = ___ | _____ |
| FC | Function Count | Total Unadjusted Function Points | _____ | ||
Tabelle 5.1.1: Die Gewichtung der einzelnen Gruppen [Bundschuh, 1991, S. 40]
Die Summe aller mit dem entsprechenden Gewichtungsfaktor multiplizierten Merkmalen stellt die Anzahl an vorläufigen Function-Points dar. Den endgültigen Wert enthält man, indem man den vorläufigen Wert mit einem Korrekturfaktor multipliziert. Den Korrekturfaktor bestimmt man aus 14 Faktoren (Abbildung 5.1.1), die einen wesentlichen Einfluß auf das Projekt haben. Jeder dieser Faktoren fließt mit einem Wert von 0 für keinen Einfluß bis 5 für starken Einfluß in die Bewertung mit ein. Eine Ausnahme bildet Faktor 9. Bei ihm ist die Bewertungsspanne auf 0 - 50 erweitert.
Die Faktoren fließen wie folgt in die Kalkulation mit ein: Die Werte alle Faktoren werden summiert und anschließend durch 100 dividiert. Zu dem Ergebnis wird anschließend noch der Wert 0.65 addiert. Man erhält so den sog. "degree of influence" mit dem die vorläufige Anzahl an Function-Points multipliziert wird. Das Ergebnis kann so um bis zu 35% nach unten und um bis zu 80% nach oben vom Ausgangswert abweichen. Nach der Bestimmung des Korrekturfaktors kann man anhand einer Erfahrungskurve (Abbildung 5.1.2) den Aufwand ablesen.
- Die Daten- und Kontrollinformationen, die im Anwendungssystem genutzt werden, werden über Kommunikationseinrichtungen gesendet oder empfangen.
- Das Anwendungssystem ist durch verteilte Daten- oder Verarbeitungsfunktionen charakterisiert.
- Performance-Ziele bezüglich Antwortzeiten oder Durchsatz, die vom Benutzer entweder vorgegeben oder bestätigt werden, beeinflussen Entwurf, Entwicklung und Installation des Anwendungssystems.
- Das Anwendungssystem soll auf einer stark belasteten Rechnerkonfiguration laufen. Dieser Tatbestand beeinflußt die Entwurfsüberlegung des Anwendungssystems.
- Die Transaktionsrate ist hoch und beeinflußt Entwurf, Entwicklung und Installation sowie die Unterstützung des Anwendungssystems.
- Das Anwendungssystem sieht Online-Dateneingabe und Kontrollfunktionen vor.
- Die Online-Funktionen des Anwendungssystems sollen betont unter Endbenutzer-Effizienzaspekten entworfen werden.
- Das Anwendungssystem sieht einen Online-Update für die internen logischen Datenbestände vor.
- Das Anwendungssystem wird durch komplexe Verarbeitungsprozeduren gekennzeichnet.
- Die Anwendungs-Software ist speziell entworfen, entwickelt und unterstützt worden, um auch in anderen Anwendungssystemen benutzt werden zu können.
- Man gibt sich besondere Mühe, um das Anwendungssystem leicht konvertieren und installieren zu können.
- Das Anwendungssystem soll leicht betrieben und bedient werden können.
- Entwurf, Entwicklung und Entwicklungs-Unterstützung sind darauf auszurichten, daß das Anwendungssystem bei vielen Anwendern in vielen Organisationen benutzt werden kann.
- Entwurf, Entwicklung und Entwicklungsunterstützung sind darauf auszurichten, daß das Anwendungssystem auch in Zukunft flexibel verändert werden kann.
Abbildung 5.1.1: Die 14 Einflußfaktoren der FP-Methode [Bundschuh, 1991, S. 41]

Abbildung 5.1.2: Erfahrungskurve zur Umrechnung der Function-Points in Mannmonate [Noth, 1986, S. 98]
Zu bemerken ist, daß es sich bei der soeben vorgestellten Methode nur um eine grobe Abschätzung handelt, die aber weltweit angewendet wird, um schnell einen Eindruck über den Aufwand des zu realisierenden Projekts zu gewinnen. Der Vorteil dieser Methode ist, daß man sie recht früh einsetzen kann, weil nur der Funktionsumfang der Anwendung eine Rolle spielt.
Um das Ergebnis zu verbessern, vergleicht man den tatsächlichen mit dem geschätzten Arbeitsaufwand und korrigiert die Kurve entsprechend. Die Korrektur muß nach jedem abgeschlossenen Projekt erfolgen. Im Laufe der Zeit erhält man dann eine Erfahrungskurve, die recht genaue Ergebnisse liefert.
5.2 Aufwandsabschätzung nach der Analyse-Phase
In Tabelle 5.2.1 sind die Bestandteile des "UniPlaners" aufgeführt, die sich nach Fertigstellung der Analyse ergeben haben. Jeder Bestandteil ist anhand der Function-Point-Methode entsprechend gewertet worden und hier eingetragen. Zu bemerken sei an dieser Stelle nochmals, daß die Bewertung ausschließlich aus der Sicht des Benutzers zu erfolgen hat. Bestandteile, welche nicht aus der Benutzeroberfläche heraus ersichtlich sind, werden hier nicht berücksichtigt; dies erfolgt indirekt durch den noch zu ermittelnden Korrekturwert.
Projektbestandteil |
Eingabedaten |
Ausgabedaten |
Abfragen |
logische Datenbestände |
| Dozenten erfassen | 1 x komplex | 0 | 1 x komplex | 1 x m., 4 x l. |
| Fächer erfassen | 1 x mittel | 0 | 1 x mittel | 1 x leicht |
| Räume erfassen | 1 x komplex | 0 | 1 x komplex | 1 x m., 5 x l. |
| Erhebung der Fächerdaten | 1 x komplex | 0 | 1 x komplex | 1 x m., 4 x l. |
| Erhebung der Veranstaltungen | 1 x komplex | 0 | 1 x komplex | 1 x m., 3 x l. |
| Erhebung der Zeitwünsche | 1 x komplex | 0 | 1 x komplex | 7 x leicht |
| Raum/Terminvorgabe | 1 x mittel | 0 | 0 | 1 x leicht |
| Veranst. pro Tag (Student) | 1 x leicht | 0 | 0 | 1 x leicht |
| Restriktionen einstellen | 1 x leicht | 0 | 0 | 1 x leicht |
| Pläne berechnen | 0 | 1 x einfach | 0 | 5 x leicht |
| Stundenplangenerator | 1 x leicht | 1 x komplex | 0 | 18 x leicht |
| Stundenplan speichern | 1 x mittel | 0 | 0 | 2 x leicht |
| Dozentenpläne darstellen | 1 x leicht | 1 x komplex | 0 | 1 x leicht |
| Raumpläne darstellen | 1 x leicht | 1 x komplex | 0 | 1 x leicht |
| Pläne Drucken | 0 | 2 x komplex | 0 | 1 x leicht |
| Online-Hilfe | 0 | 1 x komplex | 0 | 1 x leicht |
| Opener | 0 | 1 x einfach | 0 | 0 |
| About-Box | 0 | 1 x einfach | 0 | 0 |
Tabelle 5.2.1: Zerlegung des Projekts in seine Bestandteile und Bewertung
Type |
Level of Information Processing Function |
||||
ID |
Description |
Low |
Average |
High |
Total |
| IT | External Input | 5 x 3 = 15 |
3 x 4 = 12 |
5 x 6 = 30 |
57 |
| OT | External Output | 3 x 4 = 12 |
0 x 5 = 0 |
6 x 7 = 42 |
54 |
| QT | External Inquiry | 0 x 3 = 0 |
1 x 4 = 4 |
5 x 6 = 30 |
34 |
| FT | Logical Internal File | 56 x 7 = 392 |
4 x 10 = 40 |
0 x 15 = 0 |
432 |
| EI | Ext Interface File | 0 x 5 = 0 |
0 x 7 = 0 |
0 x 10 = 0 |
0 |
| FC | Function Count | Total Unadjusted Function Points |
577 |
||
Tabelle 5.2.2: Zusammenzählen der vorläufigen Funktionspunkte
Die Summe der Function-Points der einzelnen Gruppen sowie die Gesamtsumme ist in Tabelle 5.2.2 dargestellt.
Um aus den vorläufigen Function-Points die endgültige Anzahl zu erhalten, muß dieser Wert noch mit dem Korrekturfaktor, dem "degree of influence", multipliziert werden.
Die Bewertung der einzelnen Faktoren, welche schon in Abbildung 5.1.1 aufgeführt wurden, läßt sich aus Tabelle 5.2.3 entnehmen.
| Einflußfaktor | Bewertung | Einflußfaktor | Bewertung | |
| 1 | 5 | 8 | 3 | |
| 2 | 1 | 9 | 40 | |
| 3 | 2 | 10 | 1 | |
| 4 | 3 | 11 | 1 | |
| 5 | 4 | 12 | 4 | |
| 6 | 5 | 13 | 0 | |
| 7 | 3 | 14 | 3 | |
| Summe | 75 | |||
Tabelle 5.2.3: Bewertung der Einflußfaktoren
Somit ergibt sich der "degree of influence" zu 75 * 0.01 + 0.65 = 1.4. Die endgültige Anzahl an Function-Points beträgt also 577 * 1.4 = 807.8 FP. Anhand der Erfahrungskurve aus Abbildung 5.1.2 läßt sich daraus der geschätzte Arbeitsaufwand von 85 MM für das Projekt ermitteln.
Bei sechs Leuten entspricht dies schließlich einem durchschnittlichen Arbeitsaufwand von 1846 Arbeitsstunden pro Projektmitglied!
5.3 Anmerkungen zum Aufwand
Im Laufe unseres Projektgruppendaseins hat sich gezeigt, daß man sich auf den ersten Blick bezüglich des Aufwands sehr leicht um ein Vielfaches verschätzen kann. Wir haben leider viel zu spät gemerkt, daß wir das Projekt niemals in der geplanten Zeit von 300 Arbeitsstunden pro Mann abschließen konnten. Daher ist es enorm wichtig, bei größeren Projekten frühzeitig eine anerkannte und bewährte Aufwandsabschätzung zu betreiben. Es braucht sich dabei nicht um irgendwelche komplizierten Verfahren zu handeln, denn die Vergangenheit hat gezeigt, daß eine einfache Methode, wie z. B. die oben vorgestellte, meist die bessere ist.
Im Fall unserer Projektgruppe kann man sagen, daß die obigen Aufwandsabschätzungen durchaus auf unser Projekt zutreffen. Wir konnten trotz des Zeitaufschubs auf anderthalb Jahre (!) bei weitem nicht alle Funktionen implementieren. Wir haben uns nur auf das Wesentlichste beschränkt, damit unser "UniPlaner", wenn auch mit Einschränkungen, brauchbare Ergebnisse liefert.
Web-Designer: Hans Peter Kunz. Letzte Änderung: 12-03-1998.