COCOMO
Model kosztów konstruktywnych ( COCOMO ) to proceduralny model szacowania kosztów oprogramowania opracowany przez Barry'ego W. Boehma . Parametry modelu pochodzą z dopasowania regresji z wykorzystaniem danych z projektów historycznych (63 projekty dla COCOMO 81 i 163 projekty dla COCOMO II).
Historia
Model kosztów konstruktywnych został opracowany przez Barry'ego W. Boehma pod koniec lat 70. XX wieku i opublikowany w książce Boehma Software Engineering Economics z 1981 r . Jako model do szacowania nakładu pracy, kosztów i harmonogramu projektów oprogramowania. Oparł się na badaniu 63 projektów w TRW Aerospace, gdzie Boehm był dyrektorem ds. badań i technologii oprogramowania. W badaniu zbadano projekty o wielkości od 2 000 do 100 000 linii kodu oraz języki programowania od asemblera do PL/I . Projekty te były oparte na kaskadowym modelu tworzenia oprogramowania, który był dominującym procesem tworzenia oprogramowania w 1981 roku.
Odniesienia do tego modelu zwykle nazywają go COCOMO 81 . W 1995 roku COCOMO II został opracowany i ostatecznie opublikowany w 2000 roku w książce Software Cost Estimation with COCOMO II . COCOMO II jest następcą COCOMO 81 i uważa się, że lepiej nadaje się do szacowania nowoczesnych projektów rozwoju oprogramowania; zapewniając wsparcie dla nowszych procesów tworzenia oprogramowania i został dostrojony przy użyciu większej bazy danych zawierającej 161 projektów. Potrzeba nowego modelu pojawiła się, gdy technologia tworzenia oprogramowania przeniosła się z komputerów mainframe i nocnego przetwarzania wsadowego do tworzenia komputerów stacjonarnych, ponownego wykorzystania kodu i korzystania z gotowych komponentów oprogramowania.
COCOMO składa się z hierarchii trzech coraz bardziej szczegółowych i dokładnych formularzy. Pierwszy poziom, Podstawowy COCOMO, jest dobry do szybkiego, wczesnego, przybliżonego oszacowania rzędu wielkości kosztów oprogramowania, ale jego dokładność jest ograniczona ze względu na brak czynników wyjaśniających różnice w atrybutach projektu (kierowcy kosztów ) . Pośrednie COCOMO bierze pod uwagę te czynniki kosztowe, a szczegółowe COCOMO dodatkowo uwzględnia wpływ poszczególnych faz projektu. Ostatni to model Complete COCOMO, który eliminuje wady zarówno podstawowego, jak i średniozaawansowanego.
Średniozaawansowane COCOMO
Średniozaawansowany COCOMO oblicza nakład pracy na tworzenie oprogramowania jako funkcję rozmiaru programu i zestawu „czynników kosztowych”, które obejmują subiektywną ocenę produktu, sprzętu, personelu i atrybutów projektu. To rozszerzenie uwzględnia zestaw czterech „czynników kosztowych”, z których każdy ma kilka dodatkowych atrybutów: -
- Cechy produktu
- Wymagany zakres niezawodności oprogramowania
- Rozmiar bazy danych aplikacji
- Złożoność produktu
- Atrybuty sprzętowe
- Ograniczenia wydajności w czasie wykonywania
- Ograniczenia pamięci
- Zmienność środowiska maszyny wirtualnej
- Wymagany czas obrotu
- Atrybuty personelu
- Możliwości analityka
- Możliwości inżynierii oprogramowania
- Doświadczenie w aplikacjach
- Doświadczenie z maszyną wirtualną
- Doświadczenie w języku programowania
- Atrybuty projektu
- Korzystanie z narzędzi programowych
- Zastosowanie metod inżynierii oprogramowania
- Wymagany harmonogram rozwoju
Każdy z 15 atrybutów otrzymuje ocenę w sześciostopniowej skali, która waha się od „bardzo niskiej” do „bardzo wysokiej” (pod względem ważności lub wartości). Do oceny ma zastosowanie mnożnik wysiłku z poniższej tabeli. Iloczyn wszystkich mnożników nakładu daje współczynnik dostosowania nakładu (EAF) . Typowe wartości dla EAF wahają się od 0,9 do 1,4.
Sterowniki kosztów | Oceny | |||||
---|---|---|---|---|---|---|
Bardzo niski | Niski | Nominalny | Wysoki | Bardzo wysoko | Bardzo wysoka | |
Cechy produktu | ||||||
Wymagana niezawodność oprogramowania | 0,75 | 0,88 | 1.00 | 1.15 | 1.40 | |
Rozmiar bazy danych aplikacji | 0,94 | 1.00 | 1.08 | 1.16 | ||
Złożoność produktu | 0,70 | 0,85 | 1.00 | 1.15 | 1.30 | 1,65 |
Atrybuty sprzętowe | ||||||
Ograniczenia wydajności w czasie wykonywania | 1.00 | 1.11 | 1.30 | 1,66 | ||
Ograniczenia pamięci | 1.00 | 1.06 | 1.21 | 1,56 | ||
Zmienność środowiska maszyny wirtualnej | 0,87 | 1.00 | 1.15 | 1.30 | ||
Wymagany czas obrotu | 0,87 | 1.00 | 1.07 | 1.15 | ||
Atrybuty personelu | ||||||
Możliwości analityka | 1.46 | 1.19 | 1.00 | 0,86 | 0,71 | |
Doświadczenie w aplikacjach | 1.29 | 1.13 | 1.00 | 0,91 | 0,82 | |
Możliwości inżyniera oprogramowania | 1.42 | 1.17 | 1.00 | 0,86 | 0,70 | |
Doświadczenie z maszyną wirtualną | 1.21 | 1.10 | 1.00 | 0,90 | ||
Doświadczenie w języku programowania | 1.14 | 1.07 | 1.00 | 0,95 | ||
Atrybuty projektu | ||||||
Zastosowanie metod inżynierii oprogramowania | 1.24 | 1.10 | 1.00 | 0,91 | 0,82 | |
Korzystanie z narzędzi programowych | 1.24 | 1.10 | 1.00 | 0,91 | 0,83 | |
Wymagany harmonogram rozwoju | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 |
Formuła Intermediate Cocomo przyjmuje teraz postać:
- E = a i (KLoC) b ja (EAF)
gdzie E to zastosowany nakład pracy w osobo-miesiącach, KLoC to szacunkowa liczba tysięcy dostarczonych linii kodu dla projektu, a EAF to współczynnik obliczony powyżej. Współczynnik ai oraz wykładnik b i podano w następnej tabeli.
Projekt oprogramowania ja _ b ja c ja Organiczny 3.2 1.05 0,38 Bliźniak 3.0 1.12 0,35 Osadzony 2.8 1.20 0,32
Czas rozwoju D , a także obliczenie najbardziej efektywnej liczby Osób P wykorzystuje E w taki sam sposób, jak w Podstawowym COCOMO:
- re = 2,5 mi do ja
Należy zauważyć, że oprócz EAF parametr a i różni się w modelu Intermediate COCOMO od modelu podstawowego:
Projekt oprogramowania b _ Organiczny 2.4 Bliźniak 3.0 Osadzony 3.6
Parametry b i c są takie same w obu modelach.
Zobacz też
- Porównanie oprogramowania do szacowania rozwoju
- Przekroczenie kosztów
- COSYSMO
- Szacowanie w inżynierii oprogramowania
- Punkt funkcyjny
- Punkt obiektu
- modelu Putnama
- SEER-SEM
- Szacowanie pracochłonności tworzenia oprogramowania
- Ekonomia inżynierii oprogramowania
- CENA Systemy
Dalsza lektura
- Kemerer, Chris F. (maj 1987). „Empiryczna weryfikacja modeli szacowania kosztów oprogramowania” (PDF) . Komunikaty ACM . 30 (5): 416–42. doi : 10.1145/22899.22906 .
Linki zewnętrzne
- Dane COCOMO 81 dotyczące tera-PROMISE
- Analiza danych COCOMO 81 daje inną wartość wykładnika organicznego.