BYT 2005 Pomiar funkcjonalnosci oprogramowania

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Pomiar funkcjonalności

Pomiar funkcjonalności

oprogramowania

oprogramowania

KRZYSZTOF WYRZYKOWSKI

KRZYSZTOF WYRZYKOWSKI

S3131

S3131

Gr.522

Gr.522

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Wstęp

Wstęp

W 1979 roku Alan Albrecht opracował metodę
punktów funkcyjnych ( P F ). Opracowana przez
Albrechta metoda jest od roku 1984 rozwijana
przez międzynarodową grupę użytkowników
metody punktów funkcyjnych ( IFPUG ). Ideą tej
metody jest określenie rozmiaru funkcjonalnego
oprogramowania, z punktu widzenia
użytkownika, niezależnie od technologii użytej
do jego wykonania.

Podstawowe terminy :

FPA – Function Point Analisys

IFPUG – International Function Point Users

Group

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Co nieco o IFPUG

Co nieco o IFPUG

IFPUG jest organizacją ,która

IFPUG jest organizacją ,która

aktywnie przyczynia się do

aktywnie przyczynia się do

usprawniania metody FPA.

usprawniania metody FPA.

Propagowana, oraz aktywnie

Propagowana, oraz aktywnie

rozwijana znajduje zastosowanie na

rozwijana znajduje zastosowanie na

całym świecie. IFPUG zajmuje się

całym świecie. IFPUG zajmuje się

obecnie głównie opracowywaniem

obecnie głównie opracowywaniem

oraz publikacją nowych podręczników

oraz publikacją nowych podręczników

z kolejnymi wersjami FPA.

z kolejnymi wersjami FPA.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Obecnie metoda FPA jest najbardziej

Obecnie metoda FPA jest najbardziej

popularną metodą służącą do określania

popularną metodą służącą do określania

rozmiaru oprogramowania. Poza nią

rozmiaru oprogramowania. Poza nią

można wymienić także:

można wymienić także:

1.

1.

MkII FPA- Mark II FPA, nad której

MkII FPA- Mark II FPA, nad której

rozwojem czuwa United Kingdom

rozwojem czuwa United Kingdom

Software Association

Software Association

2.

2.

FPP – Full Functional Point, pod

FPP – Full Functional Point, pod

patronatem Common Software

patronatem Common Software

Measurment International Consorcium

Measurment International Consorcium

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Co nieco o procesie…

Co nieco o procesie…

Metoda FPA służy do szacowania

Metoda FPA służy do szacowania

funkcjonalności oprogramowania zarówno

funkcjonalności oprogramowania zarówno

w przypadku nowych jak i gotowych

w przypadku nowych jak i gotowych

projektów (modernizacja). Poprawnie

projektów (modernizacja). Poprawnie

stosowany proces FPA składa się z sześciu

stosowany proces FPA składa się z sześciu

kroków.

kroków.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Zdefiniowanie typu procesu liczenia punktów

Zdefiniowanie typu procesu liczenia punktów

funkcyjnych.

funkcyjnych.

Identyfikacja zakresu analizy i granic aplikacji.

Identyfikacja zakresu analizy i granic aplikacji.

Wyliczenie punktów funkcyjnych dla danych.

Wyliczenie punktów funkcyjnych dla danych.

Wyliczenie punktów funkcyjnych dla transakcji.

Wyliczenie punktów funkcyjnych dla transakcji.

Obliczenie współczynnika dopasowania wartości

Obliczenie współczynnika dopasowania wartości

Wyliczenie końcowej wartości punktów

Wyliczenie końcowej wartości punktów

funkcyjnych

funkcyjnych

Analiza punktów funkcyjnych

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

1.Typy zliczania punktów

1.Typy zliczania punktów

1) Dla nowych projektów, kiedy wszelkich

ocen dokonuje się na podstawie wymagań
funkcjonalnych przedstawionych przez
końcowego użytkownika oraz wymagań co
do konwersji danych.

2) Dotyczy przypadku modyfikacji

istniejącego oprogramowania, polegającej
na zmianie funkcjonalności

3) Pomiar istniejącej, pracującej aplikacji

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

2.Identyfikacja zakresu

2.Identyfikacja zakresu

analizy

analizy

Zakres analizy określa funkcjonalność, która podlega

oszacowaniu. Według IFPUG istnieją następujące

zasady dotyczące wyznaczania granic programu:
1) Granica zależy głównie od punktu widzenia i

potrzeb użytkownika. Użytkownik powinien określić

zakres i funkcjonalność.
2) Granice pomiędzy współpracującymi aplikacjami

powinny zależeć od ich funkcjonalności, nie od

ograniczeń technologicznych.
3) Ustanowiona granica powinna być niezależna od

zakresu analizy, z wyjątkiem takich niektórych zmian

funkcjonalności, których dodanie lub usunięcie

spowoduje zmianę granicy aplikacji.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.Wyliczanie punktów

3.Wyliczanie punktów

funkcyjnych dla danych

funkcyjnych dla danych

Na tym etapie należy zidentyfikować wszystkie

logiczne zbiory danych aplikacji (ILF i EIF) oraz

oszacować ich kompletność. Następnie trzeba

wyliczyć liczbę nieuzgodnionych punktów

funkcyjnych dla wszystkich ILF i EIF.

ILF (an internal logical file) – grupa logicznie powiązanych

danych, wymaganych, określonych przez użytkownika lub

danych kontrolnych utrzymywanych i działających w

granicach danej aplikacji. Dane kontrolne to dane

niezbędne do sterowania procesami aplikacji.
EIF (an external interface file) - określona przez

użytkownika grupa logicznie powiązanych danych lub

informacji kontrolnych odnoszących się do aplikacji, lecz

utrzymywanych w granicach innej aplikacji.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.1 Wyliczanie punktów

3.1 Wyliczanie punktów

funkcyjnych dla danych ( 2 )

funkcyjnych dla danych ( 2 )

Dla każdego ILF i EIF należy wyznaczyć liczbę

elementów danych (DET) oraz liczbę elementów

rekordów (RET).

RET (a record element type) – to podgrupa

danych w ILF lub EIF określona przez użytkownika,

może być opcjonalna lub obowiązkowa.

DET (a data element type) – to unikalne,

określone przez użytkownika, nie powtarzające

się pole w ILF lub EIF.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.2 Reguły wyznaczania

3.2 Reguły wyznaczania

Reguły wyznaczania RET:

licz jako RET każdą podgrupę danych ILF lub EIF
jeśli nie można wydzielić podgrup należy każdy ILF i EIF

policzyć jako jeden RET

Reguły obliczania DET:

jako DET należy liczyć każde unikalne, zidentyfikowane

przez użytkownika pole, będące elementem ILF lub EIF
jeśli dwie aplikacje korzystają z tych samych wewnętrznych

(ILF) lub zewnętrznych (EIF) logicznych zbiorów danych ale

odwołują się inaczej do podgrup danych to liczbę DET

należy liczyć stosownie do każdej aplikacji
każda grupa danych, która umożliwia relację z innym ILF lub

EIF musi zostać policzona jako jeden DET

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.3 Złożoność ILF oraz EIF

3.3 Złożoność ILF oraz EIF

Po obliczeniu dokładnej liczby RET i

DET określa się poziom tzw.
„funkcjonalnej kompletności” dla
każdego ILF oraz EIF.

Do określenia służy tabela

przedstawiona przez IFPUG.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.4 Tabele kompletności

3.4 Tabele kompletności

1 – 19

1 – 19

20 – 50

20 – 50

>= 51

>= 51

1

1

Niski

Niski

Niski

Niski

Średni

Średni

2-5

2-5

Niski

Niski

Średni

Średni

Wysoki

Wysoki

>=6

>=6

Średni

Średni

Wysoki

Wysoki

Wysoki

Wysoki

RET

DET

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.5 Liczba PF

3.5 Liczba PF

Na podstawie wyznaczonego poziomu

funkcjonalnej kompletności wyznacza
się ilość punktów funkcyjnych,
przypadających na każdy ILF i EIF,
zgodnie z tabelą IFPUG

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

3.6 Tabela PF dla EIF i ILF

3.6 Tabela PF dla EIF i ILF

Niski

Niski

Średni

Średni

Wysoki

Wysoki

EIF

EIF

5

5

7

7

10

10

ILF

ILF

7

7

10

10

15

15

O wyniku decyduje suma punktów funkcyjnych przypadająca na każdy EIF oraz ILF

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

4. Wyliczanie PF dla transakcji

4. Wyliczanie PF dla transakcji

przetwarzających dane

przetwarzających dane

Podczas wyliczania PF określamy funkcje transakcyjne, czyli EI, EO, EQ oraz ich

„kompletności” ,a następnie wyliczamy liczbę punktów funkcyjnych dla każdej z

funkcji oddzielnie ( ponownie korzystamy z tabel IFPUG)

EI (external inputs) – to proces elementarny, któremu są poddawane dane lub dane

kontrolne przychodzące spoza granic aplikacji. Podstawowym celem EI jest

działanie na/z jednym lub więcej ILF zmieniając jego dane lub/i zachowanie

systemu.

EO (external outputs) – to proces elementarny, który wysyła dane lub dane

kontrolne poza granice aplikacji. Podstawowym celem EO jest prezentacja
informacji użytkownikowi w procesie wyszukiwania tychże. Proces powinien
zawierać przynajmniej formułę lub wzór matematyczny wyliczający wartość
danych lub generować wyprowadzane dane. EO może również działać na/z
jednym lub więcej ILF zmieniając jego dane lub/i zachowanie systemu.

EQ (external inquiry) - to proces elementarny, który wysyła dane lub dane kontrolne

poza granice aplikacji. Podstawowym celem EQ jest prezentacja informacji
użytkownikowi poprzez wyszukanie danych z ILF lub EIF, ale bez korzystania ze
wzorów matematycznych oraz bez generowania danych. W trakcie działania EQ
nie może nastąpić modyfikacja ILF i zmiana zachowania systemu.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

4.2 Parametry FTR oraz DET

4.2 Parametry FTR oraz DET

Aby wyznaczyć poziom funkcjonalnej

kompletności funkcji transakcyjnych
trzeba wcześniej obliczyć wartość
FTR i DET.

FTR (a file type referenced) to inaczej:
1) ILF czytany lub modyfikowany przez funkcję transakcyjną
2) EIF, z którego odczytujemy informacje

Reguły liczenia FTR są następujące:
1) Licz każdy modyfikowany ILF jako jeden FTR
2) Każdy czytany ILF i EIF licz jako jeden FTR
3) Każdy plik licz tylko raz

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

4.3 Złożoność EI, EO, EQ

4.3 Złożoność EI, EO, EQ

Na podstawie wyznaczonych liczb FTR i DET,

wyznacza się poziom funkcjonalnej
kompletności wg tabeli:

1 - 4

1 - 4

5 - 15

5 - 15

>=16

>=16

1 - 5

1 - 5

6 - 19

6 - 19

>=20

>=20

0 –1

0 –1

0 – 1

0 – 1

niski

niski

niski

niski

średni

średni

2

2

2 – 3

2 – 3

niski

niski

średni

średni

wysoki

wysoki

>=3

>=3

>=4

>=4

średni

średni

wysoki

wysoki

wysoki

wysoki

FTR

DET

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

4.4 Liczba punktów

4.4 Liczba punktów

funkcyjnych

funkcyjnych

Gdy znamy już kompletność funkcji
transakcyjnych, można wyznaczyć ilość PF

niski

niski

średni

średni

wysoki

wysoki

EI, EQ

EI, EQ

3

3

4

4

6

6

EO

EO

4

4

5

5

7

7

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

5. Obliczenie współczynnika

5. Obliczenie współczynnika

dopasowania wartości VAF

dopasowania wartości VAF

VAF (the value adjustment factor) –
jest oparty na 14 charakterystykach
GSC, których zadaniem jest
oszacowanie funkcjonalności liczonej
aplikacji.
GSC to kompedium zawierające zbiór
pytań, które pozwalają na całkowite
oszacowanie złożoności systemu,
poprzez określenie pewnych cech.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

5.1. W

5.1. W

spółczynnik

spółczynnik

dopasowania wartości

dopasowania wartości

Aby obliczyć współczynnik dopasowania

wartości należy:
1) Oszacować każdą z 14 charakterystyk,

wynik natomiast umieść na skali od 1 do 5, co

odpowiada określeniu tzw. stopnia wpływu DI
2) Policzyć całkowity stopień wpływu TDI

sumując i dodać do nich wynik z punktu 1.
3) Następnie policzyć VAF, korzystając z

gotowego wzoru:

VAF = (TDI * 0,01) + 0,65

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

6.Obliczanie końcowej ilości

6.Obliczanie końcowej ilości

punktów funkcyjnych

punktów funkcyjnych

W zależności od typu zliczania punktów ( przyjętym

w punkcie pierwszym) wyliczamy końcowe PF

według trzech wzorów:

Projekt nowego systemu:

DFP = (UFP + CFP) * VAF

Modyfikacja systemu:

EFP = [(ADD + CHGA + CFP) * VAFA] + DEL * (VAFB)

Wymiarowanie istniejącego systemu:

Wymiarowanie istniejącego systemu:

AFP = AD * VAF

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

6.1 Zmienne

6.1 Zmienne

DFP (development project function point count) - całkowita liczba punktów

funkcyjnych dla nowego projektu
UFP (unadjusted function point) – nieuzgodniona liczba punktów

funkcyjnych dla funkcjonalności aplikacji, dostępnej dla użytkownika

końcowego po instalacji
CFP (conversion function point) – nieuzgodniona liczba punktów

funkcyjnych wynikająca z konwersji danych
EFP (enhancement project function point) – końcowa wartość punktów

funkcyjnych w wypadku modyfikacji aplikacji.
ADD - nieuzgodniona liczba punktów funkcyjnych odzwierciedlająca te

funkcje, które będą dodane w procesie modyfikacji.
CHGA - nieuzgodniona liczba punktów funkcyjnych liczona dla modyfikacji

istniejących funkcji.
VAFA – współczynnik VAF liczony po modyfikacji.
DEL - nieuzgodniona liczba punktów funkcyjnych odzwierciedlająca te

funkcje, które będą usunięte w procesie modyfikacji.
VAFB - współczynnik VAF liczony przed modyfikacji
AFP – końcowa wartość punktów funkcyjnych
AD - nieuzgodniona liczba punktów funkcyjnych wynikająca z

funkcjonalności aplikacji, dostępnej dla użytkownika końcowego.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Zalety FPA

Zalety FPA

 Możliwość stosowana bez względu na sposób

implementacji.

 Można stosować ją do szacowania całych

systemów lub tylko poszczególnych modułów.

 Jest stosowana do szacowania nowego

oprogramowania jak i modernizacji istniejącego

 Jest to metoda bardzo popularna, a więc wiele

narzędzi programistycznych na FPA bazuje.

background image

FPA - The Function Point Analysis

FPA - The Function Point Analysis

Wady FPA

Wady FPA

-poprawne wyliczenie punktów funkcyjnych

wymaga dużo czasu, więc jest dość

kosztowne
-nie jest stosowana automatyzacja FPA
-wyniki obliczeń dla systemów mniejszych

niż 15 FP, mogą być niereprezentatywne
-brak powiązań między standardem IFPUG a

innymi wersjami FPA
-FPA jest metodą zakładającą tzw „górny

limit złożoności” – brak efektywności w

systemach o dużych encjach


Document Outline


Wyszukiwarka

Podobne podstrony:
BYT 2005 Cykl zyciowy oprogramowania
BYT 2005 Testowanie oprogramowania
Optyka inżynierska spra 3 Pomiar funkcji przenoszenia kontrastu
BYT 2005 Functional size measurement
BYT 2005 Software testing
BYT 2005 Role w zespole projektowym
byt-opracowanie-pytan, byt-notatki-wyklad, Dobre oprogramowanie powinno być:
BYT 2005 Microsoft Office Project 2003 Professional
BYT 2005 Komunikacja
513, BYT Wymagania, Wymagania funkcjonalne
BYT 2003 Szacowanie zlozonosci oprogramowania v1
BYT 2005 Project management
BYT 2004 Szacowanie zlozonosci oprogramowania v2
BYT 2005 Komunikacja w zespole projektowym
Optyka inżynierska spra 3 Pomiar funkcji przenoszenia kontrastu
Klasyfikacja oprogramowania ze względu na jego funkcje, edukacja i nauka, Informatyka
WYZNACZANIE FUNKCJI TERMODYNAMICZNYCH REAKCJI Z POMIARÓW SEM OGNIWA, sprawozdanie SEM
Funkcje komputera w poszczególnych pozycjach MFA, OPROGRAMOWANIE MOTORYZACJA

więcej podobnych podstron