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ż

Bibliografia

Dalsza lektura

Linki zewnętrzne