koszty użytkowania SI
METODA PUNKTÓW FUNKCYJNYCH - BIEŻĄCE STANDARDY
Beata CZARNACKA-CHROBOT
Streszczenie: Krytyka, z jak ą spotkały się metody pomiaru i estymacji rozmiaru, czasu i kosztów projektów systemów informatycznych oparte na jednostkach programowych (liczba linii kodu źródłowego i liczba poleceń) doprowadziła do powstania pod koniec lat 70. alternatywnego modelu analizy i szacowania tych wielkości, uwzględniającego znacznie szerszy aspekt działań. Koncepcja ta, znana jako metoda punktów funkcyjnych (ang. Function Points Method), została skonstruowana przez Allan'a Albrecht'a i jest zaliczana do ekstrapolacyjnych modeli parametrycznych. Za podstawę kalkulacji umożliwiających określenie zasadniczych parametrów ekonomicznych systemu informatycznego przyjmuje się tu tzw. punkty funkcyjne, których zadaniem jest pomiar rozmiaru systemu z perspektywy nie wielkości oprogramowania, jak w metodach opartych na jednostkach programowych, a jego użytkowej funkcjonalności. Autor tego rozwiązania za jedynie słuszną jednostkę uznał bowiem taką, która obowiązuje dla wszystkich języków programowania i reprezentuje przede wszystkim punkt widzenia użytkownika na system. Od połowy lat 80. rozwojem metody punktów funkcyjnych zajm uje się organizacja International Function Point U sers Group, która jest autorem kilku jej kolejnych modyfikacji, każdorazowo publikowanych w zbiorze reguł postępowania pt. Function Point Counting Practices Manuał.
Obecnie obowiązuje jego wersja 4.1 wydana przez tę organizację w 1999 roku. W niniejszym artykule przedstawiono elementy i reguły pomiaru i estymacji rozmiaru funkcjonalnego systemu informatycznego zgodne właśnie z owymi bieżąco obowiązującymi standardami, popierając niektóre z nich przykładami.
1 Ewolucja m etody punktów funkcyjnych
Twórca analizy opartej na punktach funkcyjnych (PF) określił jednostkę pomiaru wielkości dóbr i usług" będących efektem prac projektowych jako liczbę bezwymiarową zdefiniow aną w punktach funkcyjnych, którą znajdujemy jako efektywną relatyw ną miarę wartości funkcji dostarczanych naszemu klientowi [ALBR79], Punkty funkcyjne stanowią jednostkę pomiaru rozmiaru systemu informatycznego (SI), podobnie jak godzina stanowi jednostkę pomiaru czasu, metr jednostkę pomiaru długości, a stopień Celsjusza mierzy temperaturę.
Jednostka pomiaru SI jest niezbędna do tego, aby można było prawidłowo zarządzać jego projektowaniem, utrzymaniem i rozwojem. Dzięki niej możliwe jest policzenie kosztu, czasu i produktywności projektowania systemu. A zrozumienie tych wartości dla projektów z przeszłości pomaga przewidzieć czas, koszty i produktywność dla przyszłych projektów.
57
W ciągu ponad 20 lat istnienia metoda oparta na punktach funkcyjnych była wielokrotnie przedmiotem modyfikacji. Kolejne jej oficjalne wersje zamieszczono w tablicy 1. Zmiany te polegały głównie na uściślaniu definicji różnych jej elementów, co w rezultacie miało doprowadzić do obiektywizacji proponowanych w analizie PF rozwiązań. W odniesieniu do ostatecznej wersji zaproponowanej przez Allan'a Albrecht'a (1983 r.) podstawowym zarzutem była bowiem subiektywność charakterystyczna dla oceny złożoności typów funkcji występujących w systemie informatycznym. Autor metody zaproponował, aby owe funkcje klasyfikować w trzystopniowej skali: jako proste, średnie bądź złożone, a następnie na tej podstawie przypisywać im określoną liczbę punktów. Jednak nie sprecyzował żadnych kryteriów podziału, w związku z czym ta sama funkcja mogła być odmiennie oceniana przez różnych projektantów. Dlatego ju ż w modelu G U ID E’84 za główny cel uznano obiektywizację klasyfikacji funkcji pod względem złożoności, tak aby była ona spójna w ramach prac projektowych prowadzonych nad różnymi systemami. W ersja ta wprowadza m ianowicie nowy wymiar do analizy opartej na PF, nie zmieniając jednak filozofii postępowania:
podstawowe elementy metody zostały zdekomponowane na m niejsze składniki, natomiast do celów klasyfikacyjnych stworzono dwuwymiarowe macierze z określonymi zakresami wartości, dzięki czemu jasne stały się kryteria oceny złożoności typów funkcji 1.
Tablica 1. Sekwencja oficjalnych wersji metody PF
W ersja Autor i rok
1 A lb recht’79
2 A lb recht’83
3 G U ID E’84
4 IF P U G ’86
5 IF P U G ’88
6 IF P U G ’90
7 IF P U G '94 (wer. 4.0) 8 IFPU G ’99 (wer. 4.1) ŹRÓDŁO: [ABRA96], [FUNC01].
Zasadnicze znaczenie dla rozwoju opisywanego modelu miało powstanie w połowie lat 80. w Stanach Zjednoczonych organizacji IF P U G (ang.
International Function Point U sers Group). Jak wskazuje nazwa, instytucja ta skupia użytkowników metody PF z wielu krajów. M a ona charakter "non profit" i stawia sobie za cel ciągłe doskonalenie procesu pomiaru i estym acji rozmiaru funkcjonalnego systemu. Obecnie współpracuje z wielom a swoimi narodowymi
1 Zostaną one przedstawione w dalszej części artykułu.
odpowiednikami2. Przy ich pomocy IFPUG ustala reguły, ustanawia bieżące standardy oraz rozwija om awianą analizę, jednocześnie rozpowszechniając wiedzę na jej temat. W szelkie działania m ają sprzyjać obiektywizacji rozwiązań oraz zwiększeniu czytelności zasad postępowania. W 1994 roku IFPUG opublikował wersję 4.0 F unction P oint C ounting Practices M anuał (por. [IFPU94]). Obecnie zaś obowiązuje jego nieco zmodyfikowana wersja 4.1. Wyniki wstępnych prac nad tą m odyfikacją opublikowano na początku 1999 roku. Reprezentuje ona bieżąco uzgodniony pogląd na reguły koncepcji opartej na punktach funkcyjnych, ale nie zawiera radykalnych zmian w zestawieniu z wersją 4.0, mimo, iż prace nad jej powstaniem trwały około 5-ciu lat (por. [IFPU99]). Nie zawiera również żadnych zmian w strukturze metody ustalonej przez Albrecht'a już w 1983 roku. Wszystkie późniejsze wersje bowiem (por. tablica 1) stanowiły i stanowią przewodnik obliczeniowy, ale nie wprowadzają żadnych modyfikacji w strategii pomiaru w stosunku do tego, co ustalił twórca analizy.
2 Elementy m etody PF
Liczbę punktów funkcyjnych dla danego SI otrzymuje się poprzez pomiar aplikacji z dwóch perspektyw, określanych jako:
y rozmiar funkcjonalny - obliczany poprzez przypisanie każdej funkcji odpowiedniej wagi, co w sumie daje nieostateczną liczbą PF (NPF) oraz pokrywa proces pomiaru dwóch typów funkcji: zarówno danych, jak i transakcji;
'P czynnik korygujący - obliczany przy wykorzystaniu predefiniowanych charakterystyk systemu, czyli tzw. parametrów wpływu (PW), w celu oceny złożoności zarówno środowiska systemu, jak i sposobu przetwarzania aplikacji jako całości.
Rozmiar funkcjonalny poddany wpływowi czynnika korygującego stanowi ostateczny rezultat metody PF, czyli ostateczną liczbę PF (LPF).
M odel pomiaru wielkości SI za pomocą opisywanej metody przedstawia rys. I.
2 Do najprężniej działających należą: ASMA w Australii, NESMA w Holandii, DASMA w Niemczech, G U F P I w e W łoszech, UKSMA w Wielkiej Brytanii oraz JFPUG w Japonii
59