www.wikidata.de-de.nina.az
COCOMO Constructive Cost Model ist ein algorithmisches Kostenmodell das in der Softwareentwicklung zur Kosten bzw Aufwandsschatzung verwendet wird Mit Hilfe von mathematischen Funktionen wird ein Zusammenhang zwischen gewissen Softwaremetriken und den Kosten eines Projekts dargestellt Es fliessen mehrere firmenspezifische Parameter in die Berechnung hinein die feststellt wie viele Personenmonate oder Personenjahre notwendig sind um ein Softwareprojekt zu realisieren Weiterhin kann die Gesamtdauer des Projekts abgeschatzt werden COCOMO beruht auf vielfaltiger Erfahrung die in der Grossindustrie bei der Softwareentwicklung gemacht worden ist Das Verfahren wurde bereits 1981 durch Barry W Boehm einem Softwareingenieur bei Boeing entwickelt Inhaltsverzeichnis 1 Verfahren 1 1 Definitionen und Annahmen 1 1 1 Delivered Source Instructions DSI 1 2 Komplexitat bestimmen 1 2 1 Organic Mode 1 2 2 Semidetached Mode 1 2 3 Embedded Mode 1 3 Aufwand errechnen 1 4 Projektdauer 1 5 Kostentreiberfaktoren 2 Weiterentwicklung 2 1 ADA COCOMO 2 2 COCOMO II 3 Kritik 4 Siehe auch 5 Literatur 6 Weblinks 7 EinzelnachweiseVerfahren BearbeitenDefinitionen und Annahmen Bearbeiten Der primare Kostenfaktor Cost Driver fur das Modell sind die Delivered Source Instructions DSI des Projekts Die Entwicklungsperiode beginnt mit dem Start des Produktdesigns und endet mit dem Abschluss der Produktintegration und der Akzeptanztests Die Aufwande der anderen Phasen werden separat ermittelt Ein COCOMO Personenmonat englisch Staff Month SM besteht aus 152 Arbeitsstunden 19 Arbeitstage mit jeweils 8 Arbeitsstunden ein Personenjahr aus 12 Personenmonaten Der Personenmonat berucksichtigt also Urlaubs und Krankenzeit COCOMO geht von gutem Management von Seiten der Entwickler als auch der Kunden aus und setzt voraus dass unproduktive Zeiten moglichst gering gehalten werden COCOMO setzt voraus dass der Anforderungsspezifikation nach der Anforderungsphase keine grundlegende Anderung widerfahrt Eine signifikante Anderung in der Spezifikation zieht auch eine Anderung der Aufwandsschatzung nach sich Delivered Source Instructions DSI Bearbeiten Als Basis fur die Berechnung muss die Anzahl von auszuliefernden Codezeilen in KDSI 1000 K delivered source instructions 1 KDSI 1000 Instruktionen ermittelt werden Als Delivered wird nur Software bezeichnet welche dem Kunden als Teil des Produkts auch ubergeben wird Diese Definition schliesst Code der fur Support Software oder zum Testen geschrieben wurde aus Die Abschatzung dieser Grosse ist von vielen Faktoren z B Programmiersprache abhangig und wird von COCOMO nicht behandelt Source Instructions entsprechen den von Entwicklern geschriebenen und ausfuhrbaren Computeranweisungen Neben den Kommentaren schliesst diese Definition also auch noch generierten Code aus Instructions beruhen grosstenteils noch auf den damals gangigen Lochkarten So definiert Boehm Instructions in seinem Werk 1 als Card Images Delivered Source Instructions sowie Codezeilen oder Function Points sind Softwaremetriken zur Messung der Grosse der Software Komplexitat bestimmen Bearbeiten Dann muss man entscheiden ob man an einem einfachen organic mode mittelschweren semi detached oder einem komplexen embedded Projekt arbeitet Diese Projektmodi sind zentrale Punkte in COCOMO 81 welche die Unterschiede im Arbeitsprozess in den verschiedenen Arbeitsdomanen reprasentieren Die Wahl des Projektmodus wirkt sich massgeblich auf das Ergebnis der Berechnung aus wobei die Formel der Berechnung gleich bleibt und sich nur die Koeffizienten andern Organic Mode Bearbeiten Der Organic Mode entspricht kleinen bis mittelgrossen Softwareprojekten Die meisten am Projekt beteiligten Mitarbeiter haben bereits eingehende Erfahrungen mit ahnlichen Projekten in diesem Unternehmen sowie der verwendeten Soft und Hardware Dies gewahrleistet einen geringen Overhead an Kommunikation da die Beteiligten schon eine genaue Vorstellung von dem zu erstellenden Produkt haben Dokumentation von Spezifikationen und Schnittstellen wird nicht streng gehandhabt wodurch diesbezugliche Verhandlungen schneller abgeschlossen werden und der dadurch entstehende Mehraufwand diseconomies of scale gering gehalten wird Weitere Merkmale des Organic Modes sind stabile Entwicklungsumgebungen mit wenig neuen Technologien minimaler Bedarf an neuen Innovationen und wenig Zeitdruck Semidetached Mode Bearbeiten Der Semidetached Mode ist fur Projekte gedacht deren Grosse und Komplexitat zwischen Organic und Embedded Mode anzusiedeln sind Es handelt sich um mittelgrosse Projekte zwischen 50 und 300 KDSI deren Beteiligte bereits ein mittleres Mass an Erfahrung in der Entwicklung solcher Systeme haben oder in denen das Team aus erfahrenen sowie unerfahrenen Kollegen besteht oder das Team nur auf einem Teilgebiet Erfahrung besitzt Projekte welche diesem Modus entsprechen sind komplexer benotigen anspruchsvollere Interaktionsroutinen und flexible Schnittstellen Embedded Mode Bearbeiten Der Embedded Mode ist durch seine straffen unflexiblen Strukturen und Richtlinien gekennzeichnet Dies stellt auch den grossten Unterschied zu den beiden anderen eher locker gefuhrten Modi dar Es zielt grosstenteils auf sicherheitsrelevante Projekte z B Flugassistenzsysteme Systeme fur Banken ab welche dadurch sehr unflexibel bezuglich Anderungen in Spezifikationen und Schnittstellen sind Des Weiteren sind Projekte im Embedded Mode in der Regel Neuentwicklungen mit wenig bis keinen vergleichbaren Vorgangerprojekten Aus diesem Grund zeichnen sich diese Projekte auch dadurch aus dass sie mit einer relativ langen Analyse und Design Phase beginnen Sind diese Phasen abgeschlossen werden moglichst viele Entwickler parallel damit beauftragt das System zu implementieren und zu testen Hier entspricht bereits der Testaufwand von intermediate Projekten im Umfang von 8000 DSI dem von grossen Projekten 128000 DSI im Organic Mode Aufwand errechnen Bearbeiten Der Aufwand PM in Personenmonaten wird dann errechnet als ein Faktor m multipliziert mit einer Potenz n der Metrikzahl P M m K D S I n displaystyle mathit PM m cdot mathit KDSI n nbsp einfach P M 2 4 K D S I 1 05 displaystyle mathit PM 2 4 cdot mathit KDSI 1 05 nbsp mittelschwer P M 3 0 K D S I 1 12 displaystyle mathit PM 3 0 cdot mathit KDSI 1 12 nbsp komplex P M 3 6 K D S I 1 20 displaystyle mathit PM 3 6 cdot mathit KDSI 1 20 nbsp Beispiel Bei 100 KDSI betragen die Personenmonate etwa 300 PM fur ein einfaches Projekt etwa 500 PM fur ein mittelschweres Projekt und etwa 900 PM fur ein komplexes Projekt Projektdauer Bearbeiten Man kann die Personenmonate jedoch nicht durch eine beliebige Anzahl von Personen teilen um das Produkt schneller fertigzustellen Als Beispiel dient oft das Austragen eines Kindes dies kann nicht durch den Einsatz von neun Frauen auf einen Monat abgekurzt werden Es gibt gewisse Prozesse die sequentiell ablaufen mussen und je mehr Menschen mit einem Projekt betraut sind desto mehr muss in die Kommunikation investiert werden COCOMO spricht von TDEV time to develop Entwicklungszeit Die Entwicklungszeit TDEV in Monaten wird dann je nach Komplexitatsart berechnet gemass einfach T D E V 2 5 P M 0 38 displaystyle mathit TDEV 2 5 cdot mathit PM 0 38 nbsp mittelschwer T D E V 2 5 P M 0 35 displaystyle mathit TDEV 2 5 cdot mathit PM 0 35 nbsp komplex T D E V 2 5 P M 0 32 displaystyle mathit TDEV 2 5 cdot mathit PM 0 32 nbsp Fur ein einfaches Projekt mit 100 KDSI liefert die COCOMO Abschatzung PM 302 Monate und TDEV 21 9 Monate Fur ein mittelschweres Projekt mit 100 KDSI liefert die COCOMO Abschatzung PM 521 Monate und TDEV 22 3 Monate Fur ein komplexes Projekt mit 100 KDSI liefert die COCOMO Abschatzung PM 904 Monate und TDEV 22 1 Monate Bei der COCOMO Berechnung von TDEV ist die Mindestdauer acht Monate Kostentreiberfaktoren Bearbeiten Das erweiterte COCOMO Verfahren Intermediate COCOMO berucksichtigt weitere sogenannte Kostentreiberfaktoren die den errechneten Basiswert entweder verringern oder erhohen Diese basieren auf vielen Erfahrungen die bei grossen Firmen gemessen worden sind Solche Faktoren sind unter anderem Zuverlassigkeit des gelieferten Systems ist ein Fehler nur storend oder gefahrdet er Menschenleben Wie gross ist die Datenbank die erstellt werden muss Wie komplex sind die Ein Ausgabeverarbeitung und die Datenstrukturen Wie schnell muss das System Ergebnisse liefern Wie viel Speicherbedarf hat das System Wie oft erwartet man dass das System an aussere Rahmenbedienungen angepasst werden muss Hier schwankt die Bandbreite zwischen einmal im Jahr bis monatlich Teamfaktoren was fur Erfahrung haben die Teammitglieder in der Analyse in der verwendeten Programmiersprache mit Software Werkzeugen mit dieser besonderen Hardware Wie eng ist der Zeitplan Als Beispiel dafur wie sehr diese Faktoren das Ergebnis beeinflussen dient folgende Berechnung Komplex 128 KDSI entspricht 1216 PM Basisberechnung nach COCOMO Faktor von bisZuverlassigkeit sehr hoch 1 4 sehr niedrig 0 75Komplexitat sehr hoch 1 3 sehr niedrig 0 70Speicherbedarf hoch 1 2 kaum 1 0Werkzeugverwendung niedrig 1 1 hoch 0 90Zeitplan schnell 1 23 normal 1 0angepasst 3593 PM 575 PMErklarung Die Einzelfaktoren werden zu einem Gesamtfaktor aufmultipliziert und mit dem Basiswert fur den Aufwand multipliziert Formel Angepasster Wert Basiswert Zuverlassigkeit Komplexitat Speicherbedarf Werkzeugverwendung Zeitplan Diese Werte sind jedoch nur grobe Erfahrungswerte jede Firma muss fur sich selbst die eigenen Faktoren durch Kostenuberwachung und Analyse von bisher erstellten Projekten bestimmen Weiterentwicklung BearbeitenBoehm weist darauf hin dieses Modell nicht leichtfertig anzuwenden Basic COCOMO is good for rough order of magnitude estimates of software costs but its accuracy is necessarily limited because of its lack of factors to account for differences in hardware constraints personnel quality and experience use of modern tools and techniques and other project attributes known to have a significant influence on costs 1 Das COCOMO Basismodell ist gut geeignet fur eine grobe Abschatzung der Grossenordnung der Softwarekosten Die Genauigkeit des Modells ist notwendigerweise eingeschrankt weil es ihm an Faktoren fur Unterschiede bei der verwendeten Hardware der Personalqualitat und erfahrung dem Einsatz moderner Werkzeuge und Technologien und anderen Merkmalen fehlt die bekanntermassen einen signifikanten Einfluss auf die Kosten haben Ein relativ genaues Ergebnis bekommt man erst unter Berucksichtigung mehrerer auf das Projekt einwirkender Faktoren siehe Intermediate und Detailed COCOMO ADA COCOMO Bearbeiten ADA COCOMO ist eine Weiterentwicklung von COCOMO 81 welches sehr stark vom Batch Processing und dem Wasserfall Prozessmodell gepragt ist zur Anpassung an die TRW Implementierung des ADA Prozessmodells Dieses Modell beinhaltet Risk Management Architektur Skeletons Inkrementelles Implementieren und Testen und einheitliche Softwaremetriken Hauptaugenmerk des Modells sind die Verringerung des Kommunikationsoverheads Vermeidung spaten Uberarbeitens aufgrund instabiler Anforderungen Die Anderungen zu COCOMO 81 konnen in drei Kategorien eingeteilt werden Allgemeine Verbesserungen von COCOMO Diese beinhalten grosstenteils Anpassungen der vorhandenen sowie zusatzlicher Kostenfaktoren Neue Faktoren sind z B Security und Development for software reusability Ada spezifische Effekte Neue Regeln zum Abzahlen der Instruktionen DSI fur die Programmiersprache ADA Zusatzliche Kostenfaktoren bezuglich Programming Language Experience Effekte bedingt durch das Ada Prozessmodell Diese Effekte wirken sich vor allem in den Exponenten der Regressionsgleichungen aus und leiten sich aus den Eigenschaften der Ada Prozessmodells her Hierfur wurden vier Skalierungsfaktoren eingefuhrt Experience with the Ada Process Model Design Thoroughness at PDR Preliminary Design Review Risks Eliminated at PDR Requirements Volatility Zusatzlich wurde eine Methode bereitgestellt um den Aufwand von inkrementellen Projekten zu schatzen Der Rest von COCOMO 81 blieb unverandert die generelle Form mit den verschiedenen Modi etc COCOMO II Bearbeiten COCOMO II wurde ebenfalls wie seine beiden Vorganger von Barry W Boehm entwickelt und das erste Mal 1997 publiziert Die offiziell bekannte Version ist jedoch 2000 in einem Buch 2 veroffentlicht worden COCOMO II reprasentiert die Anderungen in der modernen Softwareentwicklung mit Anpassungen an neue Softwareentwicklungs Prozessmodelle sowie neuen Entwicklungsmethodiken z B Objektorientiertes Programmieren Es werden wieder wie in COCOMO 81 drei verschiedene Schatzarten unterschieden mit dem Unterschied jedoch dass sich diese vermehrt auf den Entwicklungsstand des Projekts beziehen Auf die Unterteilung in verschiedene Projektmodi wurde hier verzichtet Kritik Bearbeiten nbsp Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Das COCOMO Modell ist nur sehr beschrankt fur die Abschatzung des Aufwandes eines Projektes geeignet da es schwer ist die zugrundeliegenden Delivered Source Instructions auf Basis einer Anforderungsspezifikation zu schatzen Ausserdem geht es nicht darauf ein dass Software in modernen Hochsprachen oftmals mit weniger Zeilen mehr ausdrucken kann als die Sprachen zu der Zeit als COCOMO entwickelt wurde Die Ungenauigkeit dieser Schatzung macht diese Methode fur die Aufwandsschatzung unbrauchbar Erneute Analysen der Koeffizienten scheinen abweichende Werte zu zeigen 3 Siehe auch BearbeitenFunction Point VerfahrenLiteratur BearbeitenDie Beispiele sind dem Standard Lehrbuch von Ian Sommerville Software Engineering Addison Wesley ISBN 0 321 21026 3 entnommen Harry Sneed Richard Seidl Manfred Baumgartner Software in Zahlen Die Vermessung von Applikationen 1 Auflage Carl Hanser Verlag 2010 ISBN 978 3 446 42175 2 Weblinks BearbeitenBiographie Barry W Boehm COCOMO II Center for Systems and Software Engineering USC Viterbi School of Engineering archiviert vom Original am 16 Dezember 2019 abgerufen am 6 September 2020 englisch Sammlung von COCOMO Nachfolgern und Software Verfahren COCOMO Methode In Software Engineering Wissensdatenbank VSEK www software kompetenz de Fraunhofer IESE archiviert vom Original am 1 Juni 2016 abgerufen am 6 September 2020 Einzelnachweise Bearbeiten a b Barry Boehm Software engineering economics Englewood Cliffs NJ Prentice Hall 1981 ISBN 0 13 822122 7 Barry Boehm et al Software cost estimation with COCOMO II with CD ROM Englewood Cliffs NJ Prentice Hall 2000 ISBN 0 13 026692 2 COCOMO Not worth serious attention The Shape of Code 19 Mai 2016 abgerufen am 4 November 2016 Abgerufen von https de wikipedia org w index php title COCOMO amp oldid 235263499