Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81

Ähnliche Präsentationen


Präsentation zum Thema: "Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81"—  Präsentation transkript:

1 Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81
Gruppe AIA1 Besir Öztürk Georg Arnaoutis Imdat Salman Protokollant Khoa Do Serhat Cinar Projektleiter Stefan Linke Repräsentant Fachhochschule Köln Campus Gummersbach Projektmanagement SS Prof.Dr. Winter

2 Inhalt Aufgabenstellung
Differenzierungen – Ausarbeiten der Punkte im Lastenheft Funktionen Komponenten Schnittstellen Dateien Datenbanktabellen (Eingabe-)Formulare Function-Point-Analyse Roh-Function-Points aus Daten-Eingaben, Daten-Ausgaben, Externe Abfragen, Interne Dateien / Daten System-Infrastruktur Output: Function Points, Umrechnung in Aufwand: PM und LOC Cocomo81 Analysemodell Projektmodus Costdriver Aufwand in PM Ergebnis und Interpretation

3 Aufgabenstellung Aufwandschätzung des Projekts SeminarIS
Faktoren der Function-Point-Analyse Durchführung der Function-Point-Analyse Überprüfung der Schätzung mit Cocomo81

4 Differenzierungen Um die im Lastenheft genannten Funktionen besser
bewerten zu können, muss eine Differenzierung durchgeführt werden.

5 Differenzierungen: Funktionen
F40 wird aufgeteilt in: F40A Ersterfassung, Änderung & Löschung von Seminarveranstaltungen F40B Ersterfassung, Änderung & Löschung von Seminartypen F70 wird aufgeteilt in: F70A Teilnehmerliste F70AX Festlegen des Layouts für die Teilnehmerliste F70B Teilnahmebescheinigung F70BX Festlegen des Layouts für die Teilnahmebescheinigung F70C Umsatzliste F70CX Festlegen des Layouts für die Umsatzliste F80 wird aufgeteilt in: F80A Seminartermine F80B Zahlungsverkehr F80C Wohnortstatistik

6 Differenzierungen: Komponenten, Schnittstellen & Dateien
Wiederverwertbare Komponenten C1 Liste zur Auswahl von Seminaren für F10, F20, F30 2 Felder (DT110 –Seminar ID, Name) C2 Komponente für RTF-Text Frei editierbares RTF-Feld Schnittstellen S2 Datenbank JDBC S3 Fakturierung Buchhaltung, TCP / IP Dateien BK10 Backup aller Daten

7 Differenzierungen: Datenbanktabellen
DT10 Personendaten (PK) Personen ID, Vorname, Nachname, Strasse, PLZ, Ort, Postfach, Kontonummer, BLZ, Telefonnummer, Mobilnummer, DT20 Personen-Seminare (PFK) Personen ID, (PFK) Seminar ID, besucht oder gehalten DT30 Personen-Zahlungen (Zahlungsposten) (PFK) Personen ID, (PFK) Seminar ID, Betrag, Datum, ausgezahlt / eingezahlt / Gutschrift DT50 Firmendaten (PK) Firmen ID, Firmenname, Strasse, PLZ, Ort, Postfach, Telefonnummer, , (FK) Branchen ID DT60 Branchen (PK) Branchen ID, Bezeichnung DT70 Firmen-Personen (PFK) Firmen ID, (PFK) Personen ID, Stellung DT80 Dozentendaten (PFK) Personen ID, Stundenlohn DT90 Fachgebiete (PK) Fach ID, Bezeichnung DT100 Dozenten-Fachgebiete (PFK) Personen ID, (PFK) Fach ID DT110 Seminardaten (PK) Seminar ID, Name, (FK) Fachgebiet, Begin, Ende, Preis pro Teilnehmer, Strasse, PLZ, Ort, Raum, Teilnehmerkapazität DT120 Benutzerdaten (PK) Username, Passwort, Letzter Login, Abteilung Legende PK: Primärschlüssel FK: Fremdschlüssel PFK: Fremdschlüssel als Primärschlüssel (identifizierende Beziehung)

8 Differenzierungen: Formulare (1)
FR10 F10: Eingabe, Änderung & Löschung von Personendaten 12 Felder (DT10) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR20 F20: Ersterfassung, Änderung und Löschung von Firmen 9 Felder (DT50) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR30 F30: Ersterfassung, Änderung und Löschung von Seminarbelegungen Benutzt C1 + 1 Feld Eingabe (DT10 - Personen ID) + Liste der Teilnehmer (DT10 – Personen ID, Name) + 1 Feld (Anzeige Summe der Teilnehmer) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR40A Ersterfassung, Änderung und Löschung von Seminarveranstaltungen Benutzt C Felder (DT110) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR40B Ersterfassung, Änderung und Löschung von Seminartypen Benutzt C1 + 2 Felder (DT90) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR50 Ersterfassung, Änderung und Löschung von Dozenten sowie Zuordnung zu Seminarveranstaltungen und -typen. Benutzt C1 + FR Felder (DT100) + 2 Felder (Anzeige bereits abgeschlossener Seminare – Seminar ID, Name) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR60AB Erstellen von Rechnungen und Gutschriften Benutzt C1 + 4 Felder (Bestätigen von Eingaben, Erstellen von Gutschriften) + 1 Eingabefeld Personen ID FR60X Festlegen des Layouts für die Gutschriften - Benutzt C2 FR70A Erstellung verschiedener Listen und Bescheinigungen – Teilnehmerliste Benutzt C1 + 2 Felder (Speichern, Drucken) FR70AX Festlegen des Layouts für die Teilnehmerliste - Benutzt C2

9 Differenzierungen: Formulare (2)
FR70B Erstellung verschiedener Listen und Bescheinigungen – Teilnahmebescheinigungen Benutzt C1 + 1 Feld Personen ID + 2 Felder (Speichern, Drucken) FR70BX Festlegen des Layouts für die Teilnahmebescheinigung - Benutzt C2 FR70C Erstellung verschiedener Listen und Bescheinigungen – Umsatzliste pro Jahr/Person/Firma 3 Felder (Jahr oder Personen ID oder Firma ID) + 1 Feld (Erzeugen) FR70CX Festlegen des Layouts für die Umsatzliste - Benutzt C2 FR80A Seminartermine - Benutzt C1 FR80B Zahlungsverkehr Benutzt C1 + 1 Feld (Personen ID) + 2 Felder (Auswahl Zahlungsverzug oder bezahlte Posten) FR80C Wohnortstatistik - 2 Felder (Wohnort, PLZ) FR90 Erstellen von Backups des kompletten Datenbestandes 1 Feld (Dateiauswahl) + 1 Feld (Speicherformat) FR100 Löschungen von Daten wie z. B. veraltete oder stornierte Seminare, Personendaten, etc.. Löschungen müssen aus Sicherheitsgründen protokolliert und genehmigt werden. 1 Liste (Liste der zu löschenden Daten mit Kontrollfeld zur Bestätigung). FR110 Einrichten und Ändern von Benutzern 4 Felder (DT120) + 2 Felder (Auswahl Einrichten oder Ändern)

10 Ermitteln der Roh-Function-Points
Die Roh-Function-Points werden durch die Bewertung der Komplexität der Funktionen gewonnen. Jedes Mitglied des Teams hat dafür die Komplexität eingeschätzt.

11 Bewertung: Daten-Eingaben
Was Komplexität Punkte Begründung, Eingabekomponenten C1 Einfach 3 Liste mit Einfach-Auswahl C2 Komplex 6 Freies RTF-Textfeld FR10 Komplex Eingabefelder, 3 Buttons, teils Semantische Prüfungen FR20 Mittel-Komplex 5 9 Eingabefelder, 3 Buttons, teils Semantische Prüfungen FR30 Mittel 4 1 Eingabefeld, 3 Buttons, 1 Semant. Prüfung, Liste der Teilnehmer mit Einfachauswahl FR40A Komplex Eingabefelder, 3 Buttons, teils Semant. Prüfungen FR40B Einfach 2,5 2 Eingabefelder, 3 Buttons FR50 Mittel 4 2 Eingabefelder, 3 Buttons, Zusammen mit FR10 FR60AB Einfach Eingabefeld + 4 Buttons FR70A Sehr Einfach 2 2 Buttons FR70B Sehr Einfach 2 1 Eingabefeld, 2 Buttons FR70C Einfach 3 3 Eingabefelder, 1 Button FR80B Sehr Einfach 2 1 Eingabefeld, 2 Buttons FR80C Einfach 3 2 Eingabefelder, Semantische Prüfung FR90 Einfach 3 1 Auswahlfeld, 1 Eingabefeld FR100 Mittel-Komplex 5 Liste mit Mehrfachauswahl und Bestätigungen FR110 Einfach 3,5 4 Eingabefelder, 2 Buttons, eine semant. Prüfung Summe: 62,5

12 Bewertung: Daten-Ausgaben
Was Komplexität Punkte Begründung, Ausgabekomponenten C1 Einfach 3 Liste mit 2 Attributen FR30 Einfach-Mittel 3,5 1 Feld (Anzeige Summe der Teilnehmer), Liste Teilnehmer FR40A Sehr Einfach 2,5 Liste der Seminartypen FR50 Einfach 3 Anzeige bereits abgeschlossener Seminare FR60A Mittel 5 Druckaufbereitung der Rechnung FR60B Mittel 5 Druckaufbereitung der Gutschrift FR70A Mittel 5 Druckaufbereitete Teilnehmerliste FR70B Einfach 4 Druckaufbereitete Teilnahmebescheinigung pro Teilnehmer FR70C Mittel-Komplex 6 Druckaufbereitete Umsatzliste mit 3 Gruppenwechseln FR80A Mittel 5 Seminarkalender, Seminartermine Liste FR80B Komplex 7 Gruppierungen pro Person, Verzüge, Zahlungen etc. FR80C Einfach-Mittel 4,5 Diagramm der Wohnortverteilung FR90 Komplex 7 Komplexes Dateiformat aller Datenbestände FR100 Einfach 4 Liste der zu löschenden Daten mit Kontrollfeld FR110 Einfach 4 Liste der vorhandenen Benutzer Summe: 68,5

13 Bewertung: Externe Abfragen
Was Komplexität Punkte Begründung, beteiligte Tabellen C1 Einfach 3 Liste mit 2 Attributen aus einer Tabelle FR10 Einfach 3 Person nach Personen ID suchen FR20 Einfach 3 Firma nach Firma ID suchen FR30 Mittel 4 Personendaten, Seminardaten FR40A Komplex 6 Seminardaten, Personendaten, Personen-Zahlungen (für Gutschriften) FR40B Sehr Einfach 2 Alle Seminartypen FR50 Komplex 6 Personendaten, Seminardaten, Personen-Zahlungen FR60A Mittel 4 Personendaten, Personen-Zahlungen FR60B Mittel 4 Personendaten, Personen-Zahlungen FR70A Mittel 4 Personendaten, Seminardaten FR70B Mittel 4 Personendaten, Seminardaten FR70C Komplex 6 Personendaten, Seminardaten, Personen-Zahlungen, Firmendaten FR80A Einfach 3 Seminardaten FR80B Komplex 6 Personendaten, Personen-Zahlungen, Seminardaten FR80C Sehr Einfach 2 Personendaten nach Wohnort FR90 Sehr Komplex 8 Alle Spalten und Tabellen FR100 Sehr Komplex 7 Alle mögl. Spalten, Kontrollfreigaben FR110 Sehr Einfach 2,5 Vorhandene Benutzer Summe: 77,5

14 Bewertung: Interne Dateien / Daten
Was Komplexität Punkte Begründung, Zusammensetzung BK10 Komplex 15 Alle Spalten und Tabellen DT10 Mittel PK, 1 FK (Orte/PLZ), 12 Spalten DT20 Einfach-Mittel 8,5 2 PFK, 3 Spalten DT30 Einfach-Mittel 9 2 PFK, 5 Spalten DT50 Mittel-Komplex 12 1 PK, 3FK, 9 Spalten DT60 Einfach 7 1 PK, 2 Spalten DT70 Einfach-Mittel 8,5 2 PFK, 3 Spalten DT80 Einfach 7 1 FPK, 2 Spalten DT90 Einfach 7 1 FPK, 2 Spalten DT100 Einfach-Mittel 8,5 2 FPK, 3 Spalten DT110 Mittel-Komplex 12 1 PK, 2 FK, 11 Spalten DT120 Einfach 7 1 PFK, 4 Spalten Summe: 111,5

15 Bewertung: Externe Schnittstellen
Was Komplexität Punkte Begründung S2 Komplex 10 Verschiedene Spaltenbreiten & Abfragetypen S3 Komplex 10 Verschiedene Kommunikationstypen Summe: 20

16 Summe der Roh-Function-Points:
62,5 + 68,5 + 77, , = 340 RFP

17 Bewertung der System-Infrastruktur
Faktor Punkte Begründung COMmunication 5 Kommunikationen über Netzwerk, TCP/IP DIStributed 3 Verarbeitungsfunktionen haupts. beim Server, Formularlogik bei Clients RESponse 3 Wegen Usability schnelle Antwortzeiten STRess 4 Anwendung soll Stabil sein TRAnsactions 5 Mehrere Bearbeiter können zugleich Arbeiten ONLine 5 Alle Ein-/Ausgaben und Bewertungen geschehen online EFFicience 4 Endbenutzer steht im Vordergrund UPDatability 4 Echtzeit Update der Datenbestände KMPlexity 3 Nicht sehr komplex Anwendungslogik REUsability 4 Produkt soll später weiterentwickelt werden PORtybility 2 Produktplattform ist festgelegt auf WIN32 und Oracle USAbility 5 Endbenutzer steht im Vordergrund MANdant 1 Anpassbarkeit ist so nicht wichtig MAIntainability 4 Produkt soll später weiterentwickelt werden Summe: 52 SI

18 Berechnungen der Function Points aus den Roh-Function-Points
FP = RFP * (0,65 + (0,01 * SI)) = 340 * (0,65 + (0,01 * 52)) = 397,8 Function Points Umrechnung in LOC für Java (29 LOC/FP): 397,8 * 29 = 11536,2 LOC

19 Ermitteln der Personenmonate anhand
Aufwand in PM Ermitteln der Personenmonate anhand des Diagramms 27 397 397 Function-Points ergeben nach dem Diagramm etwa 27 Personenmonate.

20 Cocomo Analysemodell Zuerst wird ein Analysemodell ausgewählt, je nach dem, wie genau die Schätzung sein soll. Es gibt: Basic Cocomo - Die Kostenfaktoren sind phasenunabhängig (grob) - Schnelle und frühe aber grobe Abschätzung der Softwarekosten - Ungenau, da Faktoren wie Unterschiede in der Hardware, Qualität des Personals und dessen Erfahrung, die Verwendung moderner Hilfsmittel und andere Projektattribute mit bekanntem Einfluss keine Berücksichtigung finden - Keine Berücksichtigung von besonderen Kostenfaktoren Intermediate Cocomo - Faktoren wie Unterschiede in der Hardware, Qualität des Personals und dessen Erfahrung, die Verwendung moderner Hilfsmittel und andere Projektattribute mit bekanntem Einfluss werden berücksichtigt - Die Berechnung bewertet jeden Kostenfaktor - Die Berechnung seperater Module möglich Detailed Cocomo - Kostenfaktoren Phasenabhängig separat (fein) - Beurteilt die Faktoren abhängig von den Projektphasen, für die sie von Bedeutung sind. - Verschiedene Gewichtungsfaktoren je Phase: - Analyse (Requirements (RQ)) - Entwurf (Product Design (PD)) - Feinentwurf (Detailed Design (DD)) - Implementierung und Modultest (Code & Unit Test (CT)) - Integration und Test (Integrate & Test (IT)) - Wartung (Maintenance (MN)) - Geeignet um verschiedene Entwicklungsstrategien zu vergleichen

21 Wahl eines Projektmodus abhängig von
CoCoMo Projektmodus Wahl eines Projektmodus abhängig von der Größe des Projekts Organic Mode - Kleines Projekt (kleiner als DSI) - Stabile Entwicklungsumgebung - Jeder Mitarbeiter kennt das gesamte Projekt - Keine große Innovation    Semidetached Mode - Mittelgroßes Projekt (zwischen und DSI) - Jeder Mitarbeiter besitzt Spezialwissen bezüglich der Entwicklung. - Spezialwissen ist verteilt Embedded Mode - Großes Projekt (über DSI) - Starke Arbeitsaufteilung - Straffe und unflexible Strukturen - Änderungen der Software nur über Änderung der Spezifikation - Unbekanntes Terrain

22 CoCoMo Projektmodus Konstanten
Die Auswahl des Analysemodells Intermediate Cocomo und die Einschätzung des Projekts als Semidetached ergibt folgende Konstanten a, b, c: a = 3.0 b = 1.12 c = 0.35

23 CoCoMo Cost Driver Bewertung
Khoa Imdat Georg Stefan Serhat Besir Ø Reliability 1.40 1.15 1.00 0.88 1.16 Database Size 1.08 0.94 Product Complexity Execution Time Constraints 1.66 1.22 Main Storage Constraints 1.06 1.01 Virtual Machine Volatility 0.87 Turn Around Time 1.07 0.84 Analyst Capability 0.71 1.19 Application Experience 1.13 0.91 1.03 Programmer Capability 0.70 0.86 1.02 0.93 Virtual Machine Experience 0.90 Language Experience 0.95 0.96 Modern Programming Practices 0.98 Use of Software Tools Requ. Development Schedule 1.04

24 CoCoMo Endergebnis Produktsumme der Costdriver
1.16 * 1.08 * 1.00 * 1.22 * 1.01 * 0.94 * 1.06 * 0.94 * 1.03 * 0.93 * 0.93 * 0.96 * 0.98 * 0.96 * 1.03 = 1,198 Formel für Aufwand in Personenmonaten PM = Produktsumme der Costdriver * a * KLOC^b = 1,198 * 3,0 * 11,5362^1,12 = 55,6 PM

25 Function Point Analyse:
Vergleich Function Point Analyse: 27 PM CoCoMo Analyse: 55,6 PM CoCoMo berücksichtigt unsere persönliche Leistungskurve nicht, jedoch die Costdrivers und damit die Projektrahmenbedingungen (z.B. unerfahrenes Team).


Herunterladen ppt "Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81"

Ähnliche Präsentationen


Google-Anzeigen