Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

CoCoMo II - Inhalt Einführung –Geschichte von CoCoMo –Konzept hinter CoCoMo II CoCoMo 2.0 anhand eines Beispieles –Szenario –Erstellung einer Aufwandsanalyse.

Ähnliche Präsentationen


Präsentation zum Thema: "CoCoMo II - Inhalt Einführung –Geschichte von CoCoMo –Konzept hinter CoCoMo II CoCoMo 2.0 anhand eines Beispieles –Szenario –Erstellung einer Aufwandsanalyse."—  Präsentation transkript:

1 CoCoMo II - Inhalt Einführung –Geschichte von CoCoMo –Konzept hinter CoCoMo II CoCoMo 2.0 anhand eines Beispieles –Szenario –Erstellung einer Aufwandsanalyse mit CoCoMo II Weiterführendes Fazit

2 CoCoMo II - Inhalt Angenommen... Man erhält die Aufgabe, den Aufwand eines Softwareprojektes im Vorfeld abzuschätzen. Dann wäre es sehr hilfreich, auf die Erfahrung von hunderten anderer Projekte anderer Unternehmen sowie eigene, bereits abgeschlossene Projekte des eigenen Unternehmens zugreifen zu können. Der Erfinder von CoCoMo 81, Barry W. Boehm, hatte 1981 diese Idee und entwickelte ein Vorgehensmodell in das die Analyse von über 100 Projekten einfloss. Unter sunset.usc.edu (University Of Southern California) wird CoCoMo als offenes Modell verwaltet.

3 CoCoMo II - Einführung CoCoMo 81 oder CoCoMo II Abschätzung der Systemgröße (KLOC oder KDSI) Produkt-, Prozess-, Plattform- und Personal-Attribute Wiederverwertbarkeits- und Wartbarkeitsparameter Daten bereits abgeschlossener Projekte Abschätzung für Entwicklungs- und Wartungskosten für verschiedene Entwicklungsphasen Iterative Aktualisierung Kalibrierung auf eigene Organisation

4 CoCoMo II - Merkmale Merkmale: CoCoMo ist ein Modell zur Kosten- & Aufwandsschätzung von Software, die mit einer Basisformel agiert, welche mit Parametern aus vergangenen und aktuellen Projekten und deren Charakteristiken festgelegt wird. Die Parameter werden anhand von Kosten- und Skalenfaktoren bestimmt: Bei der Schätzung der Projektkosten gilt es die wichtigsten Kostenfaktoren (cost drivers) besonders zu betrachten. Zu diesen zählen die Variablen, die, die Anzahl der, für das Projekt aufzuwendenden Säcke an Geld, beeinflussen. Zentraler Kostenfaktor ist die Größe des Softwareproduktes (Size-Driven Model)

5 CoCoMo II – Von CoCoMo 81 zu CoCoMo II CoCoMo 81 wurde zu CoCoMo II weiterentwickelt, da sich auch die Entwicklung von Software weiterentwickelte: Einführung neuer Lifecycle-Prozesse Wiederverwendung von Software-Komponenten Reengineering Objektorientierte Programmierung Benutzung von Standard Middleware Wasserfall-Modell, das COCOMO 81 zu Grunde liegt, ist veraltet. Neuer ist z.B. das Iterative- oder das Spiral-Modell Vierte Generation Sprachen (Sehr komfortabel, teils Visuell) Mehr und damit differenziertere Kostenfaktoren als CocoMo 81 Process Maturity wird berücksichtigt

6 CoCoMo II – Submodelle (1) CoCoMo II besteht aus drei Submodellen, die jeweils verschiedene Faktoren für verschiedene Phasen der Abschätzung bieten: 1 - Application Composition Model Früheste Phase der Abschätzung : Prototypisierung 2 - Early Design Model Abschätzung zur Analyse und Prototyping-Phasen Vor der Systemarchitektur Wenig von der Architektur bekannt, daher sind eingehende Schätzungen grob 7 Kostenfaktoren werden berücksichtigt 3 - Post-Architecture Model Abschätzung nach Festlegung der Softwarearchitektur, vor und beim Kodieren 17 Kostenfaktoren werden berücksichtigt

7 CoCoMo II – Wie funktioniert CoCoMo II ? Szenario: Es soll ein Frontend für eine Kundendatenbank erstellt werden. Das Frontend soll in C++ für WIN32 geschrieben werden. Das Backend ist eine SQL-Datenbank. Das Projekt ist eine Übergangslösung, daher nicht wieder zu verwerten. F10: Erstellen, Ändern und Löschen der Kundendaten F20: Ausgabe einer Liste aller Namen Aufgabe: Aufwandsschätzung nach CoCoMo II – Early Design Model für zwei Informatikstudenten und zum Vergleich einem professionellen Entwicklerteam von SUN Microsystems.

8 CoCoMo II – Wie funktioniert CoCoMo II ? 1.Function Point Analyse (oder äquivalente Systemgrößen Abschätzung) -> ergibt Größe (LOC – Lines Of Code) 2.Ermitteln der Skalenfaktoren -> Berechnung des nominalen Aufwandes in Personen Monaten (PM) 3.Ermitteln der Aufwands Faktoren (Cost Drivers) -> Berechnen des adjustierten Aufwandes in PM

9 CoCoMo II – Function Point Analyse (1) Ermitteln der Roh Function Points Daten EingabenMittel1 x 3F10 – Etwa 10 syntaktisch und semantisch zu prüfende Eingabefelder Daten AusgabenMittel1 x 5F20 – Eine Liste mit etwa 3-4 Spalten Interne DatenMittel1 x 10 Daten werden in mehreren Tabellen separat gespeichert Externe SchnittstellenKomplex1 x 10 SQL, liefert bei verschiedenen Abfragen jeweils verschiedene Datenstrukturen Externe Datenabfragen Komplex1 x 6Die nötigen INSERT, UPDATE und SELECT Anweisungen gehen über mehrere Tabellen Summe :34Roh Function Points (RFP)

10 CoCoMo II – Function Point Analyse (2) Ermitteln des Einflusses der System-Infrastruktur Kommunikationseinrichtung3SQL über Netzwerk Verteilte Funktionen3Clients und Datenbanken Antwortzeitverhalten4Antworten sollten schnell sein Lastverhalten2Wenige Leute nutzen das Programm Transaktionsrate3 Online Eingabe5Eingaben über das Netzwerk Usereffizienz4Anwendung für User effizient Online Update4Daten werden über Netzwerk aktualisiert Komplexe Verarbeitung2Verarbeitung im Formular ist simpel Wiederverwertbarkeit1Nicht nötig Portier- & Installierbarkeit2Konkret WIN32 Usability5 Mandantenfähigkeit3 Änder- und Wartbarkeit4Schnelle Änderungen und unkompliziertes Warten Summe:45SI

11 CoCoMo II – Function Point Analyse (3) Ermitteln der Function Points FP = RFP x ( 0,65 + ( 0,01 x SI ) ) FP = 34 x ( 0,65 + 0,01 x 45 ) = 37,4 FP Ermitteln der Lines Of Code für C++ (LOC) 37,4 FP x 91 LOC / FP = 3403,4 LOC

12 CoCoMo II – Skalenfaktoren (1) Mit den Skalenfaktoren werden die Projektrahmenbedingungen in der Aufwandsberechnung berücksichtigt.

13 CoCoMo II – Skalenfaktoren (2) Für jedes Submodell existiert eine eigene Skalenfaktorentabelle, die durch Erfahrungen vergangener Projekte angepasst werden können. Beispiel für die Default-Skalenfaktoren für das Early Design Model

14 CoCoMo II – Skalenfaktoren (3) Mit den Skalenfaktoren können die nominalen Personen Monate berechnet werden. Sie beziehen sich auf den Aufwand, der unter durchschnittlichen Bedingungen zu Stande käme. PM nominal = A x KLOC ^ B A= COCOMO2 spezifische Konstante, abhängig vom Submodell B= C + 0,01 x Summe der Skalenfaktoren C= COCOMO2 spezifische Konstante, abhängig vom Submodell

15 CoCoMo II – Faktoren (1) Ermitteln der Skalenfaktoren für die Studenten VorkenntnisseNominal3,7 2 Etwas Erfahrung in C++, viel in SQL Flexibilität bei Entwicklung Very High 1,0 1 Vorgegebene fixe Datenbank, fixe Interfaces Kenntnisse in Architektur Nominal4,2 5 Noch Studenten, aber immerhin Informatik Team ZusammenarbeitVery High 1,1 0 Zwei Personen, die sich bereits kennen ProzessreifeNominal4,6 8 Etwas Erfahrung durch Praktika an der FH Summe:14, 76

16 CoCoMo II – Faktoren (2) Berechnen des nominalen Aufwandes (Personenmonate) für die Studenten PM nominal = A x KLOC ^ B A= 2,5 (CoCoMo II spezifische Konstante für Early Design Model) B= C + 0,01 x Summe der Skalenfaktoren = 1,01 + 0,01 x 14,76 = 1,1576 C= 1,01 (CoCoMo II spezifische Konstante für Early Design Model) PM nominal = 2,5 x 3,4034 ^ 1,1576 = 10,32 PM

17 CoCoMo II – Kostenfaktoren (1) Nun gibt es aber eine Reihe von verschiedenen Parametern, die sich positiv oder negativ auf den zu leistenden Aufwand niederschlagen können. Mit den Kostenfaktoren werden die für das Projekt relevanten Kosten ändernden Faktoren in der Aufwandsberechnung berücksichtigt PM adjustiert = PM nominal x Produktsumme der Kostenfaktoren

18 CoCoMo II – Kostenfaktoren (2) Für jedes Submodell existiert eine eigene Kostenfaktorentabelle, die durch Erfahrungen voran gegangener Projekte angepasst werden kann. Beispiel für die Default-Kostenfaktoren für das Early Design Model

19 CoCoMo II – Kostenfaktoren (3) Beispiel für die Default-Kostenfaktoren für das Post-Architecture Model

20 CoCoMo II – Faktoren (3) Ermitteln der Kostenfaktoren für die Studenten Produkt KomplexitätLow0,8 3 Einfache Software WiederverwertbarkeitLow0,9 6 Nicht wichtig Plattform SchwierigkeitNomin al 1,0 0 Wegen C++ Team FähigkeitHigh0,8 3 Team ErfahrungLow1,1 2 Wenig Erfahrung BetriebsmittelVery Low 1,3 0 Kein Büro Entwicklungs Zeitrahmen / -plan Nomin al 1,0 0 Abgabetermin stellt nicht zu sehr unter Druck

21 CoCoMo II – Faktoren (4) Berechnen des adjustierten Aufwandes für die Studenten PM adjustiert = PM nominal x Produktsumme der Kostenfaktoren = 10,32 PM x 0,83 x 0,96 x 1 x 0,83 x 1,12 x 1,3 x 1 = 9,937 PM

22 CoCoMo II – Faktoren (1) Ermitteln der Skalenfaktoren für das SUN Team VorkenntnisseHigh2,48 Flexibilität bei EntwicklungVery High1,01 Kenntnisse in ArchitekturVery High1,01 Team ZusammenarbeitHigh2,19 ProzessreifeHigh3,12 Summe:9,81

23 CoCoMo II – Faktoren (2) Berechnen des nominalen Aufwandes (Personenmonate) für das SUN Team B = 1,01 + 0,01 x Summe Skalenfaktoren = 1,01 + 0,01 x 9,81 = 1,1081 PM nominal = A x KLOC ^ B = 2,5 x 3,4034 ^ 1,1081 = 9,713 PM

24 CoCoMo II – Faktoren (3) Ermitteln der Kostenfaktoren für das SUN Team Produkt KomplexitätLow0,83 WiederverwertbarkeitLow0,96 Plattform SchwierigkeitNominal1,00 Team FähigkeitHigh0,83 Team ErfahrungVery High0,74 BetriebsmittelVery High0,73 Entwicklungs Zeitrahmen / -planNominal1,00

25 CoCoMo II – Faktoren (4) Berechnen des adjustierten Aufwandes für das SUN Team PM adjustiert= PM nominal x Produktsumme der Kostenfaktoren = 9,713 PM x 0,83 x 0,96 x 1 x 0,83 x 0,74 x 0,73 x 1 = 3,47 PM

26 CoCoMo II –Vergleichsfazit Besonders die Kostenfaktoren fallen ins Gewicht Während bei der Analyse durch die Skalenfaktoren das Resultat noch recht ähnlich ausfällt (10,32 PM zu 9,713 PM) ändert sich das Ergebnis nach der Betrachtung der Kostenfaktoren rapide (9,937 PM zu 3,47 PM). Hier schlägt vor allem der bessere Prozessreifegrad des Unternehmens SUN aus.

27 CoCoMo II – Weitere Funktionen (1) Weiterhin kann mit CoCoMo II anhand der adjustierten Personenmonate folgendes berechnet werden: Entwicklungszeit - Time To Develop (TDEV) Die TDEV Formeln beziehen weitere Skaleneffekte mit ein, die neben softwaretechnischen Faktoren auch aus betriebswirtschaftlichen Faktoren entstehen können, wie z.B. Mitarbeiterfluktuation oder erhöhtes Qualitätsmanagement bei größerem Arbeitsaufwand Effektivste Anzahl an Personal - Full Time Equivalen Software Personnel (FSP) Mit der FSP Formel kann die effektivste Anzahl der für das Projekt benötigten Fachkräfte ermittelt werden.

28 CoCoMo II – Weitere Funktionen (2) Anpassen und Wiederverwerten von Code In der nominal Personenmonateformel wird vorausgesetzt, dass der gesamte Code selbst entwickelt werden muss. Mit entsprechenden Faktoren kann auch die Benutzung und Anpassung bereits vorhandenen Codes berücksichtigt werden. Verteilung des Aufwandes auf die einzelnen Phasen des Projektes Hierbei kann anhand von Faktoren der Gesamtaufwand auf die folgenden Projektphasen aufgeteilt werden Analyse Entwurf Feinentwurf Implementierung & Modultest Integration & Test

29 CoCoMo II – Vorteile Vorteile Einfaches Verfahren CoCoMo ist ein Industriestandard CoCoMo ist ein offener Standard Sehr fundierte Informationen sind einfach verfügbar Wissen auswärtiger Experten ist verfügbar Rückwärtskompatibilität Verschiedene Erweiterungen für fast jeden Zweck Frei wählbarer Detailgrad Softwaretool Support Bessere Abschätzungen, je länger Projektdatenbanken gepflegt werden

30 CoCoMo II – Nachteile Nachteile CoCoMo II basiert noch größtenteils auf dem Wasserfallmodell Viele der Erweiterungen sind experimentell und noch nicht ausreichend Kalibriert Zeitabschätzung ist für kleine Projekte ungeeignet Erfahrung ist nötig für das wählen der richtigen Faktorbewertungen Bewertungen bedürfen einer tiefgehenden Kenntnis des Projektumfeldes und der Rahmenbedingungen

31 CoCoMo II – Software Es gibt professionelle Software, welche die Analyse erleichtert CoCoMo II CoStar CostXperthttp://www.costxpert.com Effort Estimatorhttp://qb0x.net/projects/EffortEstimator/ CoCoMo Estimate Software für PDAs Online Formulare (Java oder Javascript)

32 CoCoMo II – Derivate Es gibt Modelle, die von CoCoMo abgeleitet wurden: COPSEMO – Constructive Phase Schedule & Effort Model CORADMO – Constructive Rapid Aplication Development Model COQUALMO – Constructive Quality Model COPROMO - Constructive Productivity Improvement Model ExpertCOCOMO COSYSMO- Constructive Systems Engineering Cost Model

33 CoCoMo II – Ausblick Die Kalibrierung von CoCoMo soll verbessert werden Jährliche Kalibrierung soll erstellt und publiziert werden

34 CoCoMo II – Quellen - Universität von Southern California COCOMO Seminararbeit – von Klaus Werdenich COCOMO II Model Definition Manual - sunset.usc.edu COCOMO Seminararbeit von Nancy Merlo – Schett


Herunterladen ppt "CoCoMo II - Inhalt Einführung –Geschichte von CoCoMo –Konzept hinter CoCoMo II CoCoMo 2.0 anhand eines Beispieles –Szenario –Erstellung einer Aufwandsanalyse."

Ähnliche Präsentationen


Google-Anzeigen