Inżynieria Oprogramowania 10. Szacowanie kosztu oprogramowania cz. 2 24/03/2017 Inżynieria Oprogramowania 10. Szacowanie kosztu oprogramowania cz. 2 Leszek J Chmielewski Wydział Zastosowań Informatyki i Matematyki SGGW www.lchmiel.pl
Źródła Materiały dra Waldemara Karwowskiego, wykładowcy w poprzednich semestrach Ian Sommerville, Inżynieria Oprogramowania, WNT, Warszawa 2003 Źródła internetowe: blog Macieja Zbrzeznego: http://maciej-progtech.blogspot.com/2009/05/cocomo-i-estymacja-kosztow.html Wikipedia PL i EN – COCOMO Strony Center for Systems and Software Engineering na temat modelu COCOMO http://sunset.usc.edu/research/COCOMOII
Plan Algorytmiczne modelowanie kosztów Model COCOMO Dokładność metod szacowania Podsumowanie
Plan Algorytmiczne modelowanie kosztów Model COCOMO Dokładność metod szacowania Podsumowanie
Praca = A * <wielkość>B * M Typowa konstrukcja Praca = A * <wielkość>B * M A zależy od firmy i rodzaju oprogramowania <wielkość> to miara rozmiaru kodu lub punkty B wyraża nieproporcjonalność zależności pracy od wielkości systemu, od 1 do 1.5 M zależy od wielu atrybutów procesu i produktu Wady: wielkość jest nieznana we wczesnej fazie subiektywne oszacowanie parametrów
Linie kodu a punkty funkcyjne Oszacowanie: <wielkość kodu> = AVC * <liczba pkt. funkcyjnych> AVC: Average number of Verses of Code 200-300 wierszy w asemblerze 40-200 wierszy w 3GL 2-40 wierszy w 4GL <wielkość kodu> oznacza się: KDSI – K of delivered source input, K linii kodu KLOC – K of lines of code, K linii kodu
Plan Algorytmiczne modelowanie kosztów Model COCOMO Dokładność metod szacowania Podsumowanie
COCOMO Model COCOMO (COnstructive COst MOdel) [Boehm 1981] i dalsze modyfikacje COCOMO 81, COCOMO II Basic COCOMO: PM = a * KDSIb TD = c * (PM)d P = PM/TD KDSI – K of delivered source input, K linii kodu PM – person-months, nakład pracy TD – time to develop, czas P – persons, liczba osób
Basic COCOMO PM = a * <KDSI>b TD = c * (PM)d P = PM/TD Model do szybkiego, wstępnego szacowania kosztu, czasu i zatrudnionych osób
PM = a * <KDSI>b * EAF Intermediate COCOMO PM = a * <KDSI>b * EAF EAF = effort adjustment factor = <iloczyn współczynników wg tabeli>
Expert COCOMO etc. Uwzględnia Strony COCOMO i kalkulatory % powtórnego użycia kodu % modyfikowanego kodu nakłady na integrację ocenę i asymilację poziom nieznajomości dziedziny poziom analizy ryzyka ... Strony COCOMO i kalkulatory http://csse.usc.edu/csse/research/COCOMOII
COCOMO – wady i zalety Model był szeroko badany Ma dobrą dokumentację Poddano go wszechstronnej krytyce Polega na zależności potęgowej i jej dopasowaniu za pomocą współczynników Polega na danych historycznych Nie może uwzględnić przyszłych metod W zasadzie każda firma powinna go dostosować, lecz zazwyczaj tego nie robi Można go stosować do szacowań, porównań, symulacji
Plan Algorytmiczne modelowanie kosztów Model COCOMO Dokładność metod szacowania Podsumowanie
nieDokładność metod szacowania PM 4.0 2.0 Wykonalność Wymagania Projekt Kod Dostarczenie 1.0 etap 0.5 .25
Plan Algorytmiczne modelowanie kosztów Model COCOMO Dokładność metod szacowania Podsumowanie
Podsumowanie Produktywność programisty zależy przede wszystkim od zdolności, a także od innych czynników Istnieje wiele metod szacowania kosztu przedsięwzięć; różnice wyników wskazują na uproszczenia modelu i nieadekwatność użytych informacji Cenę często ustala się tak, aby zdobyć kontrakt; funkcjonalność się dostosowuje Istnieją modele algorytmiczne, lecz używane w nich dane mogą być trudne do oszacowania Dane do modeli są dobrze znane dopiero na końcu procesu wytwarzania; jednak modele są przydatne przynajmniej do oszacowań, porównań i symulacji