COCOMO () – model szacowania liczby osobogodzin w procesie tworzenia oprogramowania.

Opracował go Barry Boehm w 1981 roku podczas pracy w Boeing Company na podstawie około 60 projektów informatycznych o różnej złożoności (od 2 KDSI do 100 KDSI) i napisanych w różnych językach programowania.

Postępowanie Ustalenie metryki Aby oszacować liczbę osobogodzin, należy najpierw oszacować, z ilu linii kodu lub punktów funkcyjnych będzie się składać gotowy projekt. Liczba linii kodu jest przedstawiana w KDSI (1000 (K) delivered source instructions [1 KDSI = 1000 linii].

Ustalenie złożoności Następnie należy wybrać, do której z trzech poniższych grup pasuje analizowany projekt.

Łatwy ("organic mode"), to projekt, w którym mały zespół posługuje się znanymi narzędziami pracy. Zna on sprzęt i oprogramowanie, z którymi rozwijany projekt będzie redagować. Presja czasu jest mała. Łatwe projekty są wielkości do max. 50 KDSI. Średni ("semi-detached"), to projekt, w którym jeden z czynników z projektu prostego nie jest znany, np. zespół nie zna sprzętu, który przyjdzie mu programować itp. Takie projekty są zwykle wielkości do 300 KDSI. Trudny ("embedded mode"), to bardzo złożony projekt, wiele czynników jest nieznanych lub należy uwzględnić szczególne procedury, np. w branży bankowej.

W „Intermediate COCOMO” dodatkowo analizowane są dodatkowe cztery atrybuty: Produktu (wymagana czytelność stworzonego oprogramowania,wielkość bazy danych, skomplikowanie) Sprzętu (ograniczenia związane z wydajnością, czy tworzony system jest systemem czasu rzeczywistego, ograniczenia pamięci) Personelu (analiza możliwości, Doświadczenie w tworzeniu oprogramowania, doświadczenie w tworzeniu oprogramowania danego typu, doświadczenie w tworzeniu oprogramowania wykorzystującego dane środowisko, sprzęt czy język programowania) Projektu (jakie narzędzia są potrzebne?, jakie metody tworzenia oprogramowania będą wykorzystywane?, jaki jest harmonogram projektu?, jaka jest presja czasu?)

Wzory E=ab(KDSI)bb D=cb(E)db P=E/D

gdzie E jest nakładem pracy w osobomiesiącach, D jest czasem, jaki jest potrzebny do rozwoju projektu (time to develop), a P oznacza liczbę osób, przy której projekt będzie najefektywniej zrealizowany.

Stałe ab, bb, cb i db są podane poniżej:

+ Stałe ab, bb, cb, db Złożoność projektu ab bb cb db Łatwy (organic) 2.4 1.05 2.5 0.32 Średni (semi-detached) 3.0 1.12 2.5 0.35 Trudny (embedded) 3.6 1.20 2.5 0.38

Zobacz też metryka oprogramowania

Kategoria:Inżynieria oprogramowania