COCOMO - COCOMO
Konstruktywna modelu kosztów ( COCOMO ) jest proceduralny koszt oprogramowania modelu szacowania opracowane przez Barry W. Boehm . Parametry modelu pochodzą z dopasowania formuły regresji na podstawie danych z projektów historycznych (63 projekty dla COCOMO 81 i 163 projekty dla COCOMO II).
Historia
Konstruktywny model kosztów został opracowany przez Barry'ego W. Boehma pod koniec lat siedemdziesiątych i opublikowany w 1981 roku w książce Boehm's Software Engineering Economics jako model szacowania nakładu pracy, kosztów i harmonogramu projektów oprogramowania. Opierał się na badaniu 63 projektów w TRW Aerospace, w których Boehm był dyrektorem ds. badań i technologii oprogramowania. W badaniu przeanalizowano projekty o wielkości od 2000 do 100 000 wierszy kodu oraz języki programowania od asemblera do PL/I . Projekty te opierały się 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 r. opracowano COCOMO II i ostatecznie opublikowano w 2000 r. 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; zapewniał wsparcie dla nowszych procesów rozwoju oprogramowania i został dostrojony przy użyciu większej bazy danych zawierającej 161 projektów. Zapotrzebowanie na nowy model pojawiło się, gdy technologia tworzenia oprogramowania przeniosła się z systemów mainframe i przetwarzania wsadowego z dnia na dzień 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 form. Pierwszy poziom, Basic COCOMO, jest dobry do szybkich, wczesnych, przybliżonych szacunków kosztów oprogramowania, ale jego dokładność jest ograniczona ze względu na brak czynników, które uwzględniałyby różnice w atrybutach projektu ( Cost Drivers ). Pośredni COCOMO uwzględnia te czynniki kosztowe, a Szczegółowy COCOMO dodatkowo uwzględnia wpływ poszczególnych faz projektu. Ostatnim z nich jest model Complete COCOMO, który zawiera zarówno podstawowe, jak i średniozaawansowane.
Pośrednie COCOMO
Intermediate COCOMO oblicza nakłady na rozwój oprogramowania jako funkcję rozmiaru programu i zestawu „czynników kosztowych”, które obejmują subiektywną ocenę atrybutów produktu, sprzętu, personelu i projektu. To rozszerzenie uwzględnia zestaw czterech „czynników kosztowych”, z których każdy ma szereg 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 realizacji
- Atrybuty personelu
- Możliwości analityka
- Możliwości inżynierii oprogramowania
- Doświadczenie w aplikacjach
- Doświadczenie maszyny wirtualnej
- 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ściopunktowej skali, która waha się od „bardzo niska” do „bardzo wysoka” (pod względem ważności lub wartości). Do oceny stosuje się mnożnik nakładu pracy z poniższej tabeli. Iloczyn wszystkich mnożników wysiłku daje współczynnik dostosowania wysiłku (EAF) . Typowe wartości EAF wahają się od 0,9 do 1,4.
Czynniki kosztowe | Oceny | |||||
---|---|---|---|---|---|---|
Bardzo niski | Niski | Nominalny | Wysoka | 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 realizacji | 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 | |
Zdolność inżyniera oprogramowania | 1,42 | 1,17 | 1,00 | 0,86 | 0,70 | |
Doświadczenie maszyny wirtualnej | 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 ja (KLoC) b ja (EAF)
gdzie E jest nakładem pracy w osobo-miesiącach, KLoC jest szacunkową liczbą tysięcy dostarczonych linii kodu dla projektu, a EAF jest współczynnikiem obliczonym powyżej. Współczynnik a i 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
Obliczenie Czas rozwoju D, a także najbardziej efektywna liczba Osób P, wykorzystuje E w taki sam sposób, jak w Podstawowym COCOMO:
- D = 2,5 E c i
Zwróć uwagę, że oprócz EAF parametr a i różni się w Intermediate COCOMO od modelu Basic:
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
- Model Putnama
- SEER-SEM
- Szacowanie nakładu pracy na rozwój oprogramowania
- Ekonomia inżynierii oprogramowania
- CENA Systemy
Bibliografia
Dalsza lektura
- Kemerer, Chris F. (maj 1987). „Empiryczna walidacja modeli szacowania kosztów oprogramowania” (PDF) . Komunikaty ACM . 30 (5): 416–42. doi : 10.1145/22899.22906 .
Linki zewnętrzne
- COCOMO 81 dane dotyczące tera-OBIETNICY
- Analiza danych COCOMO 81 uzyskuje inną wartość wykładnika organicznego.