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