• Nie Znaleziono Wyników

Pomiar funkcjonalności Pomiar funkcjonalności oprogramowania oprogramowania

N/A
N/A
Protected

Academic year: 2021

Share "Pomiar funkcjonalności Pomiar funkcjonalności oprogramowania oprogramowania"

Copied!
25
0
0

Pełen tekst

(1)

Pomiar funkcjonalności Pomiar funkcjonalności

oprogramowania oprogramowania

KRZYSZTOF WYRZYKOWSKI KRZYSZTOF WYRZYKOWSKI

S3131 S3131

Gr.522

Gr.522

(2)

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

(3)

Co nieco o IFPUG Co nieco o IFPUG

IFPUG jest organizacją ,która aktywnie IFPUG jest organizacją ,która aktywnie przyczynia się do usprawniania metody przyczynia się do usprawniania metody

FPA. Propagowana, oraz aktywnie FPA. Propagowana, oraz aktywnie

rozwijana znajduje zastosowanie na całym rozwijana znajduje zastosowanie na całym

świecie. IFPUG zajmuje się obecnie świecie. IFPUG zajmuje się obecnie

głównie opracowywaniem oraz publikacją głównie opracowywaniem oraz publikacją

nowych podręczników z kolejnymi nowych podręczników z kolejnymi

wersjami FPA.

wersjami FPA.

(4)

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ą można rozmiaru oprogramowania. Poza nią można

wymienić także:

wymienić także:

1.1. MkII FPA- Mark II FPA, nad której rozwojem MkII FPA- Mark II FPA, nad której rozwojem czuwa United Kingdom Software Association czuwa United Kingdom Software Association 2.2. FPP – Full Functional Point, pod patronatem FPP – Full Functional Point, pod patronatem

Common Software Measurment International Common Software Measurment International

Consorcium Consorcium

(5)

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 w funkcjonalności oprogramowania zarówno w przypadku nowych jak i gotowych projektów przypadku nowych jak i gotowych projektów

(modernizacja). Poprawnie stosowany proces (modernizacja). Poprawnie stosowany proces

FPA składa się z sześciu kroków.

FPA składa się z sześciu kroków.

(6)

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

(7)

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

(8)

2.Identyfikacja zakresu analizy 2.Identyfikacja zakresu 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.

(9)

3.Wyliczanie punktów funkcyjnych 3.Wyliczanie punktów funkcyjnych

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

(10)

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.

(11)

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

(12)

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.

(13)

3.4 Tabele kompletności 3.4 Tabele kompletności

1 – 19

1 – 19 20 – 5020 – 50 >= 51>= 51 11 NiskiNiski NiskiNiski ŚredniŚredni 2-52-5 NiskiNiski ŚredniŚredni WysokiWysoki

>=6

>=6 ŚredniŚredni WysokiWysoki WysokiWysoki

DETRET

(14)

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

(15)

3.6 Tabela PF dla EIF i ILF 3.6 Tabela PF dla EIF i ILF

Niski

Niski ŚredniŚredni WysokiWysoki

EIFEIF 55 77 1010

ILFILF 77 1010 1515

(16)

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

(17)

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

(18)

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 - 155 - 15 >=16>=16 1 - 5

1 - 5 6 - 196 - 19 >=20>=20 0 –10 –1 0 – 10 – 1 niskiniski niskiniski średniśredni

22 2 – 32 – 3 niskiniski średniśredni wysokiwysoki

FTR DET

(19)

4.4 Liczba punktów funkcyjnych 4.4 Liczba punktów funkcyjnych

Gdy znamy już kompletność funkcji

transakcyjnych, można wyznaczyć ilość PF niski

niski średniśredni wysokiwysoki EI, EQ

EI, EQ 33 44 66

EOEO 44 55 77

(20)

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.

(21)

5.1. W

5.1. W spółczynnik dopasowania spółczynnik dopasowania wartości

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

(22)

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

(23)

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.

(24)

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.

(25)

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

Cytaty

Powiązane dokumenty

PO WYBRANIU SPECJALIZACJI pokazuje się liczba wszystkich dostępnych specjalistów Z DANEJ SPECJALIZACJI z podziałem na województwa. pokazuje profile wszystkich

Kolejne 100 zł (pierwotnie 50 zł) w podzięce za lata spędzone w toruńskim klasztorze, miały przypaść zgromadzeniu benedyktynek. One też miały zadbać o modlitewne

Funkcjonowanie jednostek będących częścią składową systemu oświaty determinują także przepisy ustawy z dnia 19 lutego 2004 roku o systemie informacji oświatowej (Dz.U.

Zarządzanie relacjami z dostawcami Teamcenter upoważnia grupy zakupowe do zespołowej współpracy z osobami odpowiedzialnymi z opracowanie produktu oraz dostawcami. Dzięki

• zaprezentować, że lekarz ma dostęp do listy pacjentów, którzy mają zaplanowane wizyty i potwierdzili przybycie w danym dniu 5 Moduł umożliwia ponowne

Każdy IFL jest oceniany na podstawie ilości DET i RET a następnie na tej podstawie ustalana jest ilość nieskorygowanych

2) stopień funkojonalnośoi mieszkania powinien byó brany pod uwagę w czasie projektowania mieszkań, przy czym jego wartośó najniższa powinna byó określona w

• wybrać pacjenta na potrzeby zlecenia kwalifikacji i przejść do Listy zabiegów i uzupełnić Kwalifikację do zabiegu 18 Blok Operacyjny System musi umożliwiać dokonanie