Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Próba eksperymentalnej oceny metody PROBE

Podobne prezentacje


Prezentacja na temat: "Próba eksperymentalnej oceny metody PROBE"— Zapis prezentacji:

1 Próba eksperymentalnej oceny metody PROBE
Jerzy R. Nawrocki Maciej Szkopek Bartosz Walter Adam Wojciechowski Praca przygotowana pod kierownictwem profesora Jerzego Nawrockiego.

2 Próba eksperymentalnej oceny metody PROBE 2/20
Praca wykonana w ramach projektu badawczego /01-BW i częściowo finansowana przez: Również mój udział jest finansowany przez Accenture.

3 Próba eksperymentalnej oceny metody PROBE 3/20
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. Rola szacowania pracochłonności Pracochłonność – nakład pracy (np. liczba godzin) Ułożenie odpowiedniego harmonogramu oraz oddanie projektu na czas byłoby znacznie łatwiejsze gdyby znana była pracochłonność przedsięwzięcia. Niestety, najczęściej jest to niewiadoma. Szacowanie nie tylko na poziomie projektu ale również na poziomie zadań a więc poszczególnych członków zespołu. PSP ... PROBE Metoda zakłada istnienie bazy danych historycznych (rozmiar, pracochłonność), Humphrey zaproponował zestaw zadań programistycznych Cechą charakterystyczną metody jest oparcie się na metodach statystycznych, prezentowana estymata punktowa oraz przedział ufności dla przyjętego poziomu ufności p – estymata przedziałowa Eksperyment W szczególności interesowało nas pytanie, czy baza danych historycznych zbudowana w oparciu o zadania Humphrey’a może służyć do szacowania pracochłonności aplikacji internetowych. Zadanie programistyczne Baza danych historycznych Estymata punktowa oraz przedziałowa

4 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ń Bez komentarza

5 Baza danych historycznych
Próba eksperymentalnej oceny metody PROBE /20 Metoda PROBE PROxy-Based Estimating method - Watts Humphrey Wykorzystuje metodę regresji liniowej. Baza danych historycznych LOC, hours 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 PROBE Projekt koncepcyjny Powstaje projekt systemu (potem może ulec nawet dużym zmianom) na podstawie którego szacowana jest pracochłonność. Wyodrębnienie obiektów i metod służących do komunikacji między nimi. Obiekty dzielone są na kategorie funkcjonalne (przetwarzanie tekstów,GUI,we/wy...) Szacowanie rozmiaru kodu Dla każdego obiektu szacuje się liczbę metod oraz określa się jego rozmiar za pomocą wartości rozmytych (duży, średni, mały). Na podstawie danych historycznych mając kategorię obiektu, rozmyty rozmiar oraz liczbę metod wyznacza się rozmiar obiektu w liniach kodu. Suma rozmiarów to rozmiar tworzonego oprogramowania. Szacowanie pracochłonności Przypadek najlepszy 3x szacowany rozmiar, faktyczna pracochłonność, korelacja r2>=0,5 Przypadek pośredni 3x faktyczny rozmiar, faktyczna pracochłonność , korelacja r2>=0,5 Przypadek najgorszy faktyczny rozmiar, faktyczna pracochłonność. Wyznacza się minimalną i maksymalną prędkość kodowania i dzieląc oszacowany rozmiar przez te wartości uzyskujemy górną i dolną granicę przedziału.

6 Próba eksperymentalnej oceny metody PROBE 6/20
Metoda PROBE Metoda szacowania Rozmiar Pracochłonność PROBE Rozmiar Przedział ufności Pracochłonność Przedział ufności Metoda PROBE to, jak wcześniej wspomniałem, metoda szacowania rozmiaru oraz pracochłonności oprogramowania. Oprócz estymaty punktowej (oszacowanie dokładne, punktowe), przy pomocy PROBE wyznaczyć można również przedział ufności (estymata przedziałowa) dla przyjętego poziomu ufności p.

7 Poziom ufności = 80%? Poziom ufności = 90%?
Próba eksperymentalnej oceny metody PROBE /20 PROBE Rozmiar = 1000 przedział ufności = <800,1200> Pracochłonność = 500 przedział ufności = <400,600> Poziom ufności = 80%? Metoda PROBE PROBE Rozmiar = 1000 przedział ufności = <700,1300> Pracochłonność = 500 przedział ufności = <300,700> Poziom ufności = 90%? Przykład W fazie szacowania rozmiaru kodu ustalono, że rozmiar tworzonego oprogramowania wyniesie 1000 LOC. Na podstawie danych historycznych obliczono estymatę punktową pracochłonności – 500 minut. Aby obliczyć estymatę przedziałową a więc przedział w jakim, z pewnym prawdopodobieństwem, znajdzie się wartość pracochłonności należy dobrać poziom ufności (w przykładzie jest to 80%). Przedział ufności to <400, 600>. Poziom ufności przyjmuje wartości od 0 do 100%. Im większa jest jego wartość tym większe jest prawdopodobieństwo, że rzeczywista pracochłonność znajdzie się w wyznaczonym przedziale. Jednak nadmierny wzrost poziomu ufności powoduje tak duży wzrost przedziału, że „gubi się” wartość informacyjną. Można, na przykład, przyjąć poziom ufności równy 100%, ale jest to bezcelowe, gdyż otrzymalibyśmy przedział od 0 do nieskończoności. Jeśli zmienimy wartość poziomu ufności na 90%, zmieni się przedział ufności dla wcześniej obliczonych estymat punktowych.

8 Próba eksperymentalnej oceny metody PROBE 8/20
Eksperyment przeprowadzono w laboratoriach Politechniki Poznańskiej. Szkolenie wprowadzające 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). Wszystkie zadania programistyczne rozwiązywane były w laboratoriach pod nadzorem osób prowadzących eksperyment. Nie rozwiązywano zadań poza laboratorium.

9 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) ...” Zadania Humphrey’a Parametry B0 B1 metody regresji liniowej. Współczynnik korelacji. Całkowanie zgodnie z regułą Simpson’a. Zadania internetowe Applet przetwarzający wprowadzony tekst. Applet rysujący wybrane figury geometryczne. Itp.

10 Próba eksperymentalnej oceny metody PROBE 10/20
Wyniki eksperymentu Wpływ charakteru zadań na jakość bazy danych historycznych Problem poziomu ufności Dobór poziomu ufności Zwróciliśmy uwagę na następujące zagadnienia...

11 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

12 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.

13 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:

14 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 Jak wcześniej wspomniano, w metodzie PROBE oprócz estymaty punktowej otrzymuje się także estymatę przedziałową, która dla założonego poziomu ufności p, określa przedział, w którym rzeczywista pracochłonność znajdzie się z prawdopodobieństwem p. Analizując wyniki eksperymentu zauważyliśmy, że w niektórych przypadkach, częstość trafień (czyli takich zdarzeń, w których rzeczywista pracochłonność znajduje się w przedziale wyznaczonym przez estymatę przedziałową) jest istotnie niższa od założonego poziomu ufności.

15 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ń

16 Próba eksperymentalnej oceny metody PROBE 16/20
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] Nadmierny wzrost poziomu ufności powoduje „zagubienie” wartości informacyjnej. W metodzie PROBE przedział ufności ma postać [, ], gdzie  jest oczekiwaną wartością pracochłonności, natomiast  wyznacza szerokość przedziału i jest obliczana według odpowiednich wzorów. Przez względną rozpiętość przedziału rozumiemy wartość =100%/. Na przykład, jeśli =1000, =50% to mamy przedział od 500 do Dla danego poziomu ufności, bazy danych historycznych i szacowanej pracochłonności można wyznaczyć przedział ufności [, ]. Mając bazy danych historycznych pochodzące od różnych programistów można obliczyć dla ilu spośród nich wartość =100%/ była nie większa niż założony poziom rozpiętości przedziału d. Wartość tę będziemy nazywać liczbą nie za szerokich przedziałów dla przyjętej wartości d.

17 Próba eksperymentalnej oceny metody PROBE 17/20
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. Z wykresu C wynika, że dla poziomu ufności 80% aż w 73% przypadków względna rozpiętość przedziału  była nie większa niż 50%. Jest to dobry kompromis między prawdopodobieństwem trafienia w przedział a informacyjną wartością przedziału (poziom ufności 80%).

18 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.

19 Próba eksperymentalnej oceny metody PROBE 19/20
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).

20 Próba eksperymentalnej oceny metody PROBE 20/20
Kontakt Politechnika Poznańska, Instytut Informatyki Jerzy R. Nawrocki Maciej Szkopek Bartosz Walter Adam Wojciechowski


Pobierz ppt "Próba eksperymentalnej oceny metody PROBE"

Podobne prezentacje


Reklamy Google