Punkty funkcyjne

background image

Punkty funkcyjne

To takie proste

background image

Wejścia użytkownika: obiekty wejściowe wpływających na
dane w systemie
Wyjścia użytkownika: obiekty wyjściowe zwią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

Analiza Punktów Funkcyjnych

Metoda analizy punktów funkcyjnych (FPA), opracowana przez
Albrechta w latach 1979-1983 bada pewien zestaw wartości.
Łączy ona własności metody, badającej rozmiar projektu
programu z możliwościami metody badającej produkt
programowy.

Liczbę nie skorygowanych punktów funkcyjnych wylicza się na
podstawie formuły korzystając z następujących danych:

background image

Schemat aplikacji

3. Czarnecka-Chrobot Beata „Metoda

punktów funkcyjnych – bieżące standardy”

background image

Schemat obliczania PF

background image
background image

• 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

Korekcja Punktów

Funkcyjnych

background image
background image

VAF

k

k

k

1

14

VAF

k

k

k

1

14

FP

VAF UFP

( ,

,

)

065 001

FP

VAF UFP

( ,

,

)

065 001

kompleksowy współczynnik
korygujący

Punkty funkcyjne (FPs):

FP

UFP

( , .... , )

065 135

FP

UFP

( , .... , )

065 135

0

5

4

3

2

1

Wpływ

czynnika

Bez

wpływu

Bardzo

silny wpływ

Skorygowane Punkty

Funkcyjne

background image

Kolejność obliczeń Punktów

Funkcyjnych

Identyfikacja systemu
Obliczenie współczynnika korygującego
Wyznaczenie ilości zbiorów danych i ich

złożoności
Wyznaczenie ilości i złożoności elementów

funkcjonalnych (we, wy, zapytania)
Realizacja obliczeń
Weryfikacja
Raport, zebranie recenzujące

background image

Aplikacje a Punkty

Funkcyjne

1 FP  125 instrukcji w C
10 FPs - typowy mały program tworzony samodzielnie

przez klienta (1 m-c)

100 FPs - większość popularnych aplikacji; wartość

typowa dla aplikacji tworzonych przez klienta
samodzielnie (6 m-cy)

1,000 FPs - komercyjne aplikacje w MS Windows, małe

aplikacje klient-serwer (10 osób, ponad 12 m-cy)

10,000 FPs - systemy (100 osób, ponad 18 m-cy)
100,000 FPs - MS Windows’95, MVS, systemy militarne

background image

Punkty Funkcyjne a

pracochłonność

background image

Wykorzystanie 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

Punkty Funkcyjne a języki

baz danych

wg. Software Productivity Research

Typ języka lub
konkretny język

Access
ANSI SQL
CLARION
CA Clipper
dBase III
dBase IV
DELPHI
FOXPRO 2.5
INFORMIX
MAGIC
ORACLE
Oracle Developer 2000
PROGRESS v.4
SYBASE

Poziom języka

wg. SPR

8.5
25.0
5.5
17.0
8.0
9.0
11.0
9.5
8.0
15.0
8.0
14.0
9.0
8.0

Efektywność

LOC/FP

38
13
58
19
40
36
29
34
40
21
40
23
36
40

background image

wg. Software Productivity Research

Poziom języka

wg. SPR

1 - 3
4 - 8
9 - 15
16 - 23
24 - 55

>55

Średnia produktywność

FPs/osobomiesiąc

5 - 10
10 - 20
16 - 23
15 - 30
30 - 50
40 - 100

Punkty Funkcyjne a

wydajność zespołu

background image

Mocne strony stosowania FPA wg. Capers

Jones’a :

• FPA jest stosowana bez względu na używany

język programowania.

• FPA jest stosowana do szacowania całych

systemów

informatycznych

lub

tylko

ich

poszczególnych modułów.

• FPA jest stosowana do szacowania nowego

softwaru jak i w przypadku modernizacji już
pracującego.

• Wiele narzędzi programistycznych szacujących

koszty i inne wskaźniki związane z realizacją
projektów informatycznych bazuje na FPA.

background image

Główne wady FPA to:

• Gwarancję osiągnięcia poprawnych rezultatów dają

certyfikowani specjaliści FPA.

• Poprawne wyliczenie punktów funkcyjnych wymaga

również dużo czasu, a co za tym idzie jest dość

kosztowne.

• Automatyzacja procesu obliczenia punktów funkcyjnych

może być obciążona nieznaną dokładnością, jak na razie

nie jest stosowana.

• Rezultaty obliczeń FPA w wypadku systemów o rozmiarze

mniejszym niż 15 punktów funkcyjnych mogą być

niereprezentatywne.

• Brak powiązań (konwersji) pomiędzy standardem IFPUG i

różnymi wersjami FPA, które powstały na bazie

standardu, jednak rozwijają się w różny sposób i w

różnych kierunkach.

background image

FPA - Zdefiniowanie typu procesu

liczenia punktów funkcyjnych – krok 1

• Pierwszy dla nowo powstających projektów,

kiedy wszelkie oceny dokonuje się na

podstawie

wymagań

funkcjonalnych

przedstawionych

przez

końcowego

użytkownika oraz wymagań co do konwersji

danych.

• Drugi

dotyczy

przypadku

modyfikacji

istniejącej aplikacji, polegającej na zmianie

funkcjonalności, tzn. usunięcie niektórych

funkcji, zmiana lub dodanie nowych.

• Trzeci to pomiar istniejącej, pracującej

aplikacji.

background image

FPA - Identyfikacja zakresu analizy oraz

określenie granic aplikacji – krok 2

• Wyznaczona granica wynika głównie z punktu

widzenia i potrzeb użytkownika, tzn. użytkownik

powinien zdefiniować zakres aplikacji, jej

biznesową i użytkową funkcjonalność.

• Granice pomiędzy współpracującymi aplikacjami

winny wynikać z ich funkcjonalności a nie z

uwarunkowań technologicznych.

• Ustanowiona początkowo granica aplikacji jest

niezależna od zakresu analizy, za wyjątkiem takich

zmian funkcjonalności, których dodanie lub

usunięcie spowoduje odpowiednio rozszerzenie lub

redukcję granicy aplikacji.

background image

FPA - Wyliczenie liczby

nieskorygowanych punktów

funkcyjnych dla wszystkich ILF i EIF –

krok 3

• Na etapie tym należy zidentyfikować wszystkie

logiczne zbiory danych aplikacji (ILF ang. internal

logical files oraz EIF ang. external logical files)

oraz oszacować ich kompletność. Następnie

wyliczyć

liczbę

nieskorygowanych

punktów

funkcyjnych dla wszystkich ILF i EIF.

• Po zidentyfikowaniu wszystkich ILF i EIF dla

każdego z nich należy wyznaczyć wszystkie tzw.

RET’y (ang. record element type) i DET’y (ang.

data element type) , których liczba decyduje o

ilości nieskorygowanych punktów funkcyjnych.

background image

ILFy (ang. Internal Logical File) to logiczne zbiory

danych, wymaganych, określonych przez użytkownika
lub danych kontrolnych utrzymywanych i działających w
granicach aplikacji. ILF najczęściej odpowiada encji w
drugiej lub trzeciej postaci normalnej lub nazwie
nadanej grupie powiązanych logicznie danych na
diagramach przepływów. Poprzez dane kontrolne
rozumie się dane niezbędne do sterowania procesami
aplikacji.

EIF (ang. External Interface File), czyli zewnętrzny zbiór

danych, to grupy logicznie powiązanych danych,
określone przez użytkownika lub dane kontrolne
odnoszące się do wymiarowanej aplikacji, ale
przechowywane w granicach innej aplikacji.

Do wyznaczania EIFów stosuje się następujące zasady:
1. dane lub informacje kontrolne, tworzące logiczną grupę

danych i jednoznacznie identyfikowalne przez użytkownika,

2. grupa danych, która przekracza granice wymiarowanej

aplikacji,

3. grupa danych, która nie jest utrzymywana w granicach

mierzonej aplikacji,

4. grupa danych, która jest ILFem w innej aplikacji.

background image

FPA - krok 3 – Wyznaczenie DET’ów i

RET’ów

RET (a record element type) to podgrupa danych w ILF lub EIF,

określona przez użytkownika, może być opcjonalna lub obowiązkowa.

Reguły wyznaczania RET:
       Licz jako RET każdą podgrupę danych ILF’a lub EIF’a.
       Jeśli nie można wydzielić żadnych podgrup należy każdy ILF i EIF policzyć jako jeden RET.

DET (a data element type) to unikalne, określone przez użytkownika, nie

powtarzające się pole.

Reguły obliczania DET:
 Jako DET należy liczyć każde unikalne, zidentyfikowane przez użytkownika pole, będące elementem

ILF’a lub EIF’a.

  Jeśli dwie aplikacje korzystają z tych samych ILF lub EIF ale odwołują się inaczej do podgrup danych,

to liczbę DET należy liczyć stosownie do każdej aplikacji. Na przykład: jedna aplikacja wykorzystuje

następującą grupę danych adresowych: kod pocztowy, miasto, ulica, nr domu, telefon, natomiast

druga aplikacja odnosi się do tych danych jako do bloku, bez rozróżnienia poszczególnych pól. W

pierwszym przypadku przypiszemy odpowiedniemu ILF - 5 DET, w drugim 1 DET.

  Każda grupa danych, która umożliwia relację z innym ILF lub EIF musi zostać policzony jako jeden

DET.

 

background image

FPA – krok 3 - Na podstawie wyznaczonej liczby RET i DET dla
każdego ILF i EIF szacuje się poziom funkcjonalnej
kompletności zgodnie z poniższymi:

 

Liczba
DET
RET

1-19

20-50

51 i więcej niż 51

1

niski

niski

średni

2-5

niski

średni

wysoki

6 i więcej niż 6

średni

wysoki

wysoki

background image

FPA- krok 3 -Przypisanie odpowiedniej liczbę

nieskorygowanych punktów funkcyjnych zgodnie z

poniższymi zasadami, dla ILF i EIF:

 

Poziomu

złożoności

funkcjonalnej

Liczba

nieskorygowanyc

h punktów

funkcyjnych dla

ILF

Liczba

nieskorygowanyc

h punktów

funkcyjnych dla

EIF

niski

7

5

średni

10

7

wysoki

15

10

background image

FPA - Wyliczenie liczby nieskorygowanych

punktów funkcyjnych dla wszystkich funkcji

tranzakcyjnych - krok 4

Identyfikacja funkcji transakcyjnych:

EI (external inputs) – to proces elementarny,

któremu poddawane są dane lub dane kontrolne

przychodzące spoza granic aplikacji.

EO (external outputs) – to proces elementarny,

który wysyła dane lub dane kontrolne poza

granice aplikacji.

EQ (external query) – to proces elementarny,

który wysyła dane lub dane kontrolne poza

granice aplikacji.

Każdy proces elementarny musi być jednoznacznie

sklasyfikowany i może być liczony tylko raz.

background image

FPA - krok 4

Identyfikacja EI,EO,EQ – określenie typów funkcjonalnych

procesów elementarnych.

Funkcja

:

Transakcyjny typ funkcyjny:

EI

EO

EQ

Zmiana

zachowania

systemu.

główn

y

możliwy

niedozwolo

ny

Modyfikacja

jednego

lub więcej ILF

główn

y

możliwy

niedozwolo

ny

Prezentacja informacji
użytkownikowi

możliw

y

główny

główny

background image

FPA - krok 4 – określenie DET’ów i FTR’ów

• Przypisanie funkcji transakcyjnej odpowiedniej

ilości punktów funkcyjnych zależy od ilości
przypisanych funkcji FTR oraz DET.

FTR (ang. File Type Refeneced) to ILF czytany

lub modyfikowany przez funkcję transakcyjną lub
EIF, z którego czytane są dane. Każdy
modyfikowany lub czytany ILF lub czytany EIF jest
liczony jako 1 FTR. Jeden plik danych może być
liczony tylko raz.

background image

FPA - krok 4 – poziom funkcjonalnej

kompletności dla EI w zależności od liczby FTR

i DET:

Liczba DET

FTR

1-4

5-15

16 i

więcej

niż 16

0-1

Niski

Niski

Średni

2

Niski

Średni Wysok

i

3 i więcej

niż 3

Średn

i

Wysoki Wysok

i

background image

FPA - krok 4 – poziom funkcjonalnej

kompletności dla EO i EQ w zależności od

liczby FTR i DET:

Liczba DET

FTR

1-5

6-19

20 i

więcej

niż 20

0-1

Niski

Niski

Średni

2-3

Niski

Średni Wysok

i

4 i więcej

niż 4

Średn

i

Wysoki Wysok

i

background image

FPA - Wyliczenie liczby nieskorygowanych

punktów funkcyjnych dla wszystkich funkcji

transakcyjnych dla EI, EQ i EO - krok 4

Poziomu

złożoności

funkcjonalnej

Liczba

nieskorygowanych

punktów

funkcyjnych dla EI

i EQ

Liczba

nieskorygowanych

punktów

funkcyjnych dla

EO

niski

3

4

średni

4

5

wysoki

6

7

background image

FPA - Obliczenie współczynnika dopasowania

wartości VAF (ang. the value adjustment

factor) – krok 5.

• Oszacuj każdą z 14 charakterystyk,

wynik należy umieścić na skali o

zakresie od 0 do 5, co odpowiada

określeniu tzw. stopnia wływu DI (ang.

the degree of influence).

• Oblicz całkowity stopień wpływu TDI

(ang. the total degree of influence)

dodając otrzymane w punkcie 1 wyniki.

• Oblicz VAF wstawiając TDI do równania:

VAF=(TDI*0.01)+0.65

background image

Komunikacja

Charakterystyka określa wykorzystanie przez aplikację różnych

protokołów komunikacyjnych.

0

Aplikacja jest czysto wsadowa albo działa na jednym

komputerze.

1

Aplikacja jest wsadowa, ale wykorzystuje zdalne

wprowadzanie danych lub zdalne drukowanie.

2

Aplikacja jest wsadowa, ale wykorzystuje zdalne

wprowadzanie danych i zdalne drukowanie.

3

Aplikacja posiada „front-end” do przetwarzania wsadowego

oraz wprowadzania danych „on-line”.

4

Aplikacja jest więcej niż „front-endem” i wykorzystuje tylko

jeden protokół komunikacyjny.

5

Aplikacja jest więcej niż „front-endem” i wykorzystuje wiele

protokołów komunikacyjnych.

background image

Przetwarzanie rozproszone

Charakterystyka określa w jakim stopniu następuje wymiana danych pomiędzy komponentami systemu.

0

Aplikacja jest monolityczna.

1

Aplikacja przygotowuje dane dla przetwarzania przez użytkownika w innych komponentach systemu,
np. bazie danych albo arkuszu kalkulacyjnym.

2

Dane są przygotowywane do transferu, a następnie przesyłane pod kontrolą aplikacji do innego
systemu (nie dla użytkownika końcowego).

3

Występuje przetwarzanie rozproszone „on-line” jednokierunkowe.

4

Występuje przetwarzanie rozproszone „on-line” dwukierunkowe.

5

Funkcje przetwarzania dynamicznie wykorzystują najodpowiedniejsze rozproszone komponenty
systemu.

Wydajność

Charakterystyka określa wpływ czasu odpowiedzi systemu i przepustowości na proces tworzenia aplikacji.

0 Nie ma specjalnych wymagań odnośnie wydajności.

1

Wymagania odnośnie wydajności zostały postawione, lecz nie były potrzebne dodatkowe działania w
trakcie tworzenia aplikacji.

2

Czas odpowiedzi i przepustowość są krytyczne jedynie w godzinach szczytu. Nieprzekraczalny termin
zakończenia przetwarzania przypada na następny dzień roboczy.

3

Czas odpowiedzi i przepustowość są krytyczne w codziennych godzinach pracy. Projekt musi jednak
wziąć pod uwagę uwarunkowane czasowo interfejsy.

4

Dodatkowo wymagania wydajnościowe użytkownika są dostatecznie wysokie, by spowodować
konieczność wykonania analizy wydajności systemu w fazie projektowej.

5

Dodatkowo proces tworzenia aplikacji wymaga użycia specjalnych narzędzi do projektowania i
implementacji systemu o dużej wydajności.

background image

Specjalne wymagania odnośnie konfiguracji

Charakterystyka określa wpływ ograniczeń dotyczących zasobów sprzętowych na tworzenie aplikacji.

0 Nie ma jawnych lub niejawnych ograniczeń odnośnie konfiguracji.

1

Istnieją ograniczenia operacyjne, lecz są mniej restrykcyjne niż dla typowych aplikacji. Spełnienie
wymagań nie wymaga dodatkowych działań.

2 Aplikacja wymaga uwzględnienia czynników czasowych lub dotyczących bezpieczeństwa.

3 Istnieją specyficzne lub nadzwyczajne wymagania odnośnie procesora dla części aplikacji.

4 Wymagane są specjalne ograniczenia dla aplikacji działającej na głównym procesorze.

5 Dodatkowo istnieją dodatkowe ograniczenia dla aplikacji w rozproszonych komponentach.

Tempo transakcji

Określa wpływ tempa transakcji biznesowych na tworzenie aplikacji.

0 Nie przewiduje się spiętrzenia liczby transakcji.

1

Przewiduje się spiętrzenie liczby transakcji występujące okresowo.

2 Przewiduje się spiętrzenie tygodniowe.

3 Przewiduje się spiętrzenie dzienne.

4

Wysokie tempo transakcji jest jednym z wymagań. Niezbędna jest analiza wydajnościowa w fazie
projektowania.

5

Jak wyżej i dodatkowo niezbędne są narzędzia do analizy wydajności w fazie projektowania, produkcji i/lub
instalacji.

background image

Wprowadzanie danych „on-line”

Określa wpływ ilości interaktywnych transakcji wprowadzania danych na tworzenie
aplikacji.

0 Wszystkie transakcje są przetwarzane wsadowo.
1 1%-7% transakcji odbywa się w trybie interaktywnego wprowadzania danych.
2 8%-15% transakcji odbywa się w trybie interaktywnego wprowadzania danych.
3 16%-23% transakcji odbywa się w trybie interaktywnego wprowadzania danych.
4 24%-30% transakcji odbywa się w trybie interaktywnego wprowadzania danych.

5

Ponad 30% transakcji odbywa się w trybie interaktywnego wprowadzania
danych.

background image

Specjalne ułatwienia dla Użytkownika

Określa wpływ czynników ludzkich i wymagań dotyczących wygody użytkownika na tworzenie aplikacji. Pod uwagę bierze się:

a.

Ułatwienia nawigacji

b.

Menu

c.

Pomoc i dokumentację on-line

d.

Przewijanie ekranu

e.

Zdalne drukowanie (obsługa drukarki sieciowej)

f.

Klawisze skrótu

g.

Wywoływanie przetwarzania wsadowego z transakcji on-line

h.

Wybieranie pól danych przez ustawianie kursora (niesekwencyjne wprowadzanie danych)

i.

Duże użycie wideo, podświetlania, kolorów itp.

j.

Drukowanie elektronicznej dokumentacji użytkownika

k.

Mysz

l.

Wyskakujące okna

m.

Optymalizacja liczby otwartych okien

n.

Wspomaganie dwu języków (liczyć jako 4)

o.

Wspomaganie wielu języków (liczyć jako 6)

p.

Automatyczne przenoszenie kursora

Stopień wpływu

0

Żadna z powyższych cech.

1

1 do 3 cech.

2

4 do 5 cech.

3

6 lub więcej, nie ma jednak specyficznych wymagań co do ułatwień.

4

Jak wyżej oraz podane są wymagania odnośnie interfejsu użytkownika, wymuszające projektowanie
pod tym kątem.

5

Jak wyżej i ponadto potrzebne są specjalne narzędzia oraz procesy, które pokażą, że osiągnięto cel.

background image

Modyfikacje „on-line”

Określa wpływ modyfikacji wewnętrznych zbiorów danych na tworzenie aplikacji.

0

Brak.

1

Aktualizacja „on-line” jest dokonywana dla jednego do trzech zbiorów. Obszar aktualizacji nie jest duży, a odtworzenie

poprzedniego stanu jest łatwe.

2

Aktualizacja „on-line” jest dokonywana dla czterech lub więcej zbiorów. Obszar aktualizacji nie jest duży, a odtworzenie
poprzedniego stanu jest łatwe.

3

Aplikacja umożliwia aktualizację „on-line” wszystkich podstawowych zbiorów.

4

Dodatkowo niezbędne jest zabezpieczenie przed utratą danych, które musi być specjalnie zaprojektowane i
oprogramowane w systemie.

5

Dodatkowo duże i rozległe aktualizacje powodują, że w projekcie aplikacji rozważa się koszty odtwarzania stanu

poprzedniego po skasowanej aktualizacji. Niezbędny jest proces odtwarzania w pełni zautomatyzowany i wymagający
minimalnej inwencji operatora.

Złożone przetwarzanie

Określa wpływ logiki przetwarzania na tworzenie aplikacji. Rozważane są:

a.

Specjalne procedury bezpieczeństwa.

b.

Złożone logiczne przetwarzanie.

c.

Złożone przetwarzanie matematyczne.

d.

Rozbudowana obsługa wyjątków, związana z ponownym przetwarzaniem niekompletnych transakcji.

e.

Złożone przetwarzanie do obsługi wielu wariantów wejścia/wyjścia (np. multimedia, niezależność od urządzeń wejściowych).

Stopień wpływu

0

Żaden element złożoności nie występuje.

1

Jeden z wymienionych.

2

Dwa z wymienionych.

3

Trzy z wymienionych.

4

Cztery z wymienionych.

5

Wszystkie wymienione elementy.

background image

Wielokrotne wykorzystywanie

Określa w jakim stopniu aplikacja została zaprojektowana i oprogramowana w celu ponownego użycia jej
fragmentów w innym oprogramowaniu.

0

Kod nie jest przeznaczony do wielokrotnego użycia.

1

Wielokrotnie wykorzystywany kod jest częścią aplikacji.

2

Mniej niż 10% aplikacji jest zbudowane z kodu wielokrotnego użycia.

3

10% lub więcej aplikacji jest zbudowane z kodu wielokrotnego użycia.

4

Aplikacja została specjalnie zaprojektowana jako aplikacja wielokrotnego użycia i dokonuje się jej
dostosowania dla każdego indywidualnego klienta.

5

Jak powyżej, dostosowania może dokonać użytkownik poprzez parametryzację.

Łatwość instalacji

Określa czy i w jakim stopniu konwersja z poprzedniego środowiska wpływa na tworzenie aplikacji.

0

Nie ma żadnych wymagań użytkownika i nie są konieczne żadne ułatwienia instalacyjne.

1

Użytkownik nie stawiał wymagań odnośnie łatwości instalacji, jednakże procedura instalacyjna jest
potrzebna.

2

Wymagania odnośnie instalacji zostały przedstawione i w związku z tym powstały odpowiednie
procedury instalacyjne wraz z dokumentacją, testami i podręcznikiem. Wpływ tych procedur na
projekt aplikacji nie jest istotny.

3

Wymagania odnośnie instalacji zostały przedstawione i w związku z tym powstały odpowiednie
procedury instalacyjne wraz z dokumentacją, testami i podręcznikiem. Wpływ tych procedur na
projekt aplikacji jest znaczący.

4

Jak wyżej dla punktu 2 i ponadto dostarcza się automatyczne narzędzia instalacyjne wraz z
testami.

5

Jak wyżej dla punktu 3 i ponadto dostarcza się automatyczne narzędzia instalacyjne wraz z
testami.

background image

Łatwość operowania

Określa wpływ na tworzenie aplikacji takich aspektów jak kopie zapasowe, odtwarzanie systemu.

0 Nie ma wymagań oprócz standardowego backupu.

1
-
4

Jedna lub kilka następujących cech zostały zaimplementowane w aplikacji. Wybieramy wszystkie
zaimplementowane. Każda cecha to jeden punkt (chyba, że zaznaczono inaczej):

Sprawny i szybki rozruch aplikacji, backup i odtwarzanie po awarii są implementowane, ale wymagają

interwencji administratora (operatora).

Sprawny i szybki rozruch aplikacji, backup i odtwarzanie po awarii są implementowane i nie

wymagają interwencji administratora (liczyć jako 2).

Aplikacja minimalizuje konieczność zastosowania taśm, dysków itp.

Aplikacja minimalizuje konieczność użycia papieru.

5

Aplikacja została zaprojektowana do pracy bez specjalnego nadzoru operatora. Istnieją procedury
automatycznego odtwarzania po awarii.

Wiele miejsc przetwarzania

Określa, w jakim stopniu aplikacja została zaprojektowana do działania na wielu stanowiskach.

0

Wymagania użytkownika nie zawierają informacji o konieczności instalacji więcej niż jednego
stanowiska aplikacji.

1

Uwzględniono w projekcie potrzebę instalacji w wielu miejscach, jednakże wszystkich instalacji
dokonuje się na identycznym sprzęcie i środowisku operacyjnym.

2

Uwzględniono w projekcie potrzebę instalacji w wielu miejscach, jednakże wszystkich instalacji
dokonuje się na podobnym sprzęcie i podobnym środowisku operacyjnym.

3

Uwzględniono w projekcie potrzebę instalacji w wielu miejscach, aplikacja jest zaprojektowana do
działania na różnym sprzęcie i/lub różnych środowiskach operacyjnych.

4

Aplikacja jest taka jak opisano dla 1 lub 2 i ponadto opracowana jest specjalna dokumentacja
instalacyjna oraz dostarcza się z aplikacją testy sprawdzające poprawność instalacji w wielu miejscach.

5

Aplikacja jest taka jak opisano dla 3 i ponadto opracowana jest specjalna dokumentacja instalacyjna
oraz dostarcza się z aplikacją testy sprawdzające poprawność instalacji w wielu miejscach.

background image

Ułatwienia dla zmienności i elastyczności

Określa możliwość łatwej modyfikacji logiki przetwarzania lub struktury danych aplikacji. Pod uwagę
brane są następujące elementy:

a.

Elastyczne zapytania i raporty umożliwiają użytkownikowi tworzenie prostych kwerend (np.
możliwość użycia operatora i/lub do pojedynczego wewnętrznego zbioru logicznego).

b.

Elastyczne zapytania i raporty umożliwiają użytkownikowi tworzenie kwerend o średniej złożoności
(np. możliwość użycia operatora i/lub w zapytaniach kierowanych do kilku wewnętrznych plików
logicznych) (liczone jako 2).

c.

Elastyczne zapytania i raporty umożliwiają użytkownikowi tworzenie kwerend o dużej złożoności
(np. możliwość użycia kombinacji operatorów i/lub w zapytaniach kierowanych do jednego lub kilku
wewnętrznych zbiorów logicznych) (liczone jako 3).

d.

Biznesowe informacje sterujące są przechowywane w tabelach dostępnych użytkownikowi.
Użytkownik może zmieniać te parametry, jednakże zmiany wpływają na działanie systemu od
następnego dnia.

e.

Biznesowe informacje sterujące są przechowywane w tabelach dostępnych użytkownikowi.
Użytkownik może zmieniać te parametry, efekt tych zmian nastąpi dynamicznie natychmiast po ich
wprowadzeniu. (liczone jako 2)

Stopień wpływu

0

Aplikacja nie posiada żadnej z wymienionych charakterystyk.

1

Jedna z wymienionych.

2

Dwie z wymienionych.

3

Trzy z wymienionych.

4

Cztery z wymienionych.

5

Wszystkie.

background image

Dla aplikacji nowotworzonej, końcowa ilość

punktów funkcyjnych wyliczana jest z następującej
zależności:

PF = (UFP + CFP) x VAF,

gdzie:
- UFP (ang. Unadjusted Function Point) –

nieuzgodniona liczba punktów funkcyjnych dla
funkcjonalności dostępnej dla użytkownika
końcowego po instalacji,

- CFP (ang. Conversion Function Point) –

nieuzgodniona liczba punktów funkcyjnych
wynikająca z konwersji danych.

FPA - Wyliczenie końcowej wartości punktów

funkcyjnych – krok 6.

background image

FPA - Wyliczenie końcowej wartości punktów

funkcyjnych – krok 6.

W przypadku modyfikacji funkcjonalności aplikacji

rozmiar aplikacji w punktach funkcyjnych można

uzyskać stosując poniższy wzór:

PF = {(ADD+CHGA+CFP) x VAF2} + DEL x VAF1

gdzie:

• ADD – nieuzgodniona liczba punktów funkcyjnych

dla funkcji, które są dodawane,

• CHGA – nieuzgodniona liczba punktów funkcyjnych

dla funkcji, które są modyfikowane,

• DEL – nieuzgodniona liczba punktów funkcyjnych

dla funkcji, które są usuwane,

• VAF1 i VAF2 – to współczynniki VAF liczone

odpowiednio przed i po modyfikacji aplikacji.

background image

FPA - Wyliczenie końcowej wartości punktów

funkcyjnych – krok 6.

Dla działającej aplikacji należy użyć

poniższej formuły w celu obliczenia

końcowej ilości punktów funkcyjnych:

PF=AD*VAF

gdzie:
• AD - nieuzgodniona liczba punktów

funkcyjnych funkcjonalności

dostępnej dla użytkownika

końcowego

background image

Złote reguły Capers Jonesa

Liczba punktów funkcyjnych:
• Podniesiona do potęgi 1,15 jest zgrubnym

oszacowaniem liczby stron dokumentacji
wytworzonej w projekcie.

• Podniesiona do potęgi 1,2 jest zgrubnym

oszacowaniem liczby przypadków testowych.

• Podniesiona do potęgi 0,4 jest zgrubnym

oszacowaniem czasochłonności prac projektowych
w miesiącach.

• Podzielona przez 150 jest zgrubnym oszacowaniem

liczby osób potrzebnych w projekcie.

background image

Punkty funkcyjne a nowe

technologie

• Aplikacje typu klient-serwer
• Aplikacje WWW

background image

 

Rys. 1 Granice aplikacji typu klient-serwer.

KLIENT

SERWER

background image

Rys. 2 Zasady liczenia punktów funkcyjnych dla
aplikacji klient-serwer

Nie liczymy

KLIENT

SERWER

EI

EI

EO lub EQ

background image

W zakresie określenia granic aplikacji

WWW:

• Należy określić właściciela strony WWW .
• Zawsze należy znaleźć i określić biznesowy punkt

widzenia użytkownika, dla którego przeznaczona

jest aplikacja.

• Do granic aplikacji nie można wliczać własności

przeglądarek i wyszukiwarek.

• Należy

rozważyć

zakres

strony

i

jej

funkcjonalności dla takiej samej aplikacji.

• Wiele stron zawiera wiele linków do innych miejsc

w sieci.

• Po ustanowieniu zakresu i granic aplikacji, należy

starać się już ich nie zmieniać.

background image
background image
background image
background image
background image

Szacowanie pracochłonności.

Wzory stworzone na podstawie

danych zebranych przy stosowaniu metody FPA w dużych
organizacjach w ostatnich latach.
Publikacja Capers Jones’a: Programming Languages Table
podaje osobne wzory dla fazy analizy, programowania i testowania.

W fazie analizy związek pomiędzy rozmiarem funkcjonalnym a
nakładami pracy w roboczogodzinach określony jest wzorem
(R – rozmiar funkcjonalny w PF):

W

A

= 4,0342 x (R)

0,9903

[rh] Np.4,0342 x (21)

0,9903

[rh] = 82.25 [rh]

W fazie programowania związek pomiędzy rozmiarem
funkcjonalnym a nakładami pracy w roboczogodzinach określony jest
wzorem:

W

P

= 12,313 x (R)

1,015

[rh] Np. 12,313 x (21)

1,015

[rh] = 270 [rh]

W fazie testowania związek pomiędzy rozmiarem funkcjonalnym a
nakładami pracy w roboczogodzinach określony jest wzorem:

W

T

= 5,2124 x (R)

1,024

[rh] Np. 5,2124 x (21)

1,024

[rh] = 118 [rh]


Document Outline


Wyszukiwarka

Podobne podstrony:
523, PlanTestowMoj, Punkty funkcyjne
Punkty Funkcyjne
Trzy teorie osobowosci Trzy punkty widzenia
3 ch org zwiazki funkcyjne
6 1 Punkty osobl Residua ZADANIA
et wskazniki funkcyjne
Ćw1 Punkty pomiarowe
Instrukcja 7b Krzywe funkcyjne
linia 4 punkty 2 punkty jeden kolor, makra zwcad
ważne punkty orientacyjne w układzie człowieka i ich zastosowanie w praktyce
Asymptoty ekstrema punkty przegiecia szkic zadania domowe
01 Punkty
Fotopunkty Punkty Kontrolne Wykaz współrzędnych
punkty biochemia egz, BIOCHEMIA
Punkty Weight Watchers - Strażników Wagi, Dieta Weight Watchers - Strażnicy Wagi, Weight Watchers
Słabe punkty?chu
połącz punkty, plik2
polacz punkty

więcej podobnych podstron