I SWT - Die Planungsphase - Function Point LE 3 1 Software-Technik 1 Die Planungsphase Die Function...
-
Upload
moritz-wolfer -
Category
Documents
-
view
102 -
download
0
Transcript of I SWT - Die Planungsphase - Function Point LE 3 1 Software-Technik 1 Die Planungsphase Die Function...
I SWT - Die Planungsphase - Function Point
LE 3
1Software-Technik
1 Die PlanungsphaseDie Function Point-Methode
Prof. Dr. Helmut BalzertLehrstuhl für Software-TechnikRuhr-Universität Bochum
© Helmut Balzert 1998
I SWT - Die Planungsphase - Function Point
LE 3
2Einführung und Überblick
LE 1
V Unternehmensmodellierung
2 LE
1 Grundlagen
LE 24
2 ObjektorientierteUnternehmensmodellierung
LE 25
I SW-Entwicklung
32 LE
6 Die Wartungs- & Pflegephase
LE 33
5 Die Abnahme- undEinführungsphase
LE 33
4 Die Implementierungsphase
LE 32
3 Die Entwurfsphase
LE 23 – 31
2 Die Definitionsphase
LE 4 – 22
1 Die Planungsphase
LE 2 – 3
III SW-Qualitäts-sicherung
11 LE
6 Produktqualität– Systeme
LE 18 – 19
5 Produktqualität– Komponenten
LE 14 – 17
4 Prozeßqualität
LE 12 – 13
3 ManuellePrüfmethoden
LE 11
2 Qualitäts-sicherung
LE 10
1 Grundlagen
LE 9
II SW-Management
8 LE
6 Kontrolle
LE 8
5 Leitung
LE 6 – 7
4 Personal
LE 5
3 Organisation
LE 3 – 4
2 Planung
LE 2
1 Grundlagen
LE 1
IV Querschnitte und Ausblicke
4 LE
4 Sanierung
LE 23
1 Prinzipien& Methoden
LE 20
3 Wieder-verwendung
LE 22
2
LE 21
I SWT - Die Planungsphase - Function Point
LE 3
3Lernziele Die Function Point-Methode auf gegebene
kommerzielle Problemstellungen anwenden können.
I SWT - Die Planungsphase - Function Point
LE 3
4Inhalt
1.5 Die Function Point-Methode allgemein
1.6 Die Function Point-Methode konkret
1.7 Function Point-Beispiel: Lastenheft Seminarorganisation.
I SWT - Die Planungsphase - Function Point
LE 3
51.5 Die Function Point-Methode allgemein Zur Historie
Allan J. Albrecht* 6.2.1927 in Pittston, PA., USAIBM Senior Engineer and Program Manager (im Ruhestand)
Erfinder der Function Point-Methode zur Aufwandsschätzung von Software-Entwicklungen im Rahmen seiner Tätigkeiten bei IBM (1979).
I SWT - Die Planungsphase - Function Point
LE 3
61.5 Die Function Point-Methode allgemein
Datenbestände
Referenzdateien
Abfragen
sgabed
gabeda
Funktion
Kategorien der Function Points
1. Schritt: Jede Anforderung einer Kategorie zuordnen.
I SWT - Die Planungsphase - Function Point
LE 3
71.5 Die Function Point-Methode allgemein
/LF 20/: »Benachrichtigung der Kunden (Anmeldebestätigung, Abmeldebestätigung, Änderungsmitteilungen, Rechnung, Werbung)« Diese Anforderung ist der Kategorie
»Ausgabedaten« zuzuordnen Da es sich um 5 verschiedene Ausgaben
handelt, wird im folgenden von 5 Ausgaben ausgegangen.
I SWT - Die Planungsphase - Function Point
LE 3
81.5 Die Function Point-Methode allgemein
2. Schritt: Klassifizierung Jede Anforderung in eine der Klassen
»einfach«, »mittel« oder »komplex« einordnen
Beispiel: Da im Lastenheft noch keine genaueren
Angaben über die Ausgaben gemacht werden, werden sie in die Klasse »mittel« eingeordnet.
I SWT - Die Planungsphase - Function Point
LE 3
9
Kategorie Anzahl Klassifizierung Gewichtung Zeilensumme
Eingabedaten einfach x 3 =
mittel x 4 =
komplex x 6 =
Abfragen einfach x 3 =
mittel x 4 =
komplex x 6 =
Ausgaben einfach x 4 =
mittel x 5 =
komplex x 7 =
Datenbestände einfach x 7 =
mittel x 10 =
komplex x 15 =
Referenzdaten einfach x 5 =
mittel x 7 =
komplex x 10 =
Summe E1 =
Einflußfaktoren 1 Verflechtung mit anderen
(ändern den Function Anwendungssystemen (0–5) =
Point-Wert um ± 30%) 2 Dezentrale Daten,
dezentrale Verarbeitung (0–5) =
3 Transaktionsrate (0–5) =
4 Verarbeitungslogik
a Rechenoperationen (0–10) =
b Kontrollverfahren (0–5) =
c Ausnahmeregelungen (0–10) =
d Logik (0–5) =
5 Wiederverwendbarkeit (0–5) =
6 Datenbestands-
Konvertierungen (0–5) =
7 Anpaßbarkeit (0–5) =
Summe der 7 Einflüsse E2 =
Faktor Einflußbewertung
= E2 100 + 0,7 E3 =
Bewertete Function
Points: E1 * E3 =
Quel
le:I
BM
85,S
.12
I SWT - Die Planungsphase - Function Point
LE 3
101.5 Die Function Point-Methode allgemein
3. Schritt: Eintrag in Berechnungsformular Die Anforderung /LF 20/ enthält 5 mittlere
Ausgaben In der 2. Zeile von Ausgaben wird in die
Spalte Anzahl der Tabelle die Zahl 5 eingetragen.
Diese Zahl wird mit der Zahl 5(Einflußfaktor für »mittel«) multipliziert
Es ergeben sich 25 Function Points.
I SWT - Die Planungsphase - Function Point
LE 3
111.5 Die Function Point-Methode allgemein
4. Schritt: Bewertung der Einflußfaktoren
5. Schritt: Berechnung der bewerteten Function Points
6. Schritt: Ablesen des Aufwands in MM Voraussetzung: Empirische Ermittlung der
Zuordnung FP MM
7. Schritt: Aktualisierung der empirischen Daten.
I SWT - Die Planungsphase - Function Point
LE 3
12
1 . S c h r i t t :K a t e g o r i s i e r u n g f ü rj e d e A n f o r d e r u n g
E i n g a b e d a t e n A b f r a g e n A u s g a b e d a t e n D a t e n b e s t ä n d e R e f e r e n z d a t e n
P r o d u k t a n f o r d e r u n g e n
e i n f a c hm i t t e lk o m p l e x
e i n f a c hm i t t e lk o m p l e x
e i n f a c hm i t t e lk o m p l e x
e i n f a c hm i t t e lk o m p l e x
e i n f a c hm i t t e lk o m p l e x
2 . S c h r i t t :K l a s s i f i z i e r u n g j e d e rA n f o r d e r u n g
E i n g a b e n
A b f r a g e n
A u s g a b e n
D a t e n b e s t ä n d e
R e f e r e n z d a t e n
3 . S c h r i t t : E i n t r a gd e r j e w e i l i g e nA n z a h l i n d a sB e r e c h n u n g s -f o r m u l a r u n dE r m i t t l u n g d e ru n b e w e r t e t e n F P s
4 . S c h r i t t :B e w e r t u n g d e rE i n f l u ß f a k t o r e nE i n f l u ß f a k t o r e n 0 b i s 6 0
F P s 3 0 %
5 . S c h r i t t :B e r e c h n u n g d e rb e w e r t e t e n F P s
6 . S c h r i t t : A b l e s e nd e s A u f w a n d e s
M M
F P
7 . S c h r i t t :A k t u a l i s i e r u n g d e rW e r t e p a a r e , N e u -b e r e c h n u n g d e rA u f w a n d s k u r v e
W e r t e p a a r e » F P s A u f w a n d « a u sa b g e s c h l o s s e n e n E n t w i c k l u n g e n
A u f w a n d7
6
6
6
5
4
1
2 2 2 2 2
3 3 3 3 3
I SWT - Die Planungsphase - Function Point
LE 3
131.5 Die Function Point-Methode allgemein Voraussetzungen
Die Methode wird erst eingesetzt, wenn die Produktanforderungen bekannt sind Frühestes Dokument: Lastenheft
Das gesamte Produkt soll im Blickfeld stehen Das Produkt wird aus der Sicht des
Auftraggebers betrachtet Die Bewertung erfolgt von Mitarbeitern, die
ausreichendes Wissen über die Produktanforderungen haben
Der Ist-Aufwand muß für die Nachkalkulation ermittelbar sein.
I SWT - Die Planungsphase - Function Point
LE 3
141.5 Die Function Point-Methode allgemein Vorteile
+ Ausgangspunkt sind Produktanforderungen, nicht LOC
+ Anpaßbar an verschiedene Anwendungsbereiche (Änderung der Kategorien)
+ Anpaßbar an neue Techniken (Änderung der Einflußfaktoren und der Einflußbewertung)
+ Anpaßbar an unternehmensspezifische Verhältnisse (Änderung der Einflußfaktoren, der Einflußbewertung und der Klassenfaktoren pro Klasse).
I SWT - Die Planungsphase - Function Point
LE 3
151.5 Die Function Point-Methode allgemein
+ Verfeinerung der Schätzung entsprechend dem Entwicklungsfortschritt (iterative Methode) Beispiel
1. Schätzung auf der Grundlage des Lastenheftes2. Schätzung auf der Grundlage des Pflichtenheftes3. Schätzung nach Erstellung des formalen Modells
+ Erste Schätzung bereits zu einem sehr frühen Zeitpunkt möglich (Planungsphase).
I SWT - Die Planungsphase - Function Point
LE 3
161.5 Die Function Point-Methode allgemein
+ Festgelegte methodische Schritte+ Leicht erlernbar+ Benötigt nur einen geringen Zeitaufwand+ Gute Transparenz+ Gute Schätzgenauigkeit+ Werkzeugunterstützungen verfügbar.
I SWT - Die Planungsphase - Function Point
LE 3
171.5 Die Function Point-Methode allgemein Nachteile
– Es kann nur der Gesamtaufwand geschätzt werden Eine Umrechnung auf einzelne Phasen muß
mit der Prozentsatzmethode erfolgen– In der Originalform von Albrecht
personalintensiv und nicht automatisierbar– Zu stark funktionsbezogen– Qualitätsanforderungen werden nicht
berücksichtigt– Mischung von Projekt- und
Produkteigenschaften bei den Einflußfaktoren.
I SWT - Die Planungsphase - Function Point
LE 3
181.5 Die Function Point-Methode allgemein Bedeutung
Standardschätzverfahren in der Industrie Mehr als 500 große Unternehmen setzen
weltweit diese Methode ein Sie wird als die beste verfügbare Methode
zur Schätzung von kommerziellen Anwendungssystemen angesehen
Weiterentwicklungen Es gibt ca. 14 Varianten
Ziel: automatische Ermittlung Ziel: moderne Methoden wie OO berücksichtigen.
I SWT - Die Planungsphase - Function Point
LE 3
191.6 Die Function Point-Methode konkretVoraussetzungen Kriterium IBM VW
Überwiegend zentrale interne Online-Anwendungen X XVerwendung von PL/1 X Verwendung von COBOL XEinsatz von TSO/SPF X XSeparates Testsystem X XDurchschnittliche Personalqualität X XAnwenderbeteiligung bei Projektentwicklungen X XZentrale Projektorganisation X XOptimale Entwickl.-dauer-Aufwands-Kombination X X
Verwendung folgender Methoden und TechnikenStrukturierte Programmierung X Normierte Programmierung XHIPO X Doku-, Steuerungs- und Info-System XNetzplantechnik usw. X
I SWT - Die Planungsphase - Function Point
LE 3
201.6 Die Function Point-Methode konkret Klassifizierung der Eingaben Kriterium einfach mittel komplex
Anzahl unterschiedlicher 1-5 6-10 >10Datenelemente
Eingabeprüfung formal formal formallogisch
logischDB-
ZugriffAnsprüche an die Bedienerführung gering normal hoch.
I SWT - Die Planungsphase - Function Point
LE 3
211.6 Die Function Point-Methode konkret Klassifizierung der Abfragen Kriterium einfach mittel komplex
Anzahl unterschiedlicher Schlüssel 1 2 >2
Anspruch an die Bedienerführung gering normal hoch.
I SWT - Die Planungsphase - Function Point
LE 3
221.6 Die Function Point-Methode konkret Klassifizierung der Ausgaben Kriterium einfach mittel komplex
Anzahl Spalten 1-6 7-15 >15
Unterschiedliche Datenelemente 1-5 6-10 >10
Gruppenwechsel 1 2-3 >3
Datenelemente Druckaufbereitung keine einige viele.
I SWT - Die Planungsphase - Function Point
LE 3
231.6 Die Function Point-Methode konkret Klassifizierung der Datenbestände Kriterium einfach mittel komplex
Anzahl Schlüssel/Satzarten 1 2 >2
Unterschiedliche Datenelemente 1-20 21-40 >40
Datenbestand vorhanden ja – nein (keine Neuarchitektur)
Impl. Datenbestand/-struktur nein ja –. wird verändert
I SWT - Die Planungsphase - Function Point
LE 3
241.6 Die Function Point-Methode konkret Klassifizierung der Referenzdaten Kriterium einfach mittel komplex
Read-Only-DateienAnzahl unterschiedlicher 1-5 6-10 >10 DatenelementeAnzahl Schlüssel/ Satzarten 1 2 >2
TabellenAnzahl unterschiedlicher 1-5 6-10 >10 DatenelementeDimension 1 2 3.
I SWT - Die Planungsphase - Function Point
LE 3
251.6 Die Function Point-Methode konkret Einflußfaktoren
1. Verflechtung mit anderen Anwendungssystemen(Bewertungsspanne 0-5)
2. Die Verwaltung der Daten oder die Verarbeitung wird dezentral durchgeführt (Bewertungsspanne 0-5)
3. Die Anwendung hat eine so hohe Transaktionsrate, daß besondere Maßnahmen bei der Entwicklung zu ergreifen sind (Bewertungsspanne 0-5).
I SWT - Die Planungsphase - Function Point
LE 3
26 1.6 Die Function Point-Methode konkret
4. Die Anwendung beinhaltet:
a. Schwierige/komplexe Rechenoperationen (Bewertungsspanne 0-10)
b. Umfangreiche Kontrollverfahren (Bewertungsspanne 0-5)
c. Eine Vielzahl von Ausnahmeregelungen (Bewertungsspanne 0-10)
d. Schwierige, komplexe Logik, z.B. Verknüpfung von verschiedenen logischen Datengruppen, die gleichzeitig verarbeitet werden (Bewertungsspanne 0-5)
Die Summe dieser vier Einzelbewertungen ergibt eine Bewertungsspanne von 0-30.
I SWT - Die Planungsphase - Function Point
LE 3
271.6 Die Function Point-Methode konkret
5. Die Anwendung wird entwickelt im Hinblick auf eine Wiederverwendung der Programme in einer anderen Anwendung Prozentualer Anteil der Wiederverwendung bis 10% = 0 von 30-40% = 3 von 10-20% = 1 von 40-50% = 4 von 20-30% = 2 über 50% = 5
6. Für Datenbestands-Konvertierungen sind besondere Maßnahmen in der Entwicklung zu ergreifen (Bewertungsspanne 0-5)
7. Die Anwendung kann vom Benutzer in einem bestimmten Rahmen an Änderungen selbst angepaßt werden (auch bezüglich der Bedienung) (Bewertungsspanne 0-5).
I SWT - Die Planungsphase - Function Point
LE 3
281.6 Die Function Point-Methode konkret IBM-Kurve: FP MM
5000
4000
3000
2000
1000
100 200 300 400 500 600 700 800 900 1000
MM
F
I SWT - Die Planungsphase - Function Point
LE 3
291.6 Die Function Point-Methode konkret Function Point-Wertepaare
I SWT - Die Planungsphase - Function Point
LE 3
301.7 Beispiel: Lastenheft »Seminarorganisation«
/LF10/: Ersterfassung, Änderung und Löschung von Kunden Es handelt sich um drei getrennte Eingaben
(Ersterfassung, Änderung, Löschung) Ersterfassung ist am umfangreichsten:
Wahrscheinlich mehr als 10 Datenelemente zu erfassen
Auf die Datenbank muß schreibend zugegriffen werden
Die Ansprüche an die Bedienerführung sind hoch Automatisches Positionieren des Cursors,
feldweises Editieren, Konsistenzprüfung PLZ – Ort
Daher: komplexe Eingabe.
I SWT - Die Planungsphase - Function Point
LE 3
311.7 Beispiel: Lastenheft »Seminarorganisation«
Änderung: Es wird auf die Datenbank lesend und schreibend
zugegriffen Die Ansprüche an die Bedienerführung sind
normal Die Anzahl der zu ändernden Datenelemente kann
von gering bis hoch reichen Daher: mittlere Klassifizierung
Löschen Erfordert logische Überprüfungen und einen
Datenbankzugriff auf Seminarbuchungen /LF50/. Daher: mittlere Klassifizierung
Ergebnis: 1 komplexe Eingabe, 2 mittlere Eingaben.
I SWT - Die Planungsphase - Function Point
LE 3
321.7 Beispiel: Lastenheft »Seminarorganisation«
/LF20/: Benachrichtigung der Kunden (Anmeldebestätigung, Abmeldebestätigung, Änderungsmitteilungen, Rechnung, Werbung) Es handelt sich um fünf getrennte Ausgaben
Kombination von einigen Daten mit Standardtexten
Daher: Klassifizierung in »mittel« Ergebnis: 5 mittlere Ausgaben.
I SWT - Die Planungsphase - Function Point
LE 3
331.7 Beispiel: Lastenheft »Seminarorganisation«
/LF30/: Ersterfassung, Änderung und Löschung von Seminarveranstaltungen und Seminartypen Analog wie /LF10/ aber jeweils für
Seminarveranstaltungen und für Seminartypen Ergebnis: 2 komplexe Eingaben, 4 mittlere
Eingaben.
I SWT - Die Planungsphase - Function Point
LE 3
341.7 Beispiel: Lastenheft »Seminarorganisation«
/LF40/: Ersterfassung, Änderung und Löschung von Dozenten sowie Zuordnung zu Seminarveranstaltungen und Seminartypen Analog wie /LF10/ Ergebnis:
1 komplexe Eingabe, 2 mittlere Eingaben.
I SWT - Die Planungsphase - Function Point
LE 3
351.7 Beispiel: Lastenheft »Seminarorganisation«
/LF50/: Ersterfassung, Änderung und Löschung von Seminarbuchungen Bei Seminarbuchungen muß nur der
Zusammenhang zwischen Kunden und Seminarveranstaltungen hergestellt werden Daher ist Anzahl der Datenelemente gering,
jedoch ist eine logische Überprüfung mit DB-Zugriffen erforderlich
Daher: drei Eingaben als »mittel« klassifiziert
Ergebnis: 3 mittlere Eingaben.
I SWT - Die Planungsphase - Function Point
LE 3
361.7 Beispiel: Lastenheft »Seminarorganisation«
/LF60/: Erstellung von Rechnungen Eine Rechnung muß Daten über den Kunden,
die Seminarveranstaltung und den Seminartyp enthalten Dazu sind mehrere DB-Zugriffe erforderlich Es dürften mehr als 10 Datenelemente
ausgegeben werden Ergebnis: 1 komplexe Ausgabe.
I SWT - Die Planungsphase - Function Point
LE 3
371.7 Beispiel: Lastenheft »Seminarorganisation«
/LF70/: Erstellung verschiedener Listen (Teilnehmerliste, Umsatzliste, Teilnehmerbescheinigungen) Analog zu /LF60/ liegen hier drei komplexe
Ausgaben vor Ergebnis: 3 komplexe Ausgaben.
I SWT - Die Planungsphase - Function Point
LE 3
381.7 Beispiel: Lastenheft »Seminarorganisation«
/LF80/: Anfragen der folgenden Art sollen möglich sein:Wann findet das nächste Seminar X statt? usw. Es handelt sich um Abfragen mit
Endbenutzersprachen Sie werden nicht gezählt.
I SWT - Die Planungsphase - Function Point
LE 3
391.7 Beispiel: Lastenheft »Seminarorganisation«
/LD10/: Es sind relevante Daten über die Kunden zu speichern Einfacher Datenbestand
1 Schlüssel Anzahl unterschiedlicher Datenelemente < 20 Ergebnis: 1 einfacher Datenbestand
/LD20/: Falls ein Kunde zu einer Firma gehört, dann sind relevante Daten über die Firma zu speichern Einfacher Datenbestand
Ergebnis: 1 einfacher Datenbestand.
I SWT - Die Planungsphase - Function Point
LE 3
401.7 Beispiel: Lastenheft »Seminarorganisation«
/LD30/: Es sind relevante Daten über Seminarveranstaltungen, Seminartypen & Dozenten zu speichern Analog zu /LD10/ jeweils für
Seminarveranstaltung, Seminartyp und Dozenten Ergebnis: 3 einfache Datenbestände
/LD40/: Bucht ein Kunde eine Seminarveranstaltung, dann sind entsprechende Buchungsdaten zu speichern Analog zu /LD10/
Ergebnis: 1 einfacher Datenbestand.
I SWT - Die Planungsphase - Function Point
LE 3
411.7 Beispiel: Lastenheft »Seminarorganisation«
Ergebnis:Eingaben:
11 x mittel (4) = 44
4 x komplex (6) = 24
Ausgaben:5 x mittel (5) = 25
4 x komplex (7) = 28
Datenbestände:6 x einfach (7) = 42
Summe Function Points E1 = 163.
I SWT - Die Planungsphase - Function Point
LE 3
421.7 Beispiel: Lastenheft »Seminarorganisation«
Bewertung der Einflußfaktoren 1. Verflechtung mit Anwendungssystemen (0-5): 0
2. dezentrale Daten / Verarbeitung (0-5): 0
3. Transaktionsrate: Wegen /LL10/ (0-5): 3
4. Verarbeitungslogik
a. Rechenoperationen (0-10): 3
b. Kontrollverfahren (0-5): 3
c. Ausnahmeregelungen (0-10): 3
d. Logik (0-5): 3
5. Wiederverwendbarkeit (0-5): 0
6. Datenbestandskonvertierungen (0-5): 0
7. Anpaßbarkeit (0-5): 3
Summe der sieben Einflüsse E2: 18.
I SWT - Die Planungsphase - Function Point
LE 3
431.7 Beispiel: Lastenheft »Seminarorganisation«
Einflußbewertung E3: E2/100+0,7=18/100+0,7 = 0,88
Bewertete FPs: E1 * E3 = 163 * 0,88 = 143 FP
Aufwand nach IBM-Tabelle (interpoliert): 8,5 MM
Optimale Dauer:2,5 * 8,5 0,35 [Monate] = 5,2 [Monate]
Durchschnittliche Größe des Entwicklungsteams:
Anzahl Mitarbeiter = 8,5 MM / 5,2 Monate = 1,6 Mitarbeiter 2 Mitarbeiter.
I SWT - Die Planungsphase - Function Point
LE 3
44
Danke! Aufgaben
Diese Präsentation bzw. Teile dieser Präsentation enthalten Inhalte und Grafiken des Lehrbuchs der Software-Technik (Band 1) von Helmut Balzert, Spektrum Akademischer Verlag, Heidelberg 1996