1 Die Planungsphase Die Function Point-Methode

54 downloads 381 Views 491KB Size Report
I SWT - Die Planungsphase - Function Point. LE 3. 1. Software-Technik. 1 Die Planungsphase. Die Function Point-Methode. Prof. Dr. Helmut Balzert. Lehrstuhl  ...
I SWT - Die Planungsphase - Function Point LE 3 1

Software-Technik

1 Die Planungsphase Die Function Point-Methode Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität Bochum

© Helmut Balzert 1998

I SWT - Die Planungsphase - Function Point LE 3 2

Einführung und Überblick LE 1 V Unternehmensmodellierung 1 Grundlagen

2 Objektorientierte Unternehmensmodellierung LE 24

LE 25 2 LE

I SW-Entwicklung

II SW-Management

III SW-Qualitätssicherung

1 Die Planungsphase

1 Grundlagen LE 1

1 Grundlagen LE 9

LE 2 – 3

2 Planung

2 Die Definitionsphase LE 2

3 Organisation

2 Qualitätssicherung LE 4 – 22

LE 10

LE 23 – 31

3 Manuelle Prüfmethoden LE 11

3 Die Entwurfsphase

LE 3 – 4 4 Personal

4 Die Implementierungsphase LE 5

5 Leitung

LE 32

LE 12 – 13

LE 33

5 Produktqualität – Komponenten LE 14 – 17

5 Die Abnahme- und Einführungsphase LE 6 – 7

6 Kontrolle

6 Die Wartungs- & Pflegephase LE 8

4 Prozeßqualität

LE 33

8 LE

6 Produktqualität – Systeme LE 18 – 19

32 LE

11 LE

IV Querschnitte und Ausblicke 1 Prinzipien & Methoden LE 20

2 LE 21

3 Wiederverwendung LE 22

4 Sanierung LE 23 4 LE

I SWT - Die Planungsphase - Function Point LE 3 3

Lernziele ▲ Die Function Point-Methode auf gegebene kommerzielle Problemstellungen anwenden können.

I SWT - Die Planungsphase - Function Point LE 3 4

Inhalt 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 5

1.5 Die Function Point-Methode allgemein ▲ Zur Historie  Allan J. Albrecht

* 6.2.1927 in Pittston, PA., USA IBM Senior Engineer and Program Manager (im Ruhestand)  Erfinder der Function PointMethode zur Aufwandsschätzung von Software-Entwicklungen im Rahmen seiner Tätigkeiten bei IBM (1979).

I SWT - Die Planungsphase - Function Point LE 3 6

1.5 Die Function Point-Methode allgemein Kategorien der Function Points E in g

abedaten

Datenbestände Abfragen

Funktion Referenzdateien

A u sg

abedate

n

1. Schritt: Jede Anforderung einer Kategorie zuordnen.

I SWT - Die Planungsphase - Function Point LE 3 7

1.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 8

1.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. 

Kategorie

Anzahl

Eingabedaten

LE 3 9

Abfragen

Ausgaben

Datenbestände

Referenzdaten

Klassifizierung

Gewichtung Zeilensumme I SWT - Die Planungspha se - Function Point

einfach

x3

=

mittel

x4

=

komplex

x6

=

einfach

x3

=

mittel

x4

=

komplex

x6

=

einfach

x4

=

mittel

x5

=

komplex

x7

=

einfach

x7

=

mittel

x 10

=

komplex

x 15

=

einfach

x5

=

mittel

x7

=

komplex

x 10

=

E1

=

Summe Einflußfaktoren

1 Verflechtung mit anderen

(ändern den Function Point-Wert um ± 30%)

Anwendungssystemen (0–5)

=

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-

Quelle: IBM 85, S. 12

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

=

I SWT - Die Planungsphase - Function Point LE 3 10

1.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 11

1.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.

Produktanforderungen 1 Eingabedaten

LE 3 12

2

Abfragen

Ausgabedaten

einfach mittel komplex

einfach mittel komplex

3

einfach mittel komplex

3

Datenbestände 2

2

2

1. Schritt: I SWT - Die Planungspha se - fürFunction Point Kategorisierung

2

einfach mittel komplex

3

einfach mittel komplex

3

Eingaben Abfragen Ausgaben Datenbestände Referenzdaten

Referenzdaten

3

jede Anforderung 2. Schritt: Klassifizierung jeder Anforderung

3. Schritt: Eintrag der jeweiligen Anzahl in das Berechnungsformular und Ermittlung der unbewerteten FPs

∑ 4. Schritt: Bewertung der Einflußfaktoren

4 Einflußfaktoren 0 bis 60

5. Schritt: Berechnung der bewerteten FPs

5 FPs ± 30%

6. Schritt: Ablesen des Aufwandes

FP

6

6

6 Aufwand

MM 7

Wertepaare »FPs Aufwand« aus abgeschlossenen Entwicklungen

7. Schritt: Aktualisierung der Wertepaare, Neuberechnung der Aufwandskurve

I SWT - Die Planungsphase - Function Point LE 3 13

1.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 14

1.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 15

1.5 Die Function Point-Methode allgemein + Verfeinerung der Schätzung entsprechend

dem Entwicklungsfortschritt (iterative Methode)  Beispiel 1. Schätzung auf der Grundlage des Lastenheftes 2. Schätzung auf der Grundlage des Pflichtenheftes 3. 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 16

1.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 17

1.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 18

1.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 19

1.6 Die Function Point-Methode konkret Voraussetzungen ▲ Kriterium IBM Überwiegend zentrale interne Online-Anwendungen X Verwendung von PL/1 X Verwendung von COBOL Einsatz von TSO/SPF X Separates Testsystem X Durchschnittliche Personalqualität X Anwenderbeteiligung bei Projektentwicklungen X Zentrale Projektorganisation X Optimale Entwickl.-dauer-Aufwands-Kombination X ▲

Verwendung folgender Methoden und Techniken Strukturierte Programmierung Normierte Programmierung HIPO Doku-, Steuerungs- und Info-System Netzplantechnik usw.

VW X X X X X X X X

X X X X X

I SWT - Die Planungsphase - Function Point LE 3 20

1.6 Die Function Point-Methode konkret ▲ Klassifizierung der Eingaben ▲

Kriterium

einfach

mittel

komplex

Anzahl unterschiedlicher Datenelemente

1-5

6-10

>10

Eingabeprüfung

formal

formal logisch

formal logisch DB-Zugriff

Ansprüche an die Bedienerführung

gering

normal

hoch.

I SWT - Die Planungsphase - Function Point LE 3 21

1.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

normal hoch.

gering

I SWT - Die Planungsphase - Function Point LE 3 22

1.6 Die Function Point-Methode konkret ▲ Klassifizierung der Ausgaben ▲

Kriterium

einfach

mittel komplex

Anzahl Spalten

1-6

7-15

Unterschiedliche Datenelemente Gruppenwechsel

1-5 1

Datenelemente Druckaufbereitung keine

>15

6-10 2-3

>10 >3

einige viele.

I SWT - Die Planungsphase - Function Point LE 3 23

1.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 (keine Neuarchitektur)

ja



nein

Impl. Datenbestand/-struktur wird verändert

nein

ja

–.

I SWT - Die Planungsphase - Function Point LE 3 24

1.6 Die Function Point-Methode konkret ▲ Klassifizierung der Referenzdaten ▲

Kriterium Read-Only-Dateien Anzahl unterschiedlicher Datenelemente Anzahl Schlüssel/ Satzarten Tabellen Anzahl unterschiedlicher Datenelemente Dimension

einfach

mittel komplex

1-5

6-10

>10

1

2

>2

1-5

6-10

>10

1

2

3.

I SWT - Die Planungsphase - Function Point LE 3 25

1.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

I SWT - Die Planungsphase - Function Point LE 3 27

1.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

I SWT - Die Planungsphase - Function Point LE 3 28

1.6 Die Function Point-Methode konkret ▲ IBM-Kurve: FP → MM F 5000

4000

3000

2000

1000

100

200

300

400

500

600

700

800

900

1000 MM

I SWT - Die Planungsphase - Function Point LE 3 29

1.6 Die Function Point-Methode konkret ▲ Function Point-Wertepaare

I SWT - Die Planungsphase - Function Point LE 3 30

1.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 31

1.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 32

1.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 33

1.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 34

1.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 35

1.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 36

1.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 37

1.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 38

1.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 39

1.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 40

1.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 41

1.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 42

1.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):

I SWT - Die Planungsphase - Function Point LE 3 43

1.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