Testowanie oprogramowania. Wykład 11 inżynieria jakości oprogramowania cz. I podstawy teorii pomiarów metryki rozmiaru: LOC metryki rozmiaru: FP

Podobne dokumenty
Goal Question Metrics. Jarosław Kuchta Jakość Systemów Informatycznych

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

STATYSTYKA OPISOWA. LICZBOWE CHARAKTERYSTYKI(MIARY)

STATYSTYKA OPISOWA. LICZBOWE CHARAKTERYSTYKI(MIARY)

Typy zmiennych. Zmienne i rekordy. Rodzaje zmiennych. Graficzne reprezentacje danych Statystyki opisowe

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

STATYSTYKA - PRZYKŁADOWE ZADANIA EGZAMINACYJNE

Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część

Zasady organizacji projektów informatycznych

Pozyskiwanie wiedzy z danych

Szczegółowy plan szkolenia

Wstęp do zarządzania projektami

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Wykład 5: Statystyki opisowe (część 2)

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

METODY STATYSTYCZNE W BIOLOGII

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Miary zmienności STATYSTYKA OPISOWA. Dr Alina Gleska. Instytut Matematyki WE PP. 6 marca 2018

W kolejnym kroku należy ustalić liczbę przedziałów k. W tym celu należy wykorzystać jeden ze wzorów:

PODSTAWY OPRACOWANIA WYNIKÓW POMIARÓW Z ELEMENTAMI ANALIZY NIEPEWNOŚCI POMIAROWYCH

Plan. Zapewnienie jakości produktu informatycznego. Zarządzanie jakością i metryki oprogramowania. Podstawowe parametry mierzalne

Wykład 2. Statystyka opisowa - Miary rozkładu: Miary położenia

Wstęp do zarządzania projektami

-> Średnia arytmetyczna (5) (4) ->Kwartyl dolny, mediana, kwartyl górny, moda - analogicznie jak

Spis treści 3 SPIS TREŚCI

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

ANALIZA SYSTEMU POMIAROWEGO (MSA)

Testowanie oprogramowania

Statystyka opisowa PROWADZĄCY: DR LUDMIŁA ZA JĄC -LAMPARSKA

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

1 n. s x x x x. Podstawowe miary rozproszenia: Wariancja z populacji: Czasem stosuje się też inny wzór na wariancję z próby, tak policzy Excel:

Zadania ze statystyki, cz.7 - hipotezy statystyczne, błąd standardowy, testowanie hipotez statystycznych

Zadania ze statystyki cz. 8 I rok socjologii. Zadanie 1.

PRZEWODNIK PO PRZEDMIOCIE

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Wykład 1 Inżynieria Oprogramowania

Metodologia badań psychologicznych

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej)

Statystyka. Wykład 4. Magdalena Alama-Bućko. 13 marca Magdalena Alama-Bućko Statystyka 13 marca / 41

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

SMOP - wykład. Rozkład normalny zasady przenoszenia błędów. Ewa Pawelec

Inżynieria Środowiska. II stopień ogólnoakademicki. przedmiot podstawowy obowiązkowy polski drugi. semestr zimowy

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych. Wykład tutora na bazie wykładu prof. Marka Stankiewicza

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Statystyka. Wykład 3. Magdalena Alama-Bućko. 6 marca Magdalena Alama-Bućko Statystyka 6 marca / 28

Statystyka. Wykład 4. Magdalena Alama-Bućko. 19 marca Magdalena Alama-Bućko Statystyka 19 marca / 33

Analiza współzależności zjawisk

Podstawy opracowania wyników pomiarów z elementami analizy niepewności statystycznych

Temat: SZACOWANIE NIEPEWNOŚCI POMIAROWYCH

MIARY KLASYCZNE Miary opisujące rozkład badanej cechy w zbiorowości, które obliczamy na podstawie wszystkich zaobserwowanych wartości cechy

Wstęp do zarządzania projektami

Procesowa specyfikacja systemów IT

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

ANALIZA JAKOŚCIOWA I ILOŚCIOWA TESTÓW SZKOLNYCH MATERIAŁ SZKOLENIOWY

W1. Wprowadzenie. Statystyka opisowa

Przedmowa Wykaz symboli Litery alfabetu greckiego wykorzystywane w podręczniku Symbole wykorzystywane w zagadnieniach teorii

Statystyka opisowa. Literatura STATYSTYKA OPISOWA. Wprowadzenie. Wprowadzenie. Wprowadzenie. Plan. Tomasz Łukaszewski

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Statystyka. Rozkład prawdopodobieństwa Testowanie hipotez. Wykład III ( )

Porównywanie populacji

LABORATORIUM Z FIZYKI

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Statystyka matematyczna. dr Katarzyna Góral-Radziszewska Katedra Genetyki i Ogólnej Hodowli Zwierząt

ANALIZA SPRZEDAŻY: - struktura

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński

PDF created with FinePrint pdffactory Pro trial version

Statystyka SYLABUS A. Informacje ogólne

MODELE LINIOWE. Dr Wioleta Drobik

Wprowadzenie do analizy korelacji i regresji

Importowanie danych do SPSS Eksportowanie rezultatów do formatu MS Word... 22

Zadania ze statystyki cz.8. Zadanie 1.

Po co nam charakterystyki liczbowe? Katarzyna Lubnauer 34

Wykład 1. Podstawowe pojęcia Metody opisowe w analizie rozkładu cechy

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Monitoring procesów z wykorzystaniem systemu ADONIS

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Statystyka i analiza danych Wstępne opracowanie danych Statystyka opisowa. Dr Anna ADRIAN Paw B5, pok 407 adan@agh.edu.pl

Stanisław Cichocki Natalia Nehrebecka. Wykład 7

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Statystyka w pracy badawczej nauczyciela Wykład 3: Analiza struktury zbiorowości statystycznej. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

STATYSTYKA MATEMATYCZNA

RAPORT ZBIORCZY z diagnozy umiejętności matematycznych

Inżynieria oprogramowania II

Z poprzedniego wykładu

5. WNIOSKOWANIE PSYCHOMETRYCZNE

1 oznacza: Co za koszmar! Co ten przedmiot. 5 Ale fajnie! Na pewno nauczę się mnóstwo ZADANIE 1. Proszę określić swój poziom entuzjazmu w.

Sposoby opisu i modelowania zakłóceń kanałowych

SYLABUS. Nazwa jednostki prowadzącej Wydział Matematyczno Przyrodniczy Centrum Mikroelektroniki i Nanotechnologii

Statystyczne metody analizy danych

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych. Wykład tutora na bazie wykładu prof. Marka Stankiewicza

weryfikacja hipotez dotyczących parametrów populacji (średnia, wariancja)

Sprawdzenie narzędzi pomiarowych i wyznaczenie niepewności rozszerzonej typu A w pomiarach pośrednich

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Transkrypt:

Testowanie oprogramowania Adam Roman Instytut Informatyki UJ Wykład 11 inżynieria jakości oprogramowania cz. I podstawy teorii pomiarów metryki rozmiaru: LOC metryki rozmiaru: FP 1/50

Zagadnienia inżynierii jakości INŻYNIERIA JAKOŚCI OPROGRAMOWANIA 1. podstawy teorii pomiarów 2. metryki wolumenowe 3. metryki złożoności 4. estymacja pracochłonności 5. defekty i metryki defektów 6. pomiar i predykcja niezawodności oprogramowania 7. czas odpowiedzi i dostęność 8. pomiar postępu 9. benchmarking 10. efektywne prezentowanie dla managementu 2/50

Wstęp do inżynierii jakości 3/50

Raport CHAOS 2012 statystyki dla projektów IT 4/50

Potrzeby Inżynierowie oprogramowania muszą posiadać umiejętności estymacji i pomiaru, tzn.: rozumieć czynności i ryzyka w rozwoju oprogramowania przewidywać i kontrolować działania zarządzać ryzykami dostarczać niezawodności zarządzać proaktywnie aby uniknąć kryzysów Aby przewidywać i dobrze kontrolować musisz mierzyć Aby rozumieć postęp w rozwoju musisz mierzyć Aby zrozumieć i ocenić jakość musisz mierzyć 5/50

Co mierzyć? (1) Istnieje wiele charakterystyk oprogramowania. Należy zdefiniować program metryk. Aby to zrobić, należy odpowiedzieć sobie na następujące pytania: kto jest klientem dla tych metryk? jakie są cele klientów dotyczące mierzonego produktu, procesu, zasobów? jakie metryki pokażą czy cel został osiągnięty? 6/50

Co mierzyć? (2) Metoda 1: Goal Question Metric (GQM) Metoda podana przez Basiliego (2002), podejście top-down GOAL (cel) zidentyfikuj cel dla produktu / procesu / zasobu. Ten cel chce osiągnąć klient. QUESTION (pytanie) określ pytanie/pytania, które scharakteryzują metodę osiągnięcia celu METRIC (metryka) zdefiniuj metrykę/metryki, które dostarczą ilościowej odpowiedzi na pytanie 7/50

Co mierzyć? (3) Metoda 1: Goal Question Metric (GQM) - przykład GOAL (cel) dostarczyć produkt który spełni oczekiwania klienta co do funkcjonalności QUESTION (pytanie) jak bardzo dostarczony program odchyla się od wymagań klienta? METRIC (metryka) liczba defektów polowych, albo: satysfakcja klienta (ankieta) 8/50

Co mierzyć? (4) Metoda 1: Goal Question Metric (GQM) rozszerzenie GOAL QUESTION METRIC MECHANISM (mechanizm) kto odpowiedzialny za zbieranie danych i raportowanie, jak często, jaka infrastruktura będzie do tego potrzebna? 9/50

Co mierzyć? (5) Metoda 2: Decision Maker Model metoda skupia się na podejmowaniu decyzji projektowych klientem jest osoba podejmująca decyzje określa się potrzeby osoby podejmującej decyzje (mogą się zmieniać w czasie) metoda zgodna z GQM potrzeby informacyjne DECYZJE PROJEKTOWE MIARY PROJEKTOWE produkty informacji (dane) 10/50

Co mierzyć? (6) Metoda 3: Metryki oparte na standardach Istnieje wiele generycznych standardów inżynierii oprogramowania dla zbiorów metryk Np. model dojrzałości SEI wykorzystuje metryki: rozmiar systemu czas trwania projektu wysiłek defekty produktywność Inne przykładowe standardy: TL9000 dla telekomunikacji, EIC 60880:1986-09 dla elektrowni jądrowych itd. Wiele organizacji posiada swoje własne programy metryk (Motorola, IBM). 11/50

Dlaczego pomiary są trudne? Modele pomiarów 12/50

Dlaczego pomiary są trudne ile linii kodu ma poniższy program? /* Strncat() appends up to count characters from string src to string dest, and then appends a terminating null character. If copying takes place between objects that overlap, the behavior is undefined. */ char *strncat(char *dest, const char *src, size_t count) { char *temp = dest; if (count) { while (*dest) dest++; while ((*dest++ = *src++)) { if (--count == 0) { *dest = \0 ; break; } } } return temp; } 13/50

Dlaczego pomiary są trudne ile linii kodu ma poniższy program? /* Strncat() appends up to count characters from string src to string dest, and then appends a terminating null character. If copying takes place between objects that overlap, the behavior is undefined. */ char *strncat(char *dest, const char *src, size_t count) { char *temp = dest; if (count) { while (*dest) zwykle dest++; while ((*dest++ = *src++)) { rozrzut if (--count == 0) { pomiędzy *dest = \0 ; break; 11 a 19 } } } return temp; } 14/50

Wyzwania pomiarów wiele rzeczy które chcemy mierzyć wydają się niemierzalne Jak zmierzyć złożoność programu? Co w ogóle oznacza złożoność? Jak zmierzyć produktywność? Jeśli ktoś napisze 100 linii kodu w 2 godziny ale program ma 5 defektów, czy to jest rozsądna produktywność? Czym jest produktywność? A jeśli ktoś ten sam program napisze w jednej linijce, w jedną godzinę, jaka jest jego produktywność? Czyja produktywność jest lepsza? 15/50

Modele pomiarów (1) klucz do mierzenia niemierzalnego Model = abstrakcja realnego obiektu badań Typy modeli: tekstowe (słowa) diagramatyczne (rysunki) algorytmiczne (liczby) 16/50

Modele pomiarów (2) modele tekstowe Najmniej efektywne, ale najpowszechniejsze. Przykład model rozwoju oprogramowania: wysiłek czas wymagany dla rozwoju produktu, wyrażony jako wzrost czasu rozwoju (np. staff months/hours); generalnie wysiłek jest funkcją rozmiaru i skutkuje kosztem cechy wymagania produktu do stworzenia rozmiar wielkość tworzonego produktu; generalnie rozmiar jest funkcją cech defekty niekompletność produktu; są funkcją rozmiaru i harmonogramu harmonogram łączny czas tworzenia; czasy zakończenia dla głównych kamieni milowych; harmonogram jest funkcją wysiłku i zasobów zasoby liczba deweloperów przydzielonych do rozwoju produktu Każdy element jasny i łatwy do zrozumienia Trudno zwizualizować zależności pomiędzy nimi 17/50

Modele pomiarów (3) modele diagramatyczne Mogą być bardzo potężne. Pozwalają modelować encje, zależności między nimi i ich dynamikę. Przykład (prostego) modelu diagramatycznego dla modelu rozwoju oprogramowania: Koszt Cechy Zasoby Wysiłek Rozmiar Harmonogram Defekty 18/50

Modele pomiarów (4) modele algorytmiczne Zwane też parametrycznymi. Zwykle bardzo potężne, gdyż w jasny sposób wyrażają ilościowe relacje pomiędzy encjami. Przykłady: Wysiłek = Czas * Zasoby % Defektów Znalezionych w Jednym Cyklu = 30% defektów pozostałych w produkcie Wysiłek = A * (RozmiarProgramu) B + C, gdzie A, B, C to empirycznie wyznaczone stałe 19/50

Meta-model dla metryk KONCEPT abstrakcja DEFINICJA świat empiryczny DEFINICJA OPERACYJNA RZECZYWISTY POMIAR 20/50

Meta-model dla metryk abstrakcja KONCEPT DEFINICJA czas odpowiedzi średni czas odpowiedzi systemu na wejście świat empiryczny DEFINICJA OPERACYJNA RZECZYWISTY POMIAR średnia z (czas początku odpowiedzi czas naciśnięcia klawisza Enter) średnia z typowej godziny (czas transmisji + czas na serwerze + czas do wyświetlenia) 21/50

Wstęp do teorii pomiaru 22/50

Wprowadzenie do teorii pomiaru Teoria pomiaru pozwala poprawnie definiować pomiary i metryki oraz używać analizy statystycznej na zmierzonych danych Przykład: wyniki ankiety satysfakcji klienta dotyczącej wsparcia klienta. Możliwe odpowiedzi: 1 bardzo zadowolony 2 zadowolony 3 średnio zadowolony 4 niezadowolony 5 bardzo niezadowolony Średnia = 3.0. Czy to oznacza, że mamy dobre wsparcie klienta? Czy wystarczy poprawić je tylko trochę? 23/50

Wprowadzenie do teorii pomiaru Teoria pomiaru pozwala poprawnie definiować pomiary i metryki oraz używać analizy statystycznej na zmierzonych danych Przykład: wyniki ankiety satysfakcji klienta dotyczącej wsparcia klienta. Wyniki ankiety: 1 bardzo zadowolony 10 odpowiedzi (50%) 2 zadowolony 0 odpowiedzi (0 %) 3 średnio zadowolony 0 odpowiedzi (0 %) 4 niezadowolony 0 odpowiedzi (0 %) 5 bardzo niezadowolony 10 odpowiedzi (50%) Średnia = 3.0. Czy to oznacza, że mamy dobre wsparcie klienta? Czy wystarczy poprawić je tylko trochę? Nie. Tu branie średniej nie ma sensu. Teoria pomiaru pozwala zrozumieć wariancję, zakresy, typy błędów itd. używając narzędzi statystycznych 24/50

Skale pomiarowe (1) Która waga jest lepsza? 25/50

Skale pomiarowe (1) Która waga jest lepsza? Żadna. Każda mierzy INACZEJ (łazienkowa ma skalę absolutną, ale na większy błąd pomiaru) 26/50

Skale pomiarowe (2) 1. Skala nominalna 2. Skala porządkowa bardzo zadowolony zadowolony średnio zadowolony niezadowolony bardzo niezadowolony 3. Skala interwałowa 4. Skala stosunkowa 27/50

Miary tendencji centralnej Miary tendencji centralnej: średnia (μ) suma pomiarów dzielona przez ich liczbę (I, S) mediana wartość dzieląca posortowany zbiór na połowy (P, I, S) moda wartość występująca najczęściej (N, P, I, S) X = {1, 2, 2, 2, 3, 3, 5, 10} średnia ze zbioru X = (1+2+2+2+3+3+5+10)/8 = 3.5 mediana = 2.5 moda = 2 mediana to inaczej 50-ty percentyl albo 2-gi kwartyl inna nazwa mody: dominanta, wartość dominująca 28/50

Miary zmienności Miary zmienności: rozstęp różnica między wartością największą a najmniejszą odchylenie odległość od średniej wariancja miara rozproszenia, Var = (Deviations 2 )/N odchylenie standardowe (sd) pierwiastek z wariancji indeks wariancji (IV) opisuje pewność pomiaru, IV = sd/μ Moduł A: 10 KLOC, B: 24 KLOC, C: 50 KLOC Rozstęp = (50 10) KLOC = 40 KLOC Odchylenia: 84/3 KLOC = 28 KLOC. Dla A: 18, dla B: 4, dla C: 22 Wariancja = (324+16+484)/3=275. Odch std = 16.6 KLOC Indeks wariancji = 16.6/28 = 0.59 Im niższy IV, tym mniejsza wariancja (większa pewnośc pomiaru) 29/50

Wariancja przykład częstość rozkład X z mniejszą wariancją rozkład X z większą wariancją 30/50

Odpowiedniość i spójność pomiaru 31/50

Błąd losowy pomiaru mały błąd losowy duży błąd losowy 32/50

Błąd systematyczny pomiaru z błędem systematycznym bez błędu systematycznego 33/50

Błąd pomiaru - podsumowanie wartość rzeczywista średnia bias błąd losowy 34/50

Pomiar rozmiaru oprogramowania 35/50

Po co mierzyć rozmiar programu? Jak duży jest program? Jak duży jest w porównaniu do innych programów? Jak wiele wysiłku musimy włożyć, aby zbudować program? Jak jakość naszego programu wypada na tle innych projektów? Jak produktywni jesteśmy w porównaniu do innych projektów? 36/50

Dwa rodzaje rozmiaru oprogramowania ROZMIAR OPROGRAMOWANIA FIZYCZNY FUNKCJONALNY 37/50

Pomiar fizyczny LOC (1) Metoda prosta i niezawodna Wspierana narzędziami SEI opublikowało listę kontrolną pozwalającą precyzyjnie opisać metodę zliczania linii kodu Organizacje używają różnych wersji tej metryki, np.: NKLOC (non-commented thousand LOC LLOC (logical lines of code) 38/50

Pomiar fizyczny LOC (2) współczynnik produktywności języka Język QSM SLOC/FP min średnia mediana max Access 15 35 38 47 David Consulting Group Assembler 86 172 157 320 575 C 9 148 104 704 225 C++ 29 60 53 178 80 C# 51 59 59 66 Fortran 210 J2EE 40 60 50 61 Java 14 60 59 97 80 Powerbuilder 7 30 24 105 SQL 15 39 35 143 39/50

Pomiar fizyczny LOC (3) reużywany i refaktorowany kod Aby poprawnie mierzyć (i porównywać) produktywność i gęstość defektów, należy określić rozmiar kodu, który jest reużywany i refektorowany Np. klasyfikacja NASA: kod reużyty w sensie dosłownym kod lekko zmodyfikowany (<25%) kod silnie zmodyfikowany (>25%) kod nowy 40/50

Pomiar fizyczny LOC (4) długość specyfikacji i projektu Kusząca jest hipoteza, wg której rozmiar dokumentacji jest predyktorem rozmiaru kodu (a więc i wysiłku) Fenton & Pfleeger: korelacja zależy silnie od organizacji Miary: liczba stron liczba shalls ( system powinien ) 41/50

Pomiar funkcjonalny FP (1) pośrednia miara rozmiaru funkcjonalnego oprogramowania Problem z LOC: nie ma wiele wspólnego z tym, co program robi; klienta interesuje rozwiązanie, nie język/technologia Pomysł: mierzyć system wg tego co robi, a nie jak wewnętrznie to robi Co można mierzyć? wejścia wyjścia interfejsy bazy danych zapytania METODA PUNKTÓW FUNKCYJNYCH 42/50

Pomiar funkcjonalny FP (2) zliczanie punktów funkcyjnych wg IFPUG Adjusted FP Unadjusted FP Value Adjustment Factor AFP = UFP * (0.65 + 0.01*VAF) Cmpnt Smpl Avg Cplx Input 3 4 6 Output 4 5 7 Data file 7 10 15 Interface 5 7 10 Inquiry 3 4 6 (0-5) No. Charakterystyka 1 Komunikacja danych 2 Rozproszone dane/przetwarzanie 3 Cele wydajnościowe 14 Łatwość zmian 0 brak wpływu, 5 znaczny wpływ 43/50

Pomiar funkcjonalny FP (3) przykład: system bezpieczeństwa dla domu System składa się z 5 kontrolerów (dla: alarmów drzwi i okien; detektorów ruchu; panic buttons ; detektorów ognia; włącznika światła), kontrolera/monitora dla urządzenia (on-off) oraz bezprzewodowego urządzenia z kontrolerem Oszacować wysiłek dla budowy systemu. Załóż produktywność 10 FP/osobomiesiąc z odchyleniem std ±1 osobomiesiąc 44/50

Pomiar funkcjonalny FP (4) przykład: system bezpieczeństwa dla domu c.d. Panic button controler Door/Window Alarm 1 input 1 input System Config 1 internal file Main Processor 1 input 1 input 1 output Motion Detector Controller Fire Detector Controller 1 output 1 input/output Wireless Dial-out Device Controller Key Device Controller Light Activator/ Deactivator Ctrlr 45/50

Pomiar funkcjonalny FP (5) przykład: system bezpieczeństwa dla domu c.d. Simple Input = 5 Simple Output = 2 Simple Internal Database = 1 Medium Output (to Dial-out Controller) = 1 UFP = 3*5 + 4*2 + 7*1 + 5*1 = 15 + 8 + 7 + 5 = 35 VAF = 3+2+3+1+0+1+1+1+1+3+5+5+5+2 = 33 AFP = 35*(0.65 + 0.33) = 35*0.98 = 34.3 Liczba osobomiesięcy = 34.3/10 = 3.4 sd ±1 osobomiesięcy: 34.3/9 = 3.81, 34.3/11 = 3.12 Odpowiedź: Oczekiwany wysiłek: między 3.12 a 3.81 osobo/mc-y 46/50

Pomiar funkcjonalny FP (6) konwersja Punktów Funkcyjnych na rozmiar fizyczny Wykorzystuje współczynniki produktywności języka Np.: w przykładzie mieliśmy 35 FP. Ile linii kodu będzie miał program napisany w Javie? (średni SLOC/FP = 60) Odpowiedź: 60*35 = 2100 (2.1 KLOC) Pytanie który współczynnik produktywności wybrać? Np. QSM oparte o większą liczbę danych i nowsze niż te z David Consulting Group 47/50

Pomiar funkcjonalny FP (7) szacowanie czasu i zasobów na podstawie FP Modele wg. Jonesa: Czas = FP 0.4 [m-cy kalendarzowych] Zasoby = FP/150 (zasoby = deweloperzy, testerzy, QA, dokumentaliści, project managerowie, administratorzy baz danych) Wysiłek = Czas * Zasoby Dla czasu wykładnik przybiera postać od 0.32 dla prostych projektów do 0.45 dla skomplikowanych projektów. Wartość to czas od wymagań do dostarczenia oprogramowania 48/50

Pomiar funkcjonalny FP (8) szacowanie czasu i zasobów na podstawie FP c.d. Dla wcześniejszego przykładu (FP = 35): Czas = 35 0.32 = 3.12 m-cy Zasoby = 35/150 = 0.23 osób (!!!) Wysiłek = 3.12 * 0.23 = 0.72 osobomiesiąca Ad. zasoby: dobry przykład szacowań inżynierskich i estymacji Reguła dla zasobów zwykle nie działa dla małych projektów Ale i tak dobra metoda jako punkt wyjścia! 49/50

KONIEC 50/50