440 likes | 680 Views
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. Lernziele. Die Function Point -Methode auf gegebene kommerzielle Problemstellungen anwenden können. Inhalt.
E N D
I SWT - Die Planungsphase - Function Point 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 Lernziele • Die Function Point-Methode auf gegebene kommerzielle Problemstellungen anwenden können.
I SWT - Die Planungsphase - Function Point 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 1.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 1.5 Die Function Point-Methode allgemein Kategorien der Function Points 1. Schritt: Jede Anforderung einer Kategorie zuordnen.
I SWT - Die Planungsphase - Function Point 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 5verschiedene Ausgaben handelt, wird im folgenden von 5Ausgaben ausgegangen.
I SWT - Die Planungsphase - Function Point 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.
I SWT - Die Planungsphase - Function Point 1.5 Die Function Point-Methode allgemein 3. Schritt: Eintrag in Berechnungsformular • Die Anforderung /LF 20/ enthält5mittlere Ausgaben • In der 2. Zeile von Ausgaben wird in die Spalte Anzahl der Tabelle die Zahl5eingetragen. • Diese Zahl wird mit der Zahl5(Einflußfaktor für»mittel«)multipliziert • Es ergeben sich25Function Points.
I SWT - Die Planungsphase - Function Point 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.
I SWT - Die Planungsphase - Function Point 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 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 1.5 Die Function Point-Methode allgemein • Verfeinerung der Schätzung entsprechend dem Entwicklungsfortschritt (iterative Methode) • Beispiel1. 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 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 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 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 1.6 Die Function Point-Methode konkret Voraussetzungen • 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 1.6 Die Function Point-Methode konkret • Klassifizierung der Eingaben • Kriterium einfach mittel komplexAnzahl unterschiedlicher 1-5 6-10 >10Datenelemente Eingabeprüfung formal formal formal logisch logisch DB-ZugriffAnsprüche an die Bedienerführung gering normal hoch.
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Klassifizierung der Abfragen • Kriterium einfach mittel komplexAnzahl unterschiedlicher Schlüssel 1 2 >2Anspruch an die Bedienerführung gering normal hoch.
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Klassifizierung der Ausgaben • Kriterium einfach mittel komplexAnzahl Spalten 1-6 7-15 >15Unterschiedliche Datenelemente 1-5 6-10 >10Gruppenwechsel 1 2-3 >3Datenelemente Druckaufbereitung keine einige viele.
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Klassifizierung der Datenbestände • Kriterium einfach mittel komplexAnzahl Schlüssel/Satzarten 1 2 >2Unterschiedliche Datenelemente 1-20 21-40 >40Datenbestand vorhanden ja – nein (keine Neuarchitektur) Impl. Datenbestand/-struktur nein ja –. wird verändert
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Klassifizierung der Referenzdaten • Kriterium einfach mittel komplexRead-Only-DateienAnzahl unterschiedlicher 1-5 6-10 >10 Datenelemente Anzahl Schlüssel/ Satzarten 1 2 >2TabellenAnzahl unterschiedlicher 1-5 6-10 >10 Datenelemente Dimension 1 2 3.
I SWT - Die Planungsphase - Function Point 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 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 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 Änderungen selbst angepaßt werden (auch bezüglich der Bedienung)(Bewertungsspanne 0-5).
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • IBM-Kurve: FP ® MM
I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Function Point-Wertepaare
I SWT - Die Planungsphase - Function Point 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 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 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 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 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 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 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 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 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 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 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 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 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): 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 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 • 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