Aufwandsschätzungen in Softwareprojekten
Aufwandsschätzungen in Softwareprojekten
Aufwandsschätzungen in Softwareprojekten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
nung des zu erwartenden Aufwandes<br />
anhand e<strong>in</strong>er Reihe von E<strong>in</strong>gabeparametern.<br />
In den meisten <strong>in</strong> der Literatur diskutierten<br />
parametrischen Schätzmodellen<br />
geht dabei die Systemgröße ganz maßgeblich<br />
<strong>in</strong> die Berechnung des Aufwands<br />
e<strong>in</strong>.<br />
Weitere Parameter, die die Randbed<strong>in</strong>gungen<br />
des Systems beschreiben, gehen<br />
zudem zum Teil als Faktoren und<br />
zum Teil als Exponenten <strong>in</strong> die Formel<br />
e<strong>in</strong>, so dass sich pr<strong>in</strong>zipiell immer der<br />
gleiche Aufbau für die Schätzformel<br />
ergibt:<br />
Aufwand [Personenmonate]<br />
= Faktoren x Systemgröße Exponenten<br />
Gleichung 2: Allgeme<strong>in</strong>er Aufbau parametrischer<br />
Schätzformeln<br />
Bei den parametrischen Schätzmodellen<br />
besteht die Problematik also immer<br />
dar<strong>in</strong>, möglichst genau die Systemgröße,<br />
die Faktoren und die Exponenten<br />
zu bestimmen.<br />
Function-Po<strong>in</strong>ts<br />
E<strong>in</strong>e der bekanntesten Methoden zur<br />
Bestimmung der Systemgröße ist die<br />
FunctionPo<strong>in</strong>t-Methode, die durch die<br />
International Function Po<strong>in</strong>t Users Group<br />
(IFPUG) standardisiert wird.<br />
Kernpunkt ist dabei die Annahme,<br />
dass das System ausreichend genau<br />
durch die äußeren Schnittstellen (E<strong>in</strong>gabe<br />
(EI), Ausgabe (EO), Abfrage<br />
(EQ)) sowie die zu verarbeitenden Daten<br />
(<strong>in</strong>terne (ILF) oder externe Datenbestände<br />
(EIF)) beschrieben werden<br />
kann, und dass die <strong>in</strong>nere Geschäftslogik<br />
des Systems für die Abschätzung<br />
des Realisierungsaufwands nicht <strong>in</strong>s<br />
Gewicht fällt.<br />
Die Erfahrung vieler Projekte hat dabei<br />
gezeigt, dass diese Methode für übliche<br />
transaktionsorientierte Anwendungen<br />
mit e<strong>in</strong>er starken Fokussierung auf die<br />
Präsentations- und die Datenhaltungsschicht<br />
gut funktioniert, während wissenschaftliche<br />
Anwendungen (die im<br />
Extremfall e<strong>in</strong>e Zahl als E<strong>in</strong>gangsparameter<br />
erwarten, dann monatelang rechnen,<br />
um anschließend e<strong>in</strong>e weitere<br />
Zahl auszugeben) mit dieser Methode<br />
nicht gut zu beschreiben s<strong>in</strong>d. Details<br />
f<strong>in</strong>den sich dazu <strong>in</strong> vielen Büchern,<br />
u. a. <strong>in</strong> [BundschuhFabry].<br />
Das zu schätzende System wird zunächst<br />
„ausgezählt“, d. h. es wird gezählt,<br />
wie viele EI’s zu bauen s<strong>in</strong>d<br />
usw. Außerdem werden die e<strong>in</strong>zelnen<br />
Elemente h<strong>in</strong>sichtlich ihrer Komplexität<br />
bewertet, beispielsweise wird nach<br />
dem IFPUG-Standard die Komplexität<br />
e<strong>in</strong>es external output als „hoch“ bewertet,<br />
falls mehr als 20 Attribute mit e<strong>in</strong>er<br />
Ausgabe <strong>in</strong> 2 oder mehr Dateien ausgegeben<br />
werden sollen. Die IFPUG stellt<br />
zudem e<strong>in</strong> Bewertungsschema zur Verfügung,<br />
nach dem jedem e<strong>in</strong>zelnen<br />
Element gemäß se<strong>in</strong>er <strong>in</strong>dividuellen<br />
Komplexität e<strong>in</strong>e gewisse Anzahl<br />
Funktionspunkte zugeordnet werden.<br />
Aus dem gerade Dargestellten wird<br />
deutlich, dass für die Zählung der<br />
Funktionspunkte e<strong>in</strong>es Systems bereits<br />
e<strong>in</strong> detailliertes Wissen über das System<br />
vorliegen muss, es muss z. B. bekannt<br />
se<strong>in</strong>, wie viele Datenbanktabellen<br />
und -attribute das System haben<br />
wird. Somit ist diese Methode nicht<br />
oder nur sehr e<strong>in</strong>geschränkt <strong>in</strong> sehr frü-<br />
Abb. 6: Elemente der FunctionPo<strong>in</strong>t-Methode<br />
hen Projektphasen e<strong>in</strong>setzbar. Andererseits<br />
liefert die Methode <strong>in</strong> Projektsituationen,<br />
<strong>in</strong> denen sie angewandt werden<br />
kann, sehr gute Abschätzungen der<br />
Systemgröße, die zudem unabhängig<br />
von Randbed<strong>in</strong>gungen wie Entwicklungsstrategie,<br />
Technologie u. Ä. s<strong>in</strong>d.<br />
E<strong>in</strong>e vere<strong>in</strong>fachte Variante wurde dabei<br />
unter dem Namen Fast Function<br />
Po<strong>in</strong>ts [Roetzheim] veröffentlicht. Dabei<br />
werden nicht mehr alle Details<br />
(Anzahl der Attribute <strong>in</strong> der Datenbank,<br />
E<strong>in</strong>gabefelder auf jeder Dialogmaske,<br />
Datenfelder im Ausgabestrom<br />
etc.) der zu schätzenden (und meist<br />
noch zu konstruierenden) Anwendung<br />
gezählt, sondern hier werden erhebliche<br />
Vere<strong>in</strong>fachungen gemacht. Es werden<br />
nur noch gezählt:<br />
• Anzahl der E<strong>in</strong>gaben (Datenschnittstellen<br />
oder E<strong>in</strong>gabemasken)<br />
• Anzahl der Ausgaben, d. h. Reports<br />
entweder als Druckausgaben oder auf<br />
dem Bildschirm<br />
• Anzahl der Datenbanktabellen (3.<br />
Normalform) ohne Information über<br />
die Anzahl der Attribute<br />
• Anzahl der Schnittstellen (sowohl<br />
als Files, Datenbanken, APIs oder<br />
sonstiges). Dabei wird genau genommen<br />
die Anzahl der „Satzarten“ gezählt<br />
und nicht die Anzahl der technisch<br />
implementierten Schnittstellen<br />
• Anzahl der Systemnachrichten (synchrone<br />
oder nahezu synchrone Transaktionsmeldungen<br />
<strong>in</strong> das oder aus<br />
dem System)<br />
LDVZ-Nachrichten 2/2005 25