160 likes | 333 Views
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
E N D
Inżynieria Oprogramowania10. Szacowanie kosztu oprogramowaniacz. 2 Leszek J Chmielewski Wydział Zastosowań Informatyki i MatematykiSGGW 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
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
Intermediate COCOMO PM = a * <KDSI>b * EAF EAF = effort adjustment factor = <iloczyn współczynników wg tabeli>
Expert COCOMO etc. • Uwzględnia • % 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