Title: Szacowanie pracochlonnosci
1Szacowanie pracochlonnosci
Analiza systemów informatycznych Wyklad 10
- Jerzy.Nawrocki_at_put.poznan.pl
- www.cs.put.poznan.pl/jnawrocki/wsb-wdi/
2Hierarchiczna struktura produktów
Diagram przeplywu produktów
Zaleznosci miedzy czynnosciami
Lista czynnosci
Opisy produktów
Projektowanie planu
Definiowanie i analiza produktów
Identyfikacja czynnosci i zaleznosci
PL1
PL2
PL3
Analizowanie ryzyka
Szeregowanie
Szacowanie
PL6
PL4
PL5
Scalanie planu
PL7
Harmonogram
Oszacowanie czynnosci
Rejestr ryzyka
3Plan wykladu
- COCOMO II
- Metoda punktów funkcyjnych
- Punkty przypadków uzycia
- Metoda delficka
- Kontrola jakosci
- Szacowanie rozmiaru i
- Standardy serii ISO 9000
- Modele CMM/CMMI
- Inzynieria wymagan
- Zarzadzanie projektami
- Personal Software Process
- Team Software Process
- Zwinne metodyki
- Rational Unified Process
- Projekty dyplomowe
4Plan wykladu
- COCOMO II
- Metoda punktów funkcyjnych
- Punkty przypadków uzycia
- Metoda delficka
- Kontrola jakosci
- Szacowanie rozmiaru i
- Standardy serii ISO 9000
- Modele CMM/CMMI
- Inzynieria wymagan
- Zarzadzanie projektami
- Personal Software Process
- Team Software Process
- Zwinne metodyki
- Rational Unified Process
- Projekty dyplomowe
5Barry W. Boehm
1957 BA, Matematyka, Harvard 1961 MS,
Matematyka, UCLA 1964 PhD, Matematyka,
UCLA 1959-73 Rand Corporation 1973-89
TRW 1989-92 Department of Defence
(DoD) 1993-teraz USC Center for SE
6Model post-architektoniczny
PMNS A ? SizeE ? ?i116 EMi gdzie E B 0.01
? ?i15 SFi
Size w KSLOC
Effort Multiplier
Scale Factor
7Model post-architektoniczny
PMNS A ? SizeE ? ?i116 EMi gdzie E B 0.01
? ?i15 SFi
Size w KSLOC
Wartosci A, B skalibrowane na podstawie 161
projektów A 2.94 B
0.91
Dla przecietnego projektu EMi 1.
0 ? ?i15 SFi ? 31.6
PMNS 2.94 ? SizeE gdzie 0.91 ? E ? 1.226
8Wplyw czynników skali, SF, na pracochlonnosc
E 1.226
E 1
E 0.91
9Rozpietosc pracochlonnosci
8.9
8.1
7.1
5.7
10Czynniki skali, SFi
Very low Low Nominal High Very high Extra high
6.20 4.96 3.72 2.48 1.24 0.00
5.07 4.05 3.04 2.03 1.01 0.00
7.07 5.65 4.24 2.83 1.41 0.00
5.48 4.38 3.29 2.19 1.10 0.00
7.80 6.24 4.68 3.12 1.56 0.00
Typowosc
Elastycznosc
Zarz. ryzykiem
Spójnosc zespolu
Dojrzalosc proc.
11Model post-architektoniczny
Dla przecietnego projektu
PMNS 2.94 ? SizeE gdzie 0.91 ? E ? 1.226
Size w KSLOC
12Plan wykladu
- COCOMO II
- Metoda punktów funkcyjnych
- Punkty przypadków uzycia
- Metoda delficka
- Kontrola jakosci
- Szacowanie rozmiaru i
- Standardy serii ISO 9000
- Modele CMM/CMMI
- Inzynieria wymagan
- Zarzadzanie projektami
- Personal Software Process
- Team Software Process
- Zwinne metodyki
- Rational Unified Process
- Projekty dyplomowe
13Metoda punktów funkcyjnych
- Albrecht, IBM, 1979
- Podstawowe funkcje
- Wejscia
- Wyjscia
- Zapytania
- Wewn. pliki danych
- Zewn. interfejsy
3 4 3 7 5
4 5 4 10 7
6 7 6 15 10
14Metoda punktów funkcyjnych
Budowana aplikacja
15Metoda punktów funkcyjnych
Wyjscie ? Zapytanie
- Wyjscie raport, ekran, komunikat o bledzie.
Pojedyncze dane w raporcie nie sa liczone osobno. - Zapytanie bezposrednie wej. skutkujace
bezposrednim wyj. Zapytanie nie moze modyfikowac
zadnego pliku wewnetrznego (stanu).
16Metoda punktów funkcyjnych
2 2 2 3
3 3 2
1 0 2 1
0 0 1
0
17Metoda punktów funkcyjnych
2 2 2 26 3
3 3 48 2
1 0 10 2
1 0 24 0 1
0 7
115
Problem proste, srednie, czy zlozone?
18Metoda punktów funkcyjnych
- FP UT CM
- FP Punkty funkcyjne (Function points)
- UT Wstepne oszacowanie (Unadjusted total)
- CM Mnoznik zlozonosci (Complexity multiplier)
0.65 .. 1.35 - CM 0.65 0.01 ? Wspólczynniki_wplywu
(Influence_factors) - 14 wspólczynników wplywu, 0 - 5 punktów kazdy
19Metoda punktów funkcyjnych
- Ocena wspólczynników wplywu
- 0 Brak wplywu
- 1 Bardzo slaby
- 2 Raczej slaby
- 3 Sredni
- 4 Istotny
- 5 Zasadniczy
20Metoda punktów funkcyjnych
- Czy jest wymagane przesylanie danych?
- Czy sa funkcje przetwarzania rozproszonego?
- Czy wydajnosc ma kluczowe znaczenie?
- Czy system ma dzialac w mocno obciazonym
srodowisku operacyjnym? - Czy system wymaga wprowadzania danych on-line?
- Czy wewnetrzne przetwarzanie jest zlozone?
- Czy kod ma byc re-uzywalny?
Influence Factors
21Metoda punktów funkcyjnych
- Jezyk
- Jezyk asemblera
- C
- Cobol
- Fortran
- Pascal
- Ada
- Jezyki obiektowe
- Arkusze kalkulacyjne
- LOC/FP
- 320
- 128
- 105
- 105
- 90
- 70
- 30
- 6
22Model post-architektoniczny
Dla przecietnego projektu
PMNS 2.94 ? SizeE gdzie 0.91 ? E ? 1.226
Size w KSLOC
23Model post-architektoniczny
Dla przecietnego projektu w Pascalu
PMNS 2.94 ? ( 0.09 ? Size )E gdzie 0.91 ? E
? 1.226
Size w FP
24Plan wykladu
- COCOMO II
- Metoda punktów funkcyjnych
- Punkty przypadków uzycia
- Metoda delficka
- Kontrola jakosci
- Szacowanie rozmiaru i
- Standardy serii ISO 9000
- Modele CMM/CMMI
- Inzynieria wymagan
- Zarzadzanie projektami
- Personal Software Process
- Team Software Process
- Zwinne metodyki
- Rational Unified Process
- Projekty dyplomowe
25Aktorzy
1 pkt Prosty - Zdefiniowane API 2 pkt Sredni -
TCP/IP lub tekst 3 pkt Zlozony - GUI
26Przypadki uzycia
Rejestracja artykulu Scenariusz glówny 1. System
wyswietla formularz. 2. Autor wypelnia
formularz. 3. System sprawdza dane. Rozszerzenia
3a. Zly format danych. 3a1. System wyswietla
komunikat. Powrót do kroku 2.
5 pkt Prosty do 3 transakcji 10 pkt Sredni
4-7 transakcji 15 pkt Zlozony powyzej 7
transakcji
27Punkty przypadków uzycia (Use-Case Points)
Unadjusted Use-Case Points
UCP UUCP TCF EF Effort UCP lt20, 30gt
godz.
gdzie TCF 0.6 (0.01 TFactor)
EF 1.4 ( 0.03 EFactor)
28Technical Factors (TFactor)
T1 System rozproszony 2 T2
Czas odp. lub przepustowosc 2 T3 Efektywnosc
uzyt. koncowego 1 T4 Zlozone przetwarzanie
wew. 1 T5 Reuzywalny kod
1 T6 Latwosc instalacji
0.5 T7 Latwosc uzycia
0.5 T8 Przenosnosc
2 T9 Latwosc modyfikowania
1 T10 Wspólbieznosc
1 T11 Mechanizmy bezpieczenstwa 1 T12
Dostep dla trzeciej strony 1 T13 Spec.
mechanizmy szkoleniowe 1
29Environment Factors (EFactor)
F1 Znajomosc RUP-a
1.5 F2 Dosw. w budowie takich aplikacji 0.5 F3
Doswiadczenie w obiektowosci 1 F4 Umiejetnosci
glównego analityka 0.5 F5 Motywacja
1 F6 Stabilne
wymagania 2 F7 Pracownicy
na czesc etatu -1 F8 Trudny jezyk
programowania -1
30Punkty przypadków uzycia (Use-Case Points)
UCP UUCP TCF EF Effort UCP lt20, 30gt
godz.
gdzie TCF 0.6 (0.01 TFactor)
EF 1.4 ( 0.03 EFactor)
31Plan wykladu
- COCOMO II
- Metoda punktów funkcyjnych
- Punkty przypadków uzycia
- Metoda delficka
- Kontrola jakosci
- Szacowanie rozmiaru i
- Standardy serii ISO 9000
- Modele CMM/CMMI
- Inzynieria wymagan
- Zarzadzanie projektami
- Personal Software Process
- Team Software Process
- Zwinne metodyki
- Rational Unified Process
- Projekty dyplomowe
32Metoda delficka
- Rand Corporation, Boehm81
- Kilku ekspertów indywidualnie szacuje naklad
(rozmiar). - Stosujac proces delfijski dochodzi sie do
konsensusu.
33Metoda delficka
- 1. Eksperci dostaja specyfikacje i formularz
estymacyjny. - 2. Spotykaja sie by przedyskutowac cele
projektu, zalozenia, problemy estymacji. - 3. Ekspert anonimowo wylicza zadania i szacuje
naklad (rozmiar). - 4. Szacunki trafiaja do moderatora, który
opracowuje wyniki i przedstawia je ekspertom.
Moderator
34Metoda delficka
- Estymator Jerzy Nawrocki
Data 12.03.2004 - Projekt Procedura sortowania
- Oszacowania z 1-szej rundy
- e E M
e e - 0 20 40 60
80 100 - e - oszacowania, E - Twoje oszac., M - srednie
oszac. - Twoje oszacowanie do nastepnej rundy .........
- Uzasadnienie Twojego oszac. .....................
..................... - ..................................................
..........................................
35Metoda delficka
- 5. Eksperci spotykaja sie by przedyskutowac
wyniki. Dyskutuja zadania, które zdefiniowali,
ale nie dyskutuja ich szacunkowych nakladu
(rozmiarów). - 6. Procedura jest powtarzana od kroku 3 az
szacunki ekspertów sa dostatecznie bliskie.
Moderator
36Podsumowanie
- COCOMO II szacowanie pracochlonnosci na
podstawie rozmiaru kodu w KSLOC - Punkty funkcyjne i przejscie na KSLOC (tablica
przeliczania FP na SLOC dla róznych jezyków) - Punkty przypadków uzycia mnoznik 20-30 godz./UCP
- Metoda delficka wykorzystanie wiedzy ekspertów
At last!
37Pytania?
?
38Ocena jakosci
- 1. Wrazenie ogólne? (1 - 6)
- 2. Tempo wykladu?
- 3. Czego waznego dowiedziales sie na wykladzie?
- 4. Co poprawic i jak?