Praktyczny podręcznik dla policjantów. Szacowanie ryzyka ...
Szacowanie rozmiaru i pracochłonności
description
Transcript of Szacowanie rozmiaru i pracochłonności
Copyright © Jerzy R. Nawrocki
Szacowanie rozmiaru i pracochłonności
[email protected]/jnawrocki/io
Inżynieria oprogramowania IIWykład 3
J.Nawrocki, Wprowadzenie..
Syndrom LOOP
L
O
O
P
ate (późno)
oor quality (kiepska jakość)
ver budget (przekroczony budżet)
vertime (nadgodziny)
Loop
J.Nawrocki, Wprowadzenie..
Plan wykładu
•Kontrola jakości oprogramowania•Szacowanie rozmiaru i pracochłonności•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań i IEEE 830•Zarządzanie projektami i PRINCE 2•Personal Software Process•Team Software Process•Zwinne metodyki programowania•Rational Unified Process•Projekty dyplomowe
•Kontrola jakości•Szacowanie rozmiaru i•Standardy serii ISO 9000•Modele CMM/CMMI•Inżynieria wymagań•Zarządzanie projektami •Personal Software Process•Team Software Process•Zwinne metodyki•Rational Unified Process•Projekty dyplomowe
J.Nawrocki, Wprowadzenie..
Szacowanie rozmiaru i pracochłonności
Gra planistyczna w XP
Pracochłonność, ryzyko
More
colors 9 godz.
Wymagania
More
colors
Zakres wydania
More
colors
More
func.9 h
6 h
J.Nawrocki, Wprowadzenie..
Szacowanie rozmiaru i pracochłonności
Przetargi
Pracochłonność, ryzyko
More
colors 9 godz.
Wymagania
More
colors
Wykonawca
2 mln zł 1 mln zł
J.Nawrocki, Wprowadzenie..
Systematyczne podejście do planowania
begin .. end
500 LOC
J.Nawrocki, Wprowadzenie..
Szacowanie pracochłonności
COCOMO:Effort = a Sizeb COCOMO 2.0:Effort = (ei) A SizeB Walston-Felix model:Effort = 5.2 Size0.91 Software equation (Putnam):Effort = (Size B0.333/P)3/ t4
J.Nawrocki, Wprowadzenie..
Metoda wartości rozmytych
Putnam’92:
Potrzebujemy oszacowań rozmiaru, które są dokładne ale nie koniecznie precyzyjne.
Odnieśmy oszacowanie do danych historycznych.
WysokiWysoki ŚredniŚredni NiskiNiski
J.Nawrocki, Wprowadzenie..
Metoda wartości rozmytych
Zakres Dół Środek Góra
B. mały 11 000000 22 000000 44 000000
Mały 44 000000 88 000000 1166 000000
Średni 1166 000000 3322 000000 6644 000000
Duży 6644 000000 112288 000000 225566 000000
B. duży 225566 000000 551122 000000 11 002244 000000
Zakresy rozmytych rozmiarów
J.Nawrocki, Wprowadzenie..
Metoda wartości rozmytych
Mając dany najmniejszy (S) i największy (L) rozmiar, znajdź granice zakresów A, B, C, D takie, że S, A, B, C, D, L tworzą postęp geometryczny.
A/S = B/A = C/B = D/C = L/D = pL/S = p5 p = (L/S)0.2
Jeśli S= 1 000 i L= 1 024 000, to p=4
B.dużyB.duży: D - : D - LLDużyDuży: C - D: C - D
ŚredniŚredni: B - C: B - C
MałyMały: A - B: A - B
B.małyB.mały: : SS - A - A
J.Nawrocki, Wprowadzenie..
Metoda delfijska
Rand Corporation, Boehm’81
Kilku ekspertów indywidualnie szacuje nakład (rozmiar).
Stosując proces delfijski dochodzi się do konsensusu.
PytiaPytia
J.Nawrocki, Wprowadzenie..
Metoda delfijska
1. Eksperci dostają specyfikację i formularz estymacyjny.
2. Spotykają się by przedyskutować: cele projektu, założenia, problemy estymacji.
3. Ekspert anonimowo wylicza zadania i szacuje nakład (rozmiar).
4. Szacunki trafiają do moderatora, który opracowuje wyniki i przedstawia je ekspertom.
ModeratorModerator
J.Nawrocki, Wprowadzenie..
Metoda delfijska
Estymator: Jerzy Nawrocki Data: 12.03.2004Projekt: Procedura sortowania
Oszacowania z 1-szej rundy:
e E M e e 0 20 40 60 80 100
e - oszacowania, E - Twoje oszac., M - średnie oszac.Twoje oszacowanie do następnej rundy: ......... LOCUzasadnienie Twojego oszac.: ......................................................................................................................................
J.Nawrocki, Wprowadzenie..
Metoda delfijska
5. Eksperci spotykają się by przedyskutować wyniki. Dyskutują zadania, które zdefiniowali, ale nie dyskutują ich szacunkowych nakładu (rozmiarów).
6. Procedura jest powtarzana od kroku 3 aż szacunki ekspertów są dostatecznie bliskie.
ModeratorModerator
J.Nawrocki, Wprowadzenie..
Plan of the lecture
Delphi methodFuzzy-logic method
Standard-component methodFunction point method
J.Nawrocki, Wprowadzenie..
Metoda standardowego składnika
Putnam’92Dekompozycja systemu do zbioru
standardowych składników (ekrany, pliki, moduły etc.).
Dla każdego standardowego składnika mamy dane historyczne o jego rozmiarze.
J.Nawrocki, Wprowadzenie..
Metoda standardowego składnika
Dla każdego typu składnika należy określić:S – najmniejszą liczbę składników tego typu;L – największą liczbęM – najbardziej prawdopodobną liczbę
Szacunkowa liczba komponentów danego typu:(S+4*M+L) / 6
Dla każdego typu komponentu znamy średnie LOC.
J.Nawrocki, Wprowadzenie..
Plan of the lecture
Delphi methodFuzzy-logic methodStandard-component method
Function point method
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Albrecht, IBM, 1979
Podstawowe funkcje: Wejścia Wyjścia Zapytania Wewn. pliki danych Zewn. interfejsy
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
BudowanaBudowanaaplikacjaaplikacja
Wewn.Wewn.plikplik
WyjścieWyjście
WejścieWejście
ZapytanieZapytanie
InnaInnaaplikacjaaplikacja
InterfejsInterfejs
zewn.zewn.
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Wyjście: raport, ekran, komunikat o błędzie. Pojedyncze dane w raporcie nie są liczone osobno.
Zapytanie: bezpośrednie wej. skutkujące bezpośrednim wyj. Zapytanie nie może modyfikować żadnego pliku wewnętrznego (stanu).
WyjścieWyjście ZapytanieZapytanie
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Typ funk. Proste Śred. Złożone Razem Wejście x 3 x 4 x 6
Wyjście x 4 x 5 x 7
Zapytanie x 3 x 4 x 6 Pliki wewn. x 7 x 10 x 15
Interfejsy x 5 x 7 x 10 Unadjusted total
2 2 2 263 3 3 482 1 0 102 1 0 240 1 0 7 115
ProblemProblem: : prosteproste, , średnie,średnie, czyczy złożonezłożone??
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
FP = UT * CM
FP – Punkty funkcyjne (Function points)UT – Wstępne oszacowanie (Unadjusted total)CM – Mnożnik złożoności (Complexity multiplier): 0.65 .. 1.35
CM = 0.65 + 0.01 * Współczynniki_wpływu (Influence_factors)
14 współczynników wpływu, 0 - 5 punktów każdy
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Ocena współczynników wpływu0 – Brak wpływu1 – Bardzo słaby2 – Raczej słaby3 – Średni4 – Istotny5 – Zasadniczy
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Czy jest wymagane przesyłanie danych?Czy są funkcje przetwarzania rozproszonego?Czy wydajność ma kluczowe znaczenie?Czy system ma działać w mocno obciążonym środowisku operacyjnym?Czy system wymaga wprowadzania danych on-line?Czy wewnętrzne przetwarzanie jest złożone?Czy kod ma być re-używalny?
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Czy wejścia, wyjścia, pliki i zapytania są złożone?Czy wprowadzanie danych on-line wymaga transakcji obejmujących wiele ekranów lub operacji?Czy pliki główne są aktualizowane on-line?Czy system ma mieć automatyczne konwersje i instalacje?
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Czy system wymaga mechanizmu kopii zapasowych i odtwarzania?Czy system jest projektowany dla wielu instalacji w różnych organizacjach?Czy aplikacja jest projektowana aby wspomagać zmiany i być łatwą w użyciu przez użytkownika?
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Język Język asembleraCCobolFortranPascalAdaJęzyki obiektoweArkusze kalkulacyjne
LOC/FP3201281051059070306
J.Nawrocki, Wprowadzenie..
Metoda punktów funkcyjnych
Modyfikacje metody punktów funkcyjnych:Feature points (C. Jones, 1991)Object points (R. Kauffman, R. Kumar, 1993)3D function point (S.A. Whitmire, 1995)
J.Nawrocki, Wprowadzenie..
Pytania?
J.Nawrocki, Wprowadzenie..
Ocena wykładu
1. Wrażenie ogólne (1 - 6)2. Za szybko czy za wolno?3. Czy dowiedziałeś się czegoś ważnego?4. Co i jak poprawić?