COCOMO

COCOMO (ang. constructive cost model) – 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ż

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.