Próba eksperymentalnej oceny metody PROBE

advertisement
Próba eksperymentalnej oceny metody PROBE
Jerzy R. Nawrocki
Maciej Szkopek
Bartosz Walter
Adam Wojciechowski
Próba eksperymentalnej oceny metody PROBE
2/20
Praca wykonana w ramach projektu badawczego 43-364/01-BW
i częściowo finansowana przez:
Próba eksperymentalnej oceny metody PROBE
Wprowadzenie
Rola szacowania pracochłonności
PSP (Personal Software Process) i metoda PROBE
Eksperymentalna ocena metody PROBE:
• Wpływ zadań programistycznych na jakość
bazy danych historycznych.
• Jakość uzyskanych estymat przedziałowych.
3/20
Próba eksperymentalnej oceny metody PROBE
4/20
Plan prezentacji
• Metoda PROBE
• Eksperyment
• Zadania programistyczne
• Wyniki eksperymentu
• Wpływ charakteru zadań na jakość bazy danych
historycznych
• Problem poziomu ufności
• Dobór poziomu ufności
• Podsumowanie
• Kierunki dalszych badań
Próba eksperymentalnej oceny metody PROBE
5/20
Metoda PROBE
PROxy-Based Estimating method - Watts Humphrey
Wykorzystuje metodę regresji liniowej.
Kroki metody:
1. Projekt koncepcyjny
2. Szacowanie rozmiaru kodu
3. Szacowanie pracochłonności
Szacowanie pracochłonności obejmuje trzy przypadki
dotyczące jakości bazy danych historycznych:
• Przypadek najlepszy
• Przypadek pośredni
• Przypadek najgorszy
Próba eksperymentalnej oceny metody PROBE
Metoda PROBE
Rozmiar
Metoda
szacowania
Pracochłonność
Rozmiar
Przedział ufności
PROBE
Pracochłonność
Przedział ufności
6/20
Próba eksperymentalnej oceny metody PROBE
Poziom ufności
= 80%?
7/20
Metoda PROBE
Rozmiar = 1000
przedział ufności = <800,1200>
PROBE
Pracochłonność = 500
przedział ufności = <400,600>
Poziom ufności
= 90%?
Rozmiar = 1000
przedział ufności = <700,1300>
PROBE
Pracochłonność = 500
przedział ufności = <300,700>
Próba eksperymentalnej oceny metody PROBE
8/20
Eksperyment
Eksperyment przeprowadzono w laboratoriach
Politechniki Poznańskiej.
Szkolenie wprowadzające - 110 studentów, wykład oraz
dwa ćwiczenia laboratoryjne.
Eksperyment - 40 najlepiej przygotowanych studentów,
4 spotkania, jedno bądź dwa zadania rozwiązywane w
trakcie jednego spotkania.
Czynności wykonywane w trakcie spotkania:
• Szacowanie pracochłonności.
• Rozwiązanie zadania w języku Java.
• Zebranie danych historycznych (formularze
Humphrey’a).
Próba eksperymentalnej oceny metody PROBE
9/20
Zadania programistyczne
8 zadań programistycznych - 3 zadania Humphrey’a
oraz 5 zadań internetowych.
Zadania Humphrey’a - zadania o charakterze
numerycznym
“Napisz w języku Java metodę obliczającą wartość
współczynnika korelacji ...”
Zadania zorientowane na aplikacje internetowe
“Napisz w języku Java aplet (rozkład
komponentów w kontenerze apletu jest dany) ...”
Próba eksperymentalnej oceny metody PROBE
Wyniki eksperymentu
• Wpływ charakteru zadań na jakość bazy danych
historycznych
• Problem poziomu ufności
• Dobór poziomu ufności
10/20
Próba eksperymentalnej oceny metody PROBE
11/20
Wpływ charakteru zadań na jakość bazy danych historycznych
Dobra baza danych historycznych to taka, która
umożliwia wykorzystanie najlepszego wariantu metody
PROBE.
Wpływ zadań na liczbę dobrych baz danych historycznych
Próba eksperymentalnej oceny metody PROBE
12/20
Wpływ charakteru zadań na jakość bazy danych historycznych
Obserwacje:
• Charakter zadań programistycznych ma istotny wpływ
na jakość bazy danych historycznych.
• Im więcej zadań jest w bazie danych tym gorsza ich
jakość w tym sensie, że zmniejsza się
prawdopodobieństwo uzyskania dobrej bazy danych.
Próba eksperymentalnej oceny metody PROBE
13/20
Wpływ charakteru zadań na jakość bazy danych historycznych
Wymienione tendencje zachowane są zarówno w
przypadku programowania indywidualnego:
jak i programowania
realizowanego
parami:
Próba eksperymentalnej oceny metody PROBE
14/20
Problem poziomu ufności
Estymata przedziałowa - dla założonego poziomu
ufności p, określa przedział, w którym rzeczywista
pracochłonność znajdzie się z prawdopodobieństwem p.
Dla 3 zadań w bazie danych historycznych:
• Humphrey - częstość trafień poniżej poziomu ufności
• Internetowe - częstość trafień powyżej poziomu ufności
Dla 4 zadań w bazie danych historycznych:
• Częstość trafień poniżej poziomu ufności
Próba eksperymentalnej oceny metody PROBE
15/20
Problem poziomu ufności
Wpływ poziomu ufności p na częstość trafień dla 3 i 4
zadań
Próba eksperymentalnej oceny metody PROBE
Dobór poziomu ufności
Poziom ufności w metodzie PROBE.
Jak dobrać - duży czy mały?
Liczba nie za szerokich przedziałów
Przedział: [, ]
Względna rozpiętość przedziału:
=100%/
Poziom rozpiętości przedziału: d
Przykład:
 = 1000,  = 500
 = 50%
Przedział: [500, 1500]
16/20
Próba eksperymentalnej oceny metody PROBE
Dobór poziomu ufności
Względna liczba nie za szerokich przedziałów dla
różnych wartości względnej rozpiętości przedziału.
17/20
Próba eksperymentalnej oceny metody PROBE
18/20
Podsumowanie
Wnioski:
• Charakter zadań programistycznych ma istotny wpływ
na jakość bazy danych historycznych.
• Dobry kompromis między prawdopodobieństwem
trafienia w przedział a informacyjną wartością przedziału
osiąga się dla poziomu ufności równego 80%.
Anomalie:
• Im więcej zadań jest w bazie danych tym gorsza ich
jakość w tym sensie, że zmniejsza się
prawdopodobieństwo uzyskania dobrej bazy danych.
• Dla 4 zadań częstość trafień rzeczywistej
pracochłonności w przedział wyznaczony metodą
PROBE była znacznie poniżej przyjętego poziomu
ufności.
Próba eksperymentalnej oceny metody PROBE
Kierunki dalszych badań
• Większe bazy danych historycznych (8-10 zadań).
• Dłuższy horyzont czasowy obejmujący 5-10 dni
roboczych (28-56 rzeczywistych godzin pracy).
19/20
Próba eksperymentalnej oceny metody PROBE
Kontakt
Politechnika Poznańska, Instytut Informatyki
Jerzy R. Nawrocki
[email protected]
Maciej Szkopek
[email protected]
Bartosz Walter
[email protected]
Adam Wojciechowski
[email protected]
20/20
Download