Programvarukostnadsmodellen som baserar kostnadsberäkningar vid statistiska data som källlinjer för kod kallas
coCOMO (konstruktiv kostnadsmodell) .
Här är en uppdelning:
* cocoomo är en allmänt använt parametrisk modell för att uppskatta mjukvaruutveckling, kostnad och schema.
* Den använder historiska data och statistisk analys för att relatera projektattribut (som kodrader, erfarenhetsnivå och projektkomplexitet) till utvecklingsinsatser.
* COCOMO kommer i tre smaker:
* Basic Cocomo: Denna version använder en enkel formel för att uppskatta ansträngningar baserat på projektets storlek i kodrader.
* mellanliggande Cocoomo: Denna version står för projektattribut som produktkomplexitet, personalupplevelse och utvecklingsmiljö.
* Detaljerad COCOMO: Denna version är den mest komplexa och innehåller en mer detaljerad uppsättning kostnadsdrivare och möjliggör mer exakta uppskattningar.
Fördelar med Cocoomo:
* enkelhet: Grundmodellen är enkel och enkel att tillämpa.
* Historiska data: Den utnyttjar historiska data för att förbättra uppskattningsnoggrannheten.
* används allmänt: Det är en väletablerad och allmänt använt modell inom mjukvaruutvecklingsindustrin.
Nackdelar med Cocoomo:
* Line-of-kodfokus: Det förlitar sig starkt på kodrader, vilket kan vara svårt att uppskatta exakt för komplexa projekt.
* Begränsad tillämpbarhet: Det kanske inte är lämpligt för alla typer av projekt, särskilt smidig och iterativ utveckling.
* Brist på sammanhang: Det kan vara svårt att redovisa alla projektspecifika faktorer som kan påverka kostnaden.
Alternativ till Cocoomo:
* Funktionspunktanalys: Denna teknik uppskattar kostnader baserat på den funktionalitet som levereras av programvaran snarare än kodrader.
* Expertdom: Denna strategi förlitar sig på erfarenheten och kunskapen från ämnesexperter för att uppskatta kostnader.
* Agile uppskattning: Denna metod använder iterativa uppskattningar baserade på användarhistorier och används ofta i smidiga utvecklingsmiljöer.
Sammanfattningsvis är Cocoomo ett värdefullt verktyg för uppskattning av programvarukostnader, särskilt när historiska data finns tillgängliga och projektkomplexitet kan uppskattas med rimlig noggrannhet. Det är dock viktigt att vara medveten om dess begränsningar och överväga alternativa metoder när det är lämpligt.