metryki

background image

Funkcyjny pomiar

oprogramowania

Funkcyjny pomiar

oprogramowania

Katarzyna Nowakowska

Mateusz Górnisiewicz

Budowa i Integracja

Systemów Informacyjnych

Mariusz Trzaska

background image

slide 2

O czym będziemy mówić?

O czym będziemy mówić?

Ogólnie o metrykach
Miary oprogramowania
Techniki estymacji
Model COCOMO
Metoda Punktów Funkcyjnych
Metoda Punktów Przypadków

Użycia

background image

slide 3

Metryki

Metryki

Miary

– Wymiarowanie informacji (np. wielkość, jakość oprogramowania, …))

Po co mierzyć?

– Umożliwia porównywanie
– Pozwala na szacowanie kosztów, czasu, niezbędnych zasobów
– Ułatwia kontrolę nad projektem („nie da się kontrolować niemierzalnego”)

background image

slide 4

Co można mierzyć?

Co można mierzyć?

Procesy

– Czas, nakład pracy

Produkty

– Rozmiar, modularność

Zasoby

– Cena, ilość

background image

slide 5

Metryki Oprogramowania

Metryki Oprogramowania

Mogą wskazywać:

– Rozmiar projektu

• KLOC (tysiąc linii kodu)
• Punkty Funkcyjne (Function Points – FP)

– Jakość oprogramowania

• prawidłowość
• możliwość powtórnego użycia
• użyteczność
• niezawodność

background image

slide 6

Synteza metryk

Synteza metryk

Metryki mogą być:

– „Surowymi” wskaźnikami (np. KLOC)
– Wskaźnikami wywiedzionymi (syntetycznymi)

• Średni czas pomiędzy błędami
• Koszt

background image

slide 7

Miary jakości produktu

Miary jakości produktu

Poprawność

– Błędy/moduł

• Z punktu widzenia programisty
• Może być mierzone przed ukończeniem produktu
• Niektóre moduły mogą być priorytetowe

background image

slide 8

Miary jakości produktu

Miary jakości produktu

Użyteczność

– Średni czas wykonywania zadania

• Miara względnie obiektywna, zależna jednak od zdolności użytkowników

– Punktowa ocena łatwości używania

• Dobra miara satysfakcji użytkownika, jednak bardzo subiektywna

background image

slide 9

Miary jakości produktu

Miary jakości produktu

Łatwość wprowadzania zmian

– Średni czas naprawy błędu

• Miara dość obiektywna, zależna jednak od zdolności programistów

– Złożoność cyklometryczna

• Szacuje łatwość zmiany produktu jeszcze przed pojawieniem się konieczności wprowadzenia zmian

- Wypadkowa wielu różnych czynników
(np. jakości dokumentacji)

background image

slide 10

Miary ponownej używalności

Miary ponownej używalności

Ilość użytych niezmienionych modułów

– Łatwo mierzalne
– Nie ukazuje jednak łatwości modyfikacji (np. potrzeby jedynie drobnej zmiany do powtórnego użycia modułu)

Stosunek ilości nowych do wszystkich linii kodu

– Niska wartość oznacza łatwość ponownego użycia
– Miara daje fałszywe rezultaty, gdy produkt używa całości starego i dużych ilości nowego kodu

background image

slide 11

Miara modularności

Miara modularności

Średnia wielkość modułu wyrażona w ilości linii kodu

– Niska wartość zwykle oznacza wysoką modularność
– Silnie zależne od typu aplikacji, jako że niekiedy właściwe mogą być obszerne moduły o niskim stopniu złożoności.

background image

slide 12

Miara wielkości - KLOC

Miara wielkości - KLOC

Tysiące linii kodu

– Łatwe do zmierzenia

W mierzeniu produktywności

– Nie wiadomo, czy dana linia jest wolna od błędu
– Wydajniejsi programiści mogą potrzebować mniejszej liczby linii

W mierzeniu rozmiaru projektu

– Zależne od użytego języka programowania

background image

slide 13

Szacowanie ilości linii kodu

Szacowanie ilości linii kodu

Strukturalna dekompozycja projektu – podział na moduły
Programista przedstawia trzy liczby:

– Pesymistyczna szacowana ilość linii
– Średnia szacowana ilość linii
– Optymistyczna szacowana ilość linii
– Można użyć współczynnika wagi opartego na jakości poprzednich estymacji

background image

slide 14

Szacowanie ilości linii kodu

Szacowanie ilości linii kodu

W =Faktyczny KLOC / szacowany KLOC
Przykład: W=200/80 = 2.5
W przyszłych projektach

– KLOC = W x szacowany KLOC
– Szacowany KLOC = 100
– Ostatecznie KLOC szacowany = 100 x 2.5 = 250

background image

slide 15

Punkty obiektowe

Punkty obiektowe

Zliczenie liczby

– ekranów
– raportów
– Komponentów języków 3. generacji (3GL)

Dla każdego używa się następujących czynników wagowych:
Typ obiektu

prosty

średni skomplikowany

Ekran 1

2

3

Raport

2

5

8

Komponent 3GL

10

background image

slide 16

Techniki estymacji

Techniki estymacji

Na podstawie objętości specyfikacji
Na podstawie projektu systemu
Powyższe metody silnie zależne od stylu zapisu specyfikacji i projektu systemu

background image

slide 17

Inne techniki estymacji

Inne techniki estymacji

Estymacja bottom-up i top-down
Opinia ekspercka
Estymacja przez analogię
Modele kosztorysowe

background image

slide 18

COCOMO

(Constructive Cost Model –

Strukturalny Model Kosztu)

COCOMO

(Constructive Cost Model –

Strukturalny Model Kosztu)

Model podstawowy

– Niewielka wiedza n/t projektu

Model pośredni

– Po określeniu wymagań

Model zaawansowany

– Po ukończeniu produktu

background image

slide 19

COCOMO

COCOMO

Podstawowy wzór:
E = aS

b

F

– E = nakład w osobomiesiącach
– S = objętość wyrażona w tysiącach linii kodu źródłowego (KDSI)
– F = Czynnik korygujący (=1 in basic model)

Klasa

a

b

Łatwy

2.4 1.05

Niełatwy 3.6 1.20
Trudny

3.0 1.12

background image

slide 20

COCOMO

COCOMO

Proponowana wielkość zespołu (w osobomiesiącach):

    Przedsięwzięcie łatwe: Czas [miesiące] = 2,5*Nakład^0,32
    Przedsięwzięcie niełatwe: Czas [miesiące] = 2,5*Nakład^0,35
    Przedsięwzięcie trudne: Czas [miesiące] = 2,5* Nakład^0,38

Czynniki modyfikujące:   

1.

wymagania wobec niezawodności systemu,

2.

rozmiar bazy danych w stosunku do rozmiaru kodu,

3.

złoźoność systemu: złoźoność struktur danych, złoźoność algorytmów, komunikacja z innymi systemami, stosowanie obliczeń równoległych,

4.

wymagania co do wydajności systemu,

5.

ograniczenia pamięci,

6.

zmienność sprzętu i oprogramowania systemowego tworzącego środowisko pracy systemu.

background image

slide 21

COCOMO

COCOMO

Hierarchia

– Poziom prosty – rozmiar kodu źródłowego
– Poziom pośredni – rozmiar kodu źródłowego oraz inne czynniki (subiektywna ocena dostępnych zasobów, skomplikowania produktu i .t. p.)
– Poziom zaawansowany – poziom pośredni, wraz z analizą wpływu czynników na poszczególne fazy projektu

background image

slide 22

Punkty Funkcyjne (FP)

Punkty Funkcyjne (FP)

Próba zmierzenia funkcjonalności dostarczanej przez oprogramowanie
W przypadku produktywności

– Mierzą funkcjonalność efektu końcowego – zamiast wejściowej ilości linii kodu
– Wielu programistów może pracować na ten sam Punkt Funkcyjny
– Złożona metoda pomiaru

background image

slide 23

Szacowanie przez Punkty

Funkcyjne

Szacowanie przez Punkty

Funkcyjne

x Czynnik Wagowy

Wejścia

użytkownika

3

4

6

Wyjścia

użytkownika

4

5

7

Zapytania

zewnętrzne

3

4

6

Zbiory danych

wewnętrznych

7

10

15

Zbiory danych

zewnętrznych

5

7

10

Prosty

Średni

Złożony

Suma

background image

slide 24

Szacowanie przez Punkty

Funkcyjne

Szacowanie przez Punkty

Funkcyjne

Dane wejściowe:

–     Wejścia użytkownika: obiekty wejściowe wpływających na dane w systemie.
–     Wyjścia użytkownika: obiekty wyjściowe /wiązane z danymi w systemie.
–     Zbiory danych wewnętrzne: liczba wewnętrznych plików roboczych.
–     Zbiory danych zewnętrzne: liczba plików zewnętrznych zapełnianych przez produkt programowy.
–     Zapytania zewnętrzne: interfejsy z otoczeniem programu.

background image

slide 25

Szacowanie przez Punkty

Funkcyjne

Szacowanie przez Punkty

Funkcyjne

FP = suma x (0.65 + 0.01

Ci)

    występowanie urządzeń komunikacyjnych
    rozproszenie przetwarzania
    długość czasu oczekiwania na odpowiedź systemu
    stopień obciążenia sprzętu istniejącego
    częstotliwość wykonywania dużych transakcji
    wprowadzanie danych w trybie bezpośrednim
    wydajność użytkownika końcowego
    aktualizacja danych w trybie bezpośrednim
    złożoność przetwarzania danych
    możliwość ponownego użycia programów w innych zastosowaniach
    łatwość instalacji
    łatwość obsługi systemu
    rozproszenie terytorialne
    łatwość wprowadzania zmian - pielęgnowania systemu

Kompleksowy

Czynnik

Korygujący

background image

slide 26

Szacowanie przez Punkty

Funkcyjne

Szacowanie przez Punkty

Funkcyjne

Szacowanie liczby linii kodu w aplikacji

– 1 FP = 125 instrukcji w C

background image

slide 27

Użyteczność Punktów

Funkcyjnych

Użyteczność Punktów

Funkcyjnych

Szacowanie czasu projektu

– czas = FP x czas na jeden FP

Szacowanie ilość błędów

– Ilość błędów na jeden FP

Umowy

– Mogą zawierać cenę za jeden FP
– Śledzenie postępu – ile FP zostało już spełnionych

background image

slide 28

Użyteczność Punktów

Funkcyjnych

Użyteczność Punktów

Funkcyjnych

    Ocena złożoności realizacji systemów
    Audyt projektów
    Wybór systemów informatycznych funkcjonujących w przedsiębiorstwie do reinżynierii (wg koszt utrzymania/FPs)
    Szacowanie liczby testów
    Ocena jakości pracy i wydajności zespołów ludzkich
    Ocena stopnia zmian wprowadzanych przez użytkownika na poszczególnych etapach budowy systemu informatycznego
    Prognozowanie kosztów pielęgnacji i rozwoju systemów
    Porównanie i ocena różnych ofert dostawców oprogramowania pod kątem merytorycznym i kosztowym

background image

slide 29

Metoda Punktów Przypadków

Użycia – Use Case Points (UCP)

Metoda Punktów Przypadków

Użycia – Use Case Points (UCP)

Bazuje na diagramach Use Case
Wymaga:

– Starannego modelowania aktorów
– Ostrożności w oznaczaniu powiązań

między poszczególnymi przypadkami
użycia

– Odpowiedniego poziomu

szczegółowości modelu

background image

slide 30

Metoda Punktów Przypadków

Użycia

Metoda Punktów Przypadków

Użycia

Klasyfikacja aktorów

Aktor prosty - zewnętrzny wobec analizowanego, komunikujący

się przez jeden z interfejsów programistycznych (Waga – 1)

Aktor średnio-złożony - system zewnętrzny, dostępny przez

protokół z rodziny TCP/IP, HTTP lub podobny; również zbiory

danych (Waga – 2)

Aktor złożony - zazwyczaj użytkownik końcowy, komunikujący

się z systemem poprzez interfejs graficzny lub stronę WWW

(Waga – 3)

Suma nieskorygowanych wag aktorów (UAW)

– Suma wszystkich aktorów, pomnożona przez współczynniki ich

wag

background image

slide 31

Metoda Punktów Przypadków

Użycia

Metoda Punktów Przypadków

Użycia

Klasyfikacja przypadków użycia

Prosty przypadek użycia – do trzech transakcji (Waga – 5)

Średnio-złożony przypadek użycia – od czterech do siedmiu

transakcji (Waga – 10)

– Złożony przypadek użycia – więcej niż siedem transakcji

(Waga – 15)

Możliwa również poprzez zliczenie klas potrzebnych

do obsługi przypadku

Prosty przypadek użycia - nie więcej niż pięć klas (Waga – 5)

Średnio-złożony przypadek użycia - od pięciu do dziesięciu klas

(Waga – 10)

Złożony przypadek użycia - powyżej dziesięciu klas (Waga –

15)

Suma nieskorygowanych wag przypadków użycia

(UUCW)

– Suma wszystkich przypadków, pomnożona przez współczynniki

ich wag

background image

slide 32

Metoda Punktów Przypadków

Użycia

Metoda Punktów Przypadków

Użycia

Modyfikacja przez czynniki techniczne

Technical Complexity Factor(TCF) = 0,6 + (0,01 * Wagowa suma

powyższych)

background image

slide 33

Metoda Punktów Przypadków

Użycia

Metoda Punktów Przypadków

Użycia

Modyfikacja przez czynniki środowiskowe

Environmental Factor(EF) = 1,4 + (-0,33 * Wagowa suma

powyższych)

background image

slide 34

Metoda Punktów Przypadków

Użycia

Metoda Punktów Przypadków

Użycia

Ostatecznie poszukiwany

rezultat

UCP = UUCP * TCF * EF

Przyjmuje się, że 1 UCP = 20

osobogodzin pracy programisty

background image

slide 35

Zakończenie

Zakończenie

Pytania?
Wątpliwości?


Document Outline


Wyszukiwarka

Podobne podstrony:
metryki
Metryka Koronna 1511
nalot metryka
Metryka, Stopa (metryka)
Inwentarz Metryki Koronnej, W, Rozmaitości
metryka strzałowa - przykład, Górnictwo i Geologia AGH, Technika Strzelnicza
5 Metryki jakosci cwiczenia id 40274
4 Metryki jakosci id 37754 Nieznany (2)
WYTYCZNE TECHNICZNE K-1.1 (1980 - Metryka mapy zasadniczej), geodezja, Prawo w geodezji
Metryka Koronna, W, Rozmaitości
Kamera - metryki, Geodezja i Kartografia, Fotografia
wzor metryki sprawy zalacznik do rozporzadzenia, kadry-i-awans
Metryka
metryka
Metryka Strzałowa (2)
METRYKA PRACY DYPLOMOWEJ, Seminarium dyplomowe

więcej podobnych podstron