1 / 44

Software-Technik

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.

sinclair
Download Presentation

Software-Technik

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. I SWT - Die Planungsphase - Function Point

  3. I SWT - Die Planungsphase - Function Point Lernziele • Die Function Point-Methode auf gegebene kommerzielle Problemstellungen anwenden können.

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

  5. 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).

  6. I SWT - Die Planungsphase - Function Point 1.5 Die Function Point-Methode allgemein Kategorien der Function Points 1. Schritt: Jede Anforderung einer Kategorie zuordnen.

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

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

  9. I SWT - Die Planungsphase - Function Point

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

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

  12. I SWT - Die Planungsphase - Function Point

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

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

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

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

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

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

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

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

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

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

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

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

  25. 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).

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

  27. 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).

  28. I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • IBM-Kurve: FP ® MM

  29. I SWT - Die Planungsphase - Function Point 1.6 Die Function Point-Methode konkret • Function Point-Wertepaare

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related