Próba eksperymentalnej oceny metody PROBE

Slides:



Advertisements
Podobne prezentacje
Excel Narzędzia do analizy regresji
Advertisements

Wprowadzenie do informatyki Wykład 6
Time dependent cross correlations between different stock returns: A directed network of influence Zależności czasowe korelacji pomiędzy zwrotami z różnych.
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Nowoczesne narzędzia wykorzystywane w cyklu polityk publicznych
Skale pomiarowe – BARDZO WAŻNE
Modelowanie konstrukcji z uwzględnieniem niepewności parametrów
Estymacja przedziałowa
Powinien być określony w sposób zwięzły i precyzyjny, np
Na Etapie Inżynierii Wymagań
Binaryzacja okresów zadań cyklicznych SCR2000, Kraków Jerzy Nawrocki, Adam Czajka Instytut Informatyki Politechnika Poznańska.
ISO 9001:2000 z perspektywy CMMI a poznańska rzeczywistość
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Szacowanie rozmiaru i pracochłonności
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Internetowy System Zarządzania Testami Wielokrotnego Wyboru Prowadzący: Michał Jasiński i Rafał Lichwała Promotor: dr Tadeusz Pankowski.
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Personal Software Process
J. Nawrocki, Inżynieria oprog. Plan wykładu Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu WynikiPodsumowanie.
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Modelowanie i język UML
Ilościowe zarządzanie przedsięwzięciem
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Bazy danych Wprowadzenie do informatyki Wykład 9
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Programowanie imperatywne i język C
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład.
Komunikacja poprzez Internet
Dokumenty i prezentacje Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do.
Specjalność Analiza danych 2010 na kierunku IiE Katedra Statystyki Instytut Zastosowań Matematyki.
BIOSTATYSTYKA I METODY DOKUMENTACJI
Wykład 4 Rozkład próbkowy dla średniej z rozkładu normalnego
Wykład 3 Rozkład próbkowy dla średniej z rozkładu normalnego
Wykład 4 Przedziały ufności
Rozkład normalny Cecha posiada rozkład normalny jeśli na jej wielkość ma wpływ wiele niezależnych czynników, a wpływ każdego z nich nie jest zbyt duży.
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 6/7: Analiza statystyczna wyników symulacyjnych  Dr inż. Halina Tarasiuk
Średnie i miary zmienności
Analiza wariancji.
Rozkład t.
Przyjazne Społeczeństwo Informacyjne Information Society Technologies Dzień Informacyjny IST PTI, Krajowy Punkt Kontaktowy 5PR UE
Projektowanie architektur systemów filtracji i akwizycji danych z wykorzystaniem modelowania w domenie zdarzeń dyskretnych Krzysztof Korcyl.
na podstawie materiału – test z użyciem komputerowo generowanych prób
Społeczeństwo informacyjne – wpływ Internetu na uczniów Gimnazjum nr 3 im. Janusza Kusocińskiego w Szczecinie i ich rodziców uczniowie.
Bezpieczny zapas wysokiego ryzyka – jak go określić?
Prognozowanie z wykorzystaniem modeli ekonometrycznych
Hipotezy statystyczne
WYNIKU POMIARU (ANALIZY)
Kilka wybranych uzupelnień
Podstawy statystyki, cz. II
Planowanie badań i analiza wyników
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Henryk Rusinowski, Marcin Plis
Co to jest dystrybuanta?
Ekonometryczne modele nieliniowe
Wnioskowanie statystyczne
D. Ciołek EKONOMETRIA – wykład 6
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Model trendu liniowego
STATYSTYKA – kurs podstawowy wykład 5 dr Dorota Węziak-Białowolska Instytut Statystyki i Demografii.
Próba zastosowania metody Lowry’ego do oznaczania białka w sokach surowych dr Bożena Wnuk.
Regresja wieloraka – bada wpływ wielu zmiennych objaśniających (niezależnych) na jedną zmienną objaśnianą (zależą)
Jednorównaniowy model regresji liniowej
Analiza niepewności pomiarów Zagadnienia statystyki matematycznej
Analiza niepewności pomiarów
Jerzy Nawrocki Adam Wojciechowski
Zapis prezentacji:

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

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

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

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

Baza danych historycznych Próba eksperymentalnej oceny metody PROBE 5/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.

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.

Poziom ufności = 80%? Poziom ufności = 90%? Próba eksperymentalnej oceny metody PROBE 7/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.

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

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.

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

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

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

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%).

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

Próba eksperymentalnej oceny metody PROBE 20/20 Kontakt Politechnika Poznańska, Instytut Informatyki Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl Maciej Szkopek mszkopek@man.poznan.pl Bartosz Walter Bartosz.Walter@cs.put.poznan.pl Adam Wojciechowski Adam.Wojciechowski@put.poznan.pl