Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81 Gruppe AIA1 Besir Öztürk Georg Arnaoutis Imdat SalmanProtokollant Khoa Do Serhat CinarProjektleiter.

Ähnliche Präsentationen


Präsentation zum Thema: "Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81 Gruppe AIA1 Besir Öztürk Georg Arnaoutis Imdat SalmanProtokollant Khoa Do Serhat CinarProjektleiter."—  Präsentation transkript:

1 Blatt 2 Aufgabe 3 Function Point Analyse und Cocomo 81 Gruppe AIA1 Besir Öztürk Georg Arnaoutis Imdat SalmanProtokollant Khoa Do Serhat CinarProjektleiter Stefan LinkeRepräsentant Fachhochschule Köln Campus GummersbachProjektmanagement SS2003 Prof.Dr. Winter

2 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 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 4 Differenzierungen Um die im Lastenheft genannten Funktionen besser bewerten zu können, muss eine Differenzierung durchgeführt werden.

5 5 Differenzierungen: Funktionen F40 wird aufgeteilt in: F40AErsterfassung, Änderung & Löschung von Seminarveranstaltungen F40BErsterfassung, Änderung & Löschung von Seminartypen F70 wird aufgeteilt in: F70ATeilnehmerliste F70AXFestlegen des Layouts für die Teilnehmerliste F70BTeilnahmebescheinigung F70BXFestlegen des Layouts für die Teilnahmebescheinigung F70CUmsatzliste F70CXFestlegen des Layouts für die Umsatzliste F80 wird aufgeteilt in: F80ASeminartermine F80BZahlungsverkehr F80CWohnortstatistik

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

7 7 Differenzierungen: Datenbanktabellen DT10Personendaten (PK) Personen ID, Vorname, Nachname, Strasse, PLZ, Ort, Postfach, Kontonummer, BLZ, Telefonnummer, Mobilnummer, DT20Personen-Seminare (PFK) Personen ID, (PFK) Seminar ID, besucht oder gehalten DT30Personen-Zahlungen (Zahlungsposten) (PFK) Personen ID, (PFK) Seminar ID, Betrag, Datum, ausgezahlt / eingezahlt / Gutschrift DT50Firmendaten (PK) Firmen ID, Firmenname, Strasse, PLZ, Ort, Postfach, Telefonnummer, , (FK) Branchen ID DT60Branchen (PK) Branchen ID, Bezeichnung DT70Firmen-Personen (PFK) Firmen ID, (PFK) Personen ID, Stellung DT80Dozentendaten (PFK) Personen ID, Stundenlohn DT90Fachgebiete (PK) Fach ID, Bezeichnung DT100Dozenten-Fachgebiete (PFK) Personen ID, (PFK) Fach ID DT110Seminardaten (PK) Seminar ID, Name, (FK) Fachgebiet, Begin, Ende, Preis pro Teilnehmer, Strasse, PLZ, Ort, Raum, Teilnehmerkapazität DT120Benutzerdaten (PK) Username, Passwort, Letzter Login, Abteilung Legende PK: Primärschlüssel FK: Fremdschlüssel PFK: Fremdschlüssel als Primärschlüssel (identifizierende Beziehung)

8 8 Differenzierungen: Formulare (1) FR10F10: 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) FR40AErsterfassung, Änderung und Löschung von Seminarveranstaltungen Benutzt C Felder (DT110) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR40BErsterfassung, Änderung und Löschung von Seminartypen Benutzt C1 + 2 Felder (DT90) + 3 Felder (Auswahl Erfassen, Ändern, Löschen) FR50Ersterfassung, Ä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) FR60ABErstellen von Rechnungen und Gutschriften Benutzt C1 + 4 Felder (Bestätigen von Eingaben, Erstellen von Gutschriften) + 1 Eingabefeld Personen ID FR60XFestlegen des Layouts für die Gutschriften - Benutzt C2 FR70AErstellung verschiedener Listen und Bescheinigungen – Teilnehmerliste Benutzt C1 + 2 Felder (Speichern, Drucken) FR70AXFestlegen des Layouts für die Teilnehmerliste - Benutzt C2

9 9 Differenzierungen: Formulare (2) FR70BErstellung verschiedener Listen und Bescheinigungen – Teilnahmebescheinigungen Benutzt C1 + 1 Feld Personen ID + 2 Felder (Speichern, Drucken) FR70BXFestlegen des Layouts für die Teilnahmebescheinigung - Benutzt C2 FR70CErstellung verschiedener Listen und Bescheinigungen – Umsatzliste pro Jahr/Person/Firma 3 Felder (Jahr oder Personen ID oder Firma ID) + 1 Feld (Erzeugen) FR70CXFestlegen des Layouts für die Umsatzliste - Benutzt C2 FR80ASeminartermine - Benutzt C1 FR80BZahlungsverkehr Benutzt C1 + 1 Feld (Personen ID) + 2 Felder (Auswahl Zahlungsverzug oder bezahlte Posten) FR80CWohnortstatistik - 2 Felder (Wohnort, PLZ) FR90Erstellen von Backups des kompletten Datenbestandes 1 Feld (Dateiauswahl) + 1 Feld (Speicherformat) FR100Lö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). FR110Einrichten und Ändern von Benutzern 4 Felder (DT120) + 2 Felder (Auswahl Einrichten oder Ändern)

10 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 11 Bewertung: Daten-Eingaben WasKomplexitätPunkteBegründung, Eingabekomponenten C1Einfach3Liste mit Einfach-Auswahl C2Komplex6Freies RTF-Textfeld FR10Komplex612 Eingabefelder, 3 Buttons, teils Semantische Prüfungen FR20Mittel-Komplex59 Eingabefelder, 3 Buttons, teils Semantische Prüfungen FR30Mittel41 Eingabefeld, 3 Buttons, 1 Semant. Prüfung, Liste der Teilnehmer mit Einfachauswahl FR40AKomplex611 Eingabefelder, 3 Buttons, teils Semant. Prüfungen FR40BEinfach2,52 Eingabefelder, 3 Buttons FR50Mittel42 Eingabefelder, 3 Buttons, Zusammen mit FR10 FR60ABEinfach 31 Eingabefeld + 4 Buttons FR70ASehr Einfach22 Buttons FR70BSehr Einfach21 Eingabefeld, 2 Buttons FR70CEinfach33 Eingabefelder, 1 Button FR80BSehr Einfach21 Eingabefeld, 2 Buttons FR80CEinfach32 Eingabefelder, Semantische Prüfung FR90Einfach31 Auswahlfeld, 1 Eingabefeld FR100Mittel-Komplex5Liste mit Mehrfachauswahl und Bestätigungen FR110Einfach3,54 Eingabefelder, 2 Buttons, eine semant. Prüfung Summe:62,5

12 12 Bewertung: Daten-Ausgaben WasKomplexitätPunkteBegründung, Ausgabekomponenten C1Einfach3Liste mit 2 Attributen FR30Einfach-Mittel3,51 Feld (Anzeige Summe der Teilnehmer), Liste Teilnehmer FR40ASehr Einfach 2,5Liste der Seminartypen FR50Einfach3Anzeige bereits abgeschlossener Seminare FR60AMittel5Druckaufbereitung der Rechnung FR60BMittel5Druckaufbereitung der Gutschrift FR70AMittel5Druckaufbereitete Teilnehmerliste FR70BEinfach4Druckaufbereitete Teilnahmebescheinigung pro Teilnehmer FR70CMittel-Komplex6Druckaufbereitete Umsatzliste mit 3 Gruppenwechseln FR80AMittel5Seminarkalender, Seminartermine Liste FR80BKomplex7Gruppierungen pro Person, Verzüge, Zahlungen etc. FR80CEinfach-Mittel4,5Diagramm der Wohnortverteilung FR90Komplex7Komplexes Dateiformat aller Datenbestände FR100Einfach4Liste der zu löschenden Daten mit Kontrollfeld FR110Einfach4Liste der vorhandenen Benutzer Summe:68,5

13 13 Bewertung: Externe Abfragen WasKomplexitätPunkteBegründung, beteiligte Tabellen C1Einfach3Liste mit 2 Attributen aus einer Tabelle FR10Einfach3Person nach Personen ID suchen FR20Einfach3Firma nach Firma ID suchen FR30Mittel4Personendaten, Seminardaten FR40AKomplex 6Seminardaten, Personendaten, Personen-Zahlungen (für Gutschriften) FR40BSehr Einfach2Alle Seminartypen FR50Komplex6Personendaten, Seminardaten, Personen-Zahlungen FR60AMittel4Personendaten, Personen-Zahlungen FR60BMittel4Personendaten, Personen-Zahlungen FR70AMittel4Personendaten, Seminardaten FR70BMittel4Personendaten, Seminardaten FR70CKomplex6Personendaten, Seminardaten, Personen-Zahlungen, Firmendaten FR80AEinfach3Seminardaten FR80BKomplex6Personendaten, Personen-Zahlungen, Seminardaten FR80CSehr Einfach2Personendaten nach Wohnort FR90Sehr Komplex8Alle Spalten und Tabellen FR100Sehr Komplex7Alle mögl. Spalten, Kontrollfreigaben FR110Sehr Einfach2,5Vorhandene Benutzer Summe:77,5

14 14 Bewertung: Interne Dateien / Daten WasKomplexitätPunkteBegründung, Zusammensetzung BK10Komplex15Alle Spalten und Tabellen DT10Mittel101 PK, 1 FK (Orte/PLZ), 12 Spalten DT20Einfach-Mittel8,52 PFK, 3 Spalten DT30Einfach-Mittel92 PFK, 5 Spalten DT50Mittel-Komplex121 PK, 3FK, 9 Spalten DT60Einfach71 PK, 2 Spalten DT70Einfach-Mittel8,52 PFK, 3 Spalten DT80Einfach71 FPK, 2 Spalten DT90Einfach71 FPK, 2 Spalten DT100Einfach-Mittel8,52 FPK, 3 Spalten DT110Mittel-Komplex121 PK, 2 FK, 11 Spalten DT120Einfach71 PFK, 4 Spalten Summe:111,5

15 15 Bewertung: Externe Schnittstellen WasKomplexitätPunkteBegründung S2Komplex10Verschiedene Spaltenbreiten & Abfragetypen S3Komplex10Verschiedene Kommunikationstypen Summe:20

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

17 17 Bewertung der System-Infrastruktur FaktorPunkteBegründung COMmunication5Kommunikationen über Netzwerk, TCP/IP DIStributed3Verarbeitungsfunktionen haupts. beim Server, Formularlogik bei Clients RESponse3Wegen Usability schnelle Antwortzeiten STRess4Anwendung soll Stabil sein TRAnsactions5Mehrere Bearbeiter können zugleich Arbeiten ONLine5Alle Ein-/Ausgaben und Bewertungen geschehen online EFFicience4Endbenutzer steht im Vordergrund UPDatability4Echtzeit Update der Datenbestände KMPlexity3Nicht sehr komplex Anwendungslogik REUsability4Produkt soll später weiterentwickelt werden PORtybility2Produktplattform ist festgelegt auf WIN32 und Oracle USAbility5Endbenutzer steht im Vordergrund MANdant1Anpassbarkeit ist so nicht wichtig MAIntainability4Produkt soll später weiterentwickelt werden Summe:52 SI

18 18 Function Points 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 19 Aufwand in PM Ermitteln der Personenmonate anhand des Diagramms 397 Function-Points ergeben nach dem Diagramm etwa 27 Personenmonate

20 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 - Die Kostenfaktoren sind phasenunabhängig (grob) - 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 21 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 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 23 CoCoMo Cost Driver Bewertung Cost DriverKhoaImdatGeorgStefanSerhatBesir Ø Reliability Database Size Product Complexity1.00 Execution Time Constraints Main Storage Constraints Virtual Machine Volatility Turn Around Time Analyst Capability Application Experience Programmer Capability Virtual Machine Experience Language Experience Modern Programming Practices Use of Software Tools Requ. Development Schedule

24 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 25 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 Gruppe AIA1 Besir Öztürk Georg Arnaoutis Imdat SalmanProtokollant Khoa Do Serhat CinarProjektleiter."

Ähnliche Präsentationen


Google-Anzeigen