1 / 30

Analiza Punktów Funkcyjnych

Analiza Punktów Funkcyjnych. Autorzy: Filip Budziewicz Michał Jaworski Michał Seredyński. Wstęp.

nura
Download Presentation

Analiza Punktów Funkcyjnych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Analiza Punktów Funkcyjnych Autorzy: Filip Budziewicz Michał Jaworski Michał Seredyński

  2. Wstęp Najczęściej stosowaną miarą w szacowaniu i ocenie oprogramowania jest obecnie metoda punktów funkcyjnych. Opracowana przez A. J. Albrechta i innych pracowników firmy IBM w połowie lat 70 – tych. Po kilku latach IBM zrzekł się wszelkich praw autorskich do metody FPA i przekazał je do wspólnego użytku. Powołano międzynarodową organizację użytkowników FPA (IFPUG – International Function Point User Group) z zarządem w Westerville, Ohio, USA. Referat Analiza Punktów Funkcyjnych

  3. Zalety stosowania FPA. • Rozwiązanie niezależne od stosowanego języka programowania, • FPA jest stosowane do szacowania całych systemów informatycznych lub tylko ich poszczególnych modułów, • Może być stosowane w dowolnym momencie cyklu życiowego oprogramowania, • Wiele obecnie wykorzystywanych narzędzi bazuje na rozwiązaniach zawartych w FPA Referat Analiza Punktów Funkcyjnych

  4. Główne wady FPA. • Poprawne wyliczenie punktów funkcyjnych jest czasochłonne i dość kosztowne, • Proces automatycznego obliczania punktów funkcyjnych nie jest na razie stosowany, • Ze względu na nie reprezentatywność wyników nie stosuje się FPA dla systemów o bardzo małym rozmiarze, • Brak konwersji między standardem IFPUG a innymi metodami opartymi na metodzie FPA, • Umiejscowienie centrów szkoleniowych i certyfikacyjnych IFPUG Referat Analiza Punktów Funkcyjnych

  5. Proces wyliczania Punktów Funkcyjnych. • Zdefiniowanie typu procesu liczenia punktów funkcyjnych, • Identyfikacja zakresu analizy oraz określenie granic aplikacji, • Wyliczenie liczby nieuzgodnionych punktów funkcyjnych dla wszystkich ILF i EIF, • Wyliczenie liczby nie uzgodnionych punktów funkcyjnych dla wszystkich funkcji transakcyjnych – EI, EO, EQ, • Obliczenie współczynnika dopasowania wartości VAF, • Wyliczanie końcowej wartości punktów funkcyjnych, Przydatne linki... http://www.ifpug.org - International Function Point User Group Referat Analiza Punktów Funkcyjnych

  6. 1) Zdefiniowanie typu procesu liczenia punktów funkcyjnych. • Dla nowo powstających projektów, • W przypadku modyfikacji istniejącej aplikacji, • Pomiar istniejącej, pracującej aplikacji Referat Analiza Punktów Funkcyjnych

  7. 2) Identyfikacja zakresu analizy oraz określenie granic aplikacji. Zakresem analizy jest funkcjonalność aplikacji IFPUG definiuje trzy główne reguły wyznaczania granic aplikacji: • Wyznaczenie granicy aplikacji przez użytkownika, • Granice wynikają z funkcjonalności aplikacji, • Granica aplikacji jest niezależna od zakresu analizy Referat Analiza Punktów Funkcyjnych

  8. 3) Wyliczenie liczby nieuzgodnionych punktów funkcyjnych dla wszystkich ILF i EIF. Na tym etapie wyróżniamy trzy punkty postępowania: • Identyfikacja logicznych zbiorów danych aplikacji (ILF i EIF), • Oszacowanie kompletności tych zbiorów, • Kalkulacje liczby nieuzgodnionych punktów funkcyjnych dla zbiorów danych (ILF i EIF) ILF (Internal Logical File) – Wymagane przez aplikację dane powiązane ze sobą logicznie. Często wprowadzane przez użytkownika. Dane te muszą pozostawać ze sobą w logicznym powiązaniu. Mogą być to też dane kontrolne do sterowania aplikacją. Dane te są przechowywane w granicach danej aplikacji. EIF (External Interface File) – Dane te muszą tak jak ILF pozostawać w logicznym powiązaniu. Mogą być wymagane przez aplikację do działania lub mogą być wprowadzane przez użytkownika albo być danymi kontrolnymi aplikacji. Dane te są jednak przechowywane w granicach innej aplikacji. Referat Analiza Punktów Funkcyjnych

  9. 3.1) Zależności ILF i EIF. EIF jednej aplikacji musi być ILF’em w innej aplikacji ! Granica aplikacji nr 1 Granica aplikacji nr 2 Internal Logical File Internal Logical File External Interface File Internal Logical File Referat Analiza Punktów Funkcyjnych

  10. 3.2) Oszacowanie kompletności zbiorów (RET i DET). Aplikacja nr 1 Po zidentyfikowaniu ILF i EIF dla danej aplikacji należy wyznaczyć liczbę punktów RET i DET dla każdego ILF i EIF. Liczba elementów RET i DET decyduje o ilości nieuzgodnionych punktów funkcyjnych. RET (Record Element Type) – podgrupa danych ILF lub EIF określana przez użytkownika. Reguły wyznaczania RET: • Jest to każda podgrupa danych ILF lub EIF, • Jeśli niemożliwe jest wydzielenie takiej podgrupy jako RET traktowany jest cały ILF lub EIF DET (Data Element Type) – jest to unikalne pole określane przez użytkownika aplikacji. Reguły wyznaczania DET: • Jest to każde unikalna, definiowane przez użytkownika pole będące elementem ILF lub EIF, • Grupa danych umożliwiająca relację z innym ILF lub EIF powinna zostać policzona jako jeden element DET, • Jeśli więcej niż jedna aplikacja korzysta z tych samych ILF lub EIF ale każda z nich odwołuje się do nich inaczej to liczba DET wyznaczana jest oddzielnie dla każdej aplikacji 3 DET Blok danych adresowych Kod pocztowy Ulica Miasto Aplikacja nr 2 1 DET Referat Analiza Punktów Funkcyjnych

  11. 3.2) Oszacowanie kompletności zbiorów (RET i DET) C.D. Na podstawie ilości RET i DET dla każdego ILF lub EIF musimy oszacować poziom funkcjonalnej kompletności. Po wyznaczeniu poziomu kompletności funkcjonalnej przypisujemy ILF i EIF odpowiednią liczbę nieuzgodnionych punktów funkcyjnych. Referat Analiza Punktów Funkcyjnych

  12. 3.3) Kalkulacje liczby nieuzgodnionych punktów funkcyjnych dla zbiorów danych (ILF i EIF). Dla ILF: Dla EIF: Suma daje ilość nieuzgodnionych punktów funkcyjnych Referat Analiza Punktów Funkcyjnych

  13. 4) Wyliczenie liczby nie uzgodnionych punktów funkcyjnych dla wszystkich funkcji transakcyjnych – EI, EO, EQ. W tym punkcie zidentyfikujemy funkcje transakcyjne (EI, EO, EQ) i ich kompletność oraz wyliczymy liczbę surowych punktów funkcyjnych. EI (External Inputs) – Wykorzystuje dane kontrolne które pochodzą z poza granicy aplikacji lub dane podawane przez użytkownika. Działanie EI sprowadza się do oddziaływania na jeden lub więcej ILF w którym dokonuje on zmian jego danych lub pobudza system do konkretnego zachowania. Zaliczany jest do grupy procesów elementarnych. EO (External Outputs) – Jest on wykorzystywany do przesyłania danych użytkownika lub danych kontrolnych poza granicę aplikacji. EO może również działać na jednym lub więcej ILF i dokonywać takich samych operacji jak EI. Jest również zaliczany do procesów elementarnych. EQ (External Inquiry) - Jest on wykorzystywany do przesyłania danych użytkownika lub danych kontrolnych poza granicę aplikacji. W trakcie działania EQ nie może dojść do modyfikacji ILF lub do zmiany zachowania systemu. Do poprawnej identyfikacji EI, EO, EQ należy poddać każdy z nich analizie co do jego podstawowej celowości i określić typ funkcjonalny zgodnie z poniższą regułą. Referat Analiza Punktów Funkcyjnych

  14. 4) Wyliczenie liczby nie uzgodnionych punktów funkcyjnych dla wszystkich funkcji transakcyjnych – EI, EO, EQ C.D. Każdy proces elementarny musi być jednoznacznie określony i może być liczony tylko raz. Ciekawostki... System operacyjny Microsoft Windows ‘95 zawiera około 100 tys. Punktów Funkcyjnych Referat Analiza Punktów Funkcyjnych

  15. 4) Zależności EI, EO, EQ z ILF i EIF. External Inquiry External Inputs Granica aplikacji Wprowadź dane Plik transakcyjny Internal Logical File Wyświetl dane Internal Logical File External Outputs Wyświetl dane Plik transakcyjny Inna aplikacja Internal Logical File External Interface File Wydrukowany raport Referat Analiza Punktów Funkcyjnych

  16. 4.1) Zależność EI, EO, EQ od liczby FTR i DET. • Aby przypisać wszystkim EI, EO, EQ odpowiednie liczby punktów funkcyjnych musimy wyznaczyć liczbę FTR i do tego wynik porównać z wynikiem DET. • FTR (File Type Referenced) – jest to: • każdy czytany lub modyfikowany EI, EO, EQ, • EIF z którego czytane są informacje, • FTR jest wyliczany jako: • każdy modyfikowany ILF to jeden FTR, • każdy czytany ILF i EIF to jeden FTR, • Na podstawie wartości FTR i DET szacujemy poziom funkcjonalnej kompletności dla EI, EO, EQ zgodnie z poniższymi regułami. Referat Analiza Punktów Funkcyjnych

  17. 4.2) Szacowanie poziomu funkcjonalnej kompletności dla EI, EO, EQ. Dla EI: Dla EO i EQ: Referat Analiza Punktów Funkcyjnych

  18. 4.3) Przypisywanie odpowiedniej liczby nieuzgodnionych punktów funkcyjnych EI, EO, EQ. Dla EI i EQ: Dla EO: Referat Analiza Punktów Funkcyjnych

  19. 5) Obliczenie współczynnika dopasowania wartości VAF Współczynnik VAF (Value Adjustment Factor) – współczynnik dopasowania wartości jest obliczany na podstawie odpowiedzi na 14 pytań charakteryzujących aplikacje. Referat Analiza Punktów Funkcyjnych

  20. 5.1) Obliczenie współczynnika dopasowania wartości VAF C.D. • Aby otrzymać wartość VAF należy wykonać poniższe kroki: • każdą z 14 charakterystyk oszacuj wartością z przedziału 1 – 5 co odpowiada określeniu tzw. stopnia wpływu DI (Degree of Influence), • sumuje my wszystkie wyniki DI i otrzymujemy tzw. całkowity stopień wpływu TDI (Total Degree of Influence), • obliczamy VAF podstawiając TDI do równania: • VAF = (TDI * 0.01) + 0.65 Referat Analiza Punktów Funkcyjnych

  21. 6) Wyliczanie końcowej wartości punktów funkcyjnych • Poniższy wzór ma zastosowanie tylko dla nowopowstającej aplikacji • DFP = (UFP + CFP) * VAF • Gdzie: • DFP (Developement 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, Referat Analiza Punktów Funkcyjnych

  22. 6.1) Wyliczanie końcowej wartości punktów funkcyjnych C.D. • Poniższy wzór ma zastosowanie tylko dla modyfikacji funkcjonalności aplikacji • EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB) • Gdzie: • EFP (Enhancement Project Function Point) – końcowa wartość punktów funkcyjnych w przypadku modyfikacji funkcjonalności aplikacji, • ADD – nieuzgodniona liczba punktów funkcyjnych odzwierciedlająca te funkcje które zostaną dodane w procesie modyfikacji aplikacji, • CHGA – nieuzgodniona liczba punktów funkcyjnych liczona dla modyfikacji istniejących funkcji, • VAFA (Value Adjustment Factor After) – współczynnik dopasowania wartości liczony po modyfikacji aplikacji, • DEL - nieuzgodniona liczba punktów funkcyjnych odzwierciedlająca te funkcje które zostaną usunięte w procesie modyfikacji aplikacji, • VAFB (Value Adjustment Factor Before) – współczynnik dopasowania wartości liczony przed modyfikacją aplikacji, Referat Analiza Punktów Funkcyjnych

  23. 6.2) Wyliczanie końcowej wartości punktów funkcyjnych C.D. • Poniższy wzór ma zastosowanie tylko dla pracującej aplikacji • AFP = AD * VAF • Gdzie: • AFP – (Aplication Function Point) – 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, Referat Analiza Punktów Funkcyjnych

  24. 6.3) Wyliczanie końcowej wartości punktów funkcyjnych C.D. • Poniższy wzór ma zastosowanie tylko dla aplikacji po modyfikacji • AFP = [(UFBP + ADD + CHGA) – (CHGB + DEL)] * VAF • Gdzie: • UFPB (Unadjusted Function Point Count Before) - nieuzgodniona liczba punktów funkcyjnych wynikająca z funkcjonalności aplikacji, przed modyfikacją, • CHGB - nieuzgodniona liczba punktów funkcyjnych wynikająca z modyfikacji istniejących funkcji, Referat Analiza Punktów Funkcyjnych

  25. Wykorzystanie FPA w praktyce – opis systemu Charakterystyka systemu na przykładzie, którego pokażemy wykorzystanie FPA w prkatyce: (System stworzony przez Romana Budzowskiego, Uniwersytet Szczeciński) ePlan Obserwując problemy związane z układaniem planu zajęć oraz z wprowadzaniem do niego kolejnych poprawek i publikowaniem tych informacji powstał pomysł stworzenia narzędzi sużących do wspomagania procesu tworzenia i publikacji planu zajęć. W projekcie tym założyłem powstanie dwóch niezależnych od siebie aplikacji. Jedna, stworzona w Delphi wspiera proces układania planu (zasilanie bazy danych) oraz tworzenia wydruków umieszczanych przy dziekanacie. Wadą tych wydruków jest mała czytelność, jako że na jednym wydruku umieszczony jest plan dla całego roku (5-7 grup dziekańskich). Druga aplikacja, napisana w PHP odpowiada za wyświetlanie w przeglądarce internetowej planu zajęć dla wybranej grupy (podgrupy), prowadzącego czy sali. Zaletą tego rozwiązania jest uzyskanie tylko potrzebnych nam informacji. Jako system do przechowywania danych został wykorzystany serwer MySQL. Aplikację internetową można zobaczyć pod adresem: http://plan.wneiz.univ.szczecin.pl Referat Analiza Punktów Funkcyjnych

  26. Szacowanie rozmiaru plików logicznych Tworzenie aplikacji (internetowej czy tradycyjnej) wykorzystującej do przechowywania danych serwer baz danych powoduje, że mamy w takim przypadku do czynienia z tylko jednym plikiem logicznym (dla jednej bazy danych). Relacyjna baza danych składa się z tabel. Tabele przechowywane w bazie danych traktujemy jak elementy typu rekord (RET). Tabele składają się z pól, które traktujemy jako elementy typu dane (DET). W opisywanych liczba RET i DET kształtowała się następująco: Referat Analiza Punktów Funkcyjnych

  27. Szacowanie rozmiaru transakcji Liczba transakcji w przypadku korzystania z baz danych przesądzać będzie o rozmiarze systemu. Oto charakterystyka transakcji dla obu systemów: Referat Analiza Punktów Funkcyjnych

  28. Szacowanie ogólnej charakterystyki systemu IFPUG wyodrębnił 14 czynników pozwalających na określenie ogólnej charakterystyki systemu. Każdemu z nich można przypisać wagę od 0 (brak wpływu) do 5 (silny wpływ). Wagi te wykorzystuje się do obliczenia współczynnika skorygowania. Poniżej skupię się na podaniu cech charakterystycznych dla aplikacji internetowych. Współczynnik skorygowania dla aplikacji internetowej ePlan wynosi 0,91, więc ostateczna liczba punktów funkcyjnych wynosi dla tej aplikacji 42 Referat Analiza Punktów Funkcyjnych

  29. Szacowanie produktywności Znając skorygowaną liczbę punktów funkcyjnych jesteśmy w stanie określić czas potrzebny na wykonanie określonego systemu oraz liczbę pracowników potrzebnych do wykonania tego systemu w zadanym czasie. Referat Analiza Punktów Funkcyjnych

  30. Zakończenie... Umiejętność oszacowania rozmiaru aplikacji daje nam wiele korzyści. Pozwala na określenie czasu realizacji projektu, liczby osób potrzebnych do ukończenia go w określonym terminie oraz kosztów realizacji systemu. Mimo, że metoda punktów funkcyjnych nie była opracowana z myślą o systemach opartych na interfejsach graficznych, po modyfikacjach można ją zastosować do ich szacowania. Metoda punktów funkcyjnych nie jest powszechnie stosowana w Polsce. Jest natomiast metodą sprawdzoną w świecie, gdzie szacowanie software jest zjawiskiem powszechnym, pozwala na efektywne zarządzanie projektami informatycznymi oraz kosztami wynikającymi z ich realizacji. Dziękujemy za uwagę! Referat Analiza Punktów Funkcyjnych

More Related