1. WPROWADZENIE KRÓTKA HISTORIA JAKO METODY PUNKTÓW FUNKCYJNYCH PI GŁÓWNYCH KOMPONENTÓW KLASYFIKACJA...

Podobne dokumenty
AskAnything Plan Przedsięwzięcia Plan Testów

Wymiarowanie projektów informatycznych Metoda punktów funkcyjnych.

Analiza punktów funkcyjnych Miara wielkość funkcjonalnej oprogramowania

Projektowanie i analiza zadaniowa interfejsu na przykładzie okna dialogowego.

Wprowadzenie do kompilatorów

Program do konwersji obrazu na cig zero-jedynkowy

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Typy bazy danych Textract

Zespół io07-7e: Agata Chrobak Kornel Jakubczyk Tomek Klukowski Przemek Kosiak. Projekt SZOP SDP

FUNKCJE UYTKOWNIKA. Rozbrajanie systemu pod przymusem [Kod przymusu] Blokowanie linii

Programowanie Obiektowe

Bazy danych Podstawy teoretyczne

Oszacowanie pracochłonności wykonania systemu metodą punktów funkcyjnych

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

3. Instalator rozpocznie proces instalacji

EC4P Pierwszy program w 6 krokach

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Planowanie adresacji IP dla przedsibiorstwa.

Metody pomiaru i szacowania oprogramowania

Sposoby przekazywania parametrów w metodach.

Rys1. Schemat blokowy uk adu. Napi cie wyj ciowe czujnika [mv]

Klonowanie MAC adresu oraz TTL

Metoda Punktów Funkcyjnych

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

Easy Scan Easy Scan Instrukcja Obsáugi. Wersja 1.2

Rubik s Manager - SDP

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management

Instrukcja obsługi programu MechKonstruktor

Gramatyki regularne i automaty skoczone

Spis treści: 1Wstęp...3 2Metody szacowania...3 3Wady metod opartych na jednostkach programowych...3 4Metoda punktów funkcyjnych (MPF)...

Sterowanie prac plotera w układach logiki programowalnej

geometry a w przypadku istnienia notki na marginesie: 1 z 5

Dla ułatwienia pracy wydrukuj poni sz instrukcj

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Wstp. Warto przepływu to

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC)

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Program SMS4 Monitor

Instrukcja obsługi regulatora i wizualizacji pieca pokrocznego na Walcowni Drobnej P46 Strona 1 z 26

Szacowanie rozmiaru oprogramowania

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

Podłczenie HMI do LOGO!..0BA7 (WinCC Basic V11)

PROWIZJE Menad er Schematy rozliczeniowe

Elementy pneumatyczne

Daniel Kierepka. Kompresja obrazów za pomoc sztucznych sieci neuronowych

Audyt wewntrzny systemu ELA-enT raport

%$-,./+,-.0! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

AltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents

Szukanie najkrótszych dróg z jednym ródłem

Podręcznik stosowania metody Punktów Funkcyjnych IFPUG w Agencji Restrukturyzacji i Modernizacji Rolnictwa

Projektowanie algorytmów rekurencyjnych

Rys2 Na czerwono przebieg, na niebiesko aproksymacja wielomianem II stopnia.

Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

Software Development Plan dla systemu USOSweb 2.0

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego.

Studium przypadku Case Study CCNA2-ROUTING

Wprowadzanie i zmiany faktur z zakupu, wydruk rejestru zakupu

Symulacja cieek klinicznych w rodowisku PowerDesigner i SIMUL8

POBÓR MOCY MASZYN I URZDZE ODLEWNICZYCH

Blok funkcjonalny to specjalizowany układ cyfrowy przystosowany do wykonania jednej lub kilku okrelonych operacji przetwarzania sygnałów binarnych.

SIEMENS GIGASET REPEATER

WYJCIOWE WYMAGANIA Bdce podstaw do przygotowania oferty. ul. Kociuszki Radziejów tel , faks

System obsługi pacjenta w ośrodku zdrowia

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU

AltiumLive - Content Store. AltiumLive - Content Store. Language. Contents

WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor

ELEMENT SYSTEMU BIBI.NET. Instrukcja Obsługi

Agenda zaj. dr in. Andrzej Sobczak. Informacje analogowe vs dyskretne

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

System TELE-Power (wersja STD) Instrukcja instalacji

Instrukcja obsługi programu DIALux 2.6

Zadania do wykonaj przed przyst!pieniem do pracy:

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

HISZPANSKI NA POZIOMIE PDF

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

GAF 860 wzmacniacz kanałowy DVB-T / DVB-H INSTRUKCJA OBSŁUGI

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Badania marketingowe w pigułce

Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN

Laboratorium Ergonomii Politechniki Wrocławskiej (

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Nowe kody kreskowe GS1 DataBar Pakiet informacyjny dla PRODUCENTÓW

Instrukcja obsługi TG051

TYPY WARTOCI I FORMAT DANYCH W ARKUSZU KALKULACYJNYM MS EXCEL

CYKL ZAJ POZNAJEMY POWER POINT

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej x x x x x

Topór Światowida Software Architecture Document

Proces tworzenia programu:

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych

Transkrypt:

Opracowanie: Artur Tomaszewski 1. WPROWADZENIE... 1 2. KRÓTKA HISTORIA... 1 3. JAKO METODY PUNKTÓW FUNKCYJNYCH... 2 4. PI GŁÓWNYCH KOMPONENTÓW... 2 5. KLASYFIKACJA... 3 6. WSPÓŁCZYNNIK VAF (VALUE ADJUSTMENT FACTOR) I PUNKTY FUNKCYJNE... 5 7. PODSUMOWANIE... 6 8. PROBLEMY... 6 9. LITERATURA... 6 1. Wprowadzenie Ludzie rozwizujc problemy, dziel je na mniejsze, łatwiejsze do zrozumienia czci. Problemy, które w całoci wydaj si by skomplikowane, czsto okazuj si bardzo proste, jeeli podzielimy je na czci. Np. wyszukanie ksiki w bibliotece byłoby bardzo trudne, jeli nie byłyby one podzielone tematycznie, alfabetycznie lub w jakikolwiek inny sposób. Metoda punktów funkcyjnych (ang. Function Points Method) jest strukturaln metod klasyfikacji komponentów systemu. Jest to technika podziału systemów na mniejsze, łatwiejsze do zrozumienia i przeanalizowania, komponenty. W metodzie tej wystpuje pi głównych klas, charakteryzujcych systemy: zewntrzne wejcia (ang. External Inputs), zewntrzne wyjcia (ang. External Outputs), zewntrzne zapytania (ang. External Inquires), pliki wewntrzne (ang. Internal Logical Files) i pliki zewntrzne (ang. External Interface Files). Klasy te charakteryzuj funkcjonalno systemu. 2. Krótka historia Załoenia metody Punktów Funkcyjnych opublikował Allan J. Albrecht (IBM) w 1979. Była to próba przezwycienia problemów zwizanych z uyciem liczby linii kodu jako miary wielkoci oprogramowania i jednoczenie próba opracowania metody przewidzenia wysiłku zwizanego z produkcj oprogramowania.

3. Jako metody punktów funkcyjnych Metoda punktów funkcyjnych powinna by stosowana przez osoby dowiadczone. Jeli jednak analiza jest przeprowadzana przez osob, która nie wykorzystywała jej w przeszłoci, to rezultaty tej analizy powinny zosta sprawdzone przez kogo dowiadczonego w jej stosowaniu. Wane jest take, aby podczas pracy korzysta z najnowszej wersji dokumentacji metody [IFPUG]. Przy zliczaniu punktów funkcyjnych wykorzystywana jest take aktualna wersja dokumentacji analizowanego systemu. Bardzo przydatne s tutaj takie dane, jak np.: wygld poszczególnych ekranów aplikacji, lista interfejsów z innymi systemami, wykorzystywane struktury danych, itp. Analiza punktów funkcyjnych jest zadaniem, które powinno by włczone do ogólnego planu projektu. Jej wyniki mog by aktualizowane w celu lepszej estymacji wielkoci tworzonego oprogramowania. 4. Pi głównych komponentów Poniewa charakterystyczn cech wikszoci budowanych ostatnio systemów komputerowych jest komunikacja z innymi systemami, dlatego pierwsz czynnoci, jest okrelenie granicy analizowanego systemu. Granica ta (ustalana z punktu widzenia uytkownika) oddziela system od aplikacji zewntrznych. Kiedy omawiana granica zostanie okrelona, poszczególne komponenty systemu mog zosta sklasyfikowane. Aplikacja zewntrzna Projektowana aplikacja wejcie pliki zewntrzne pliki wewntrzne wyjcie zapytanie 4.1. Zewntrzne wejcia (ang. External Inputs) Zewntrzne wejcie (EI) to elementarny proces w którym dane przekraczaj granice systemu z zewntrz, do jego wntrza. Dane te mog pochodzi z ekranu bd z innej aplikacji (maj one wpływ na modyfikacj plików wewntrznych ILF). Dobrym ródłem informacji, pozwalajcym okreli EI s projekty ekranów i dialogów. 4.2. Zewntrzne wyjcia (ang. External Outputs) Zewntrzne wyjcie (EO) to elementarny proces w którym dane (wygenerowane przez system) przekraczaj granice systemu z jego wntrza, na zewntrz. Dane te tworz rónego rodzaju raporty lub s wyjciowymi plikami wysyłanymi do innych aplikacji. Te raporty lub pliki tworzone s z jednego lub wicej plików wewntrznych (ILF). Dobrym ródłem informacji, pozwalajcym okreli EO s projekty raportów i formaty plików wysyłanych na zewntrz aplikacji. 2

4.3. Zewntrzne zapytania (ang. External Inquires) Zewntrzne zapytania (EQ) to procesy które przetwarzaj dane wejciowe na wyjciowe. Zapytania nie mog modyfikowa plików wewntrznych (ILF), a ich wyniki nie zawieraj dostarczonych danych. Dobrym ródłem informacji, pozwalajcym okreli EQ s projekty ekranów i dialogów. 4.4. Pliki wewntrzne (ang. Internal Logical Files) Pliki wewntrzne (ILF) to, moliwa do zidentyfikowania przez uytkownika, grupa logicznie powizanych ze sob danych, umieszczonych całkowicie w granicach systemu. ILF s uzupełniane (modyfikowane) przez EO. Dobrym ródłem informacji, pozwalajcym okreli ILF s logiczne modele danych, czy opisy bazy danych. 4.5. Pliki zewntrzne (ang. External Interface Files) Pliki zewntrzne (EIF) to, moliwa do zidentyfikowania przez uytkownika, grupa logicznie powizanych ze sob danych, uywanych tylko do celów referencyjnych. Dane te umieszczone s całkowicie poza granicami systemu i s modyfikowane przez inne aplikacje. ródłem informacji o EIF moe by opis powiza systemu z innymi aplikacjami. 5. Klasyfikacja Jeeli wyrónione zostały wszystkie komponenty systemu, nastpnym krokiem jest klasyfikacja ich pod wzgldem wielkoci. Dla procesów EI, EO i EQ klasyfikacja ta dokonywana jest na podstawie liczby plików modyfikowanych lub plików do których nastpuj odwołania (FTR) i na podstawie elementów danych (DET). Dla plików wewntrznych i zewntrznych klasyfikacja dokonywana jest na podstawie analizy struktury rekordów (RET) i elementów danych (DET). Rekord jest rozpoznawaln przez uytkownika grup elementów danych wewntrz ILF lub EIF. Element danych jest rozpoznawalnym przez uytkownika, unikalnym polem. Celem lepszego wyjanienia tych poj wyobramy sobie informacje zawarte na płycie kompaktowej zawierajcej muzyk. Załómy, e płyta taka zawiera nastpujce informacje: etykiet, nazw wykonawcy, producenta, dat i utwory muzyczne. Dla kadego utworu pamitana jest jego nazwa i długo. W omawianym przykładzie mamy wic dwa rekordy (RET): informacje ogólne i dane utworów muzycznych. Informacje ogólne składaj si z 4 elementów danych DET (etykieta, nazwa wykonawcy, producent, data), a dane utworów z 2 elementów (nazwa i długo). W sumie mamy tu wic 2 rekordy i 6 elementów danych. Ponisze tabele s pomocne przy klasyfikacji poszczególnych komponentów systemu. W nawiasach podane zostały wartoci numeryczne które przyporzdkowane bd do danego komponentu i wykorzystane w póniejszych obliczeniach. Np. dla EI który odwołuje si lub modyfikuje 2 pliki (FTR) majce 7 elementów danych, bdzie przyporzdkowana warto 4. Zewntrzne wejcia EI Liczba plików FTR Liczba elementów danych 1-4 5-15 >15 <2 Low (2) Low (3) Average (4) 2 Low (2) Average (4) High (6) >2 Average (4) High (6) High (6) 3

Zewntrzne wyjcia EO Liczba plików FTR Liczba elementów danych 1-5 6-19 >19 <2 Low (4) Low (4) Average (5) 2 lub 3 Low (4) Average (5) High (7) >3 Average (5) High (7) High (7) W przypadku zapyta, pod uwag brane s zarówno dane wejciowe, jak i wyjciowe. Najwiksze wartoci wejcia i wyjcia słu wyznaczeniu wartoci jaka przyporzdkowana bdzie zewntrznemu zapytaniu. Np. jeeli strona wejciowa zapytania została sklasyfikowana jako Low, a strona wyjciowa jako Average, to całemu zapytaniu przyporzdkowana zostanie warto Average. Zewntrzne zapytanie EQ Zew. we. EI Zew. wy. EO Low Average High Low Low (3) Average (4) High (6) Average Average (4) Average (4) High (6) High High (6) High (6) High (6) W przypadku plików wewntrznych i zewntrznych pod uwag brane s liczby rekordów i elementów danych. Pliki wewntrzne ILF Liczba rekordów Liczba elementów danych 1-19 20-50 >50 1 Low (7) Low (7) Average (10) 2-5 Low (7) Average (10) High (15) >5 Average (10) High (15) High (15) Pliki zewntrzne EIF Liczba rekordów Liczba elementów danych 1-19 20-50 >50 1 Low (5) Low (5) Average (7) 2-5 Low (5) Average (7) High (10) >5 Average (7) High (10) High (10) Liczby komponentów danej wielkoci ( Low, Average lub High ) dla kadej z piciu klas komponentów wprowadzone s nastpnie do przedstawionej poniej tabeli. Kada z tych liczb jest przemnoona przez warto podan w tabeli. Wartoci w poszczególnych rzdach s sumowane, dziki czemu otrzymujemy całkowit warto dla kadej klasy komponentów. Wartoci te s sumowane (w pionie) i w rezultacie uzyskujemy warto UT (ang. Total Number of Unadjusted Function Points). 4

Wielko Typ Low Average High Zewntrzne wejcia EI _*3= *4= *6=_ Zewntrzne wyjcia EO _*4= *5= *7=_ Zewntrzne zapytania EQ _*3= *4= *6=_ Pliki wewntrzne ILF _*7= *10= *15=_ Pliki zewntrzne EIF _*5= *7= *10=_ UT Suma 6. Współczynnik VAF (Value Adjustment Factor) i punkty funkcyjne Współczynnik VAF (zwany te CM Complexity Multiplier) obliczany jest na podstawie 14 głównych charakterystyk, okrelajcych funkcjonalno projektowanego systemu. Kadej z charakterystyk przyporzdkowany został krótki opis pozwalajcy oszacowa wpływ danej charakterystyki na warto VAF. Wpływ ten okrela si wartoci naturaln od 0 (bez wpływu) do 5 (bardzo duy wpływ). l.p. Charakterystyka Opis 1. Data communications How many communication facilities are there to aid in the transfer or exchange of information with the application or system? 2. Distributed data processing How are distributed data and processing functions handled? 3. Performance Was response time or throughput required by the user? 4. Heavily used configuration How heavily used is the current hardware platform where the application will be executed? 5. Transaction rate How frequently are transactions executed daily, weekly, monthly, etc.? 6. On-Line data entry What percentage of the information is entered On-Line? 7. End-user efficiency Was the application designed for end-user efficiency? 8. On-Line update How many ILF s are updated by On-Line transaction? 9. Complex processing Does the application have extensive logical or mathematical processing? 10. Reusability Was the application developed to meet one or many user s needs? 11. Installation ease How difficult is conversion and installation? 12. Operational ease How effective and/or automated are start-up, back-up, and recovery procedures? Was the application specifically designed, 13. Multiple sites developed, and supported to be installed at multiple sites for multiple organizations? 14. Facilitate change Was the application specifically designed, developed, and supported to facilitate change? Ocena 1..5 Majc te dane współczynnik VAF obliczy mona z nastpujcego wzoru: VAF = 0.65 + 0.01* gdzie C i s ocenami poszczególnych charakterystyk. 14 C i i= 1 5

Ostateczny wynik analizy punktów funkcyjnych otrzymujemy przez pomnoenie współczynników VAF i UT. FP = VAF * UT W ten sposób otrzymalimy oszacowanie rozmiaru tworzonego systemu, wyraone w punktach funkcyjnych. Bardzo czsto istnieje jednak potrzeba przeliczenia tej wielkoci na liczb instrukcji kodu, jaki musi zosta napisany (LOC- Lines Of Code). Oczywicie liczba LOC zalena bdzie od jzyka programowania, jaki uyty zostanie do implementacji systemu. W tym celu zastosowa naley odpowiedni mnonik M. Ponisza tabela zawiera wartoci tego mnonika dla wybranych jzyków programowania. Jzyk Mnonik M Assembler 320 C 128 Cobol 105 Fortran 105 Pascal 90 Ada 70 Jzyki obiektowe 30 Liczb linii kodu mona wyznaczy z nastpujcego wzoru: 7. Podsumowanie LOC = FP * M Metoda punktów funkcyjnych moe zosta uyta w celu dokładnego oszacowania rozmiaru oprogramowania. Liczba punktów funkcyjnych policzona przez róne osoby, w rónym czasie jest taka sama (zakładajc rozsdny margines błdu). Metoda punktów funkcyjnych jest zrozumiała dla nietechnicznego uytkownika, co ułatwia porozumienie si i negocjacj ludzi tworzcych oprogramowanie z klientami i przyszłymi jego uytkownikami. 8. Problemy Gdy w systemie trzeba zaimplementowa bardzo skomplikowany algorytm, który nie wymaga duej liczby linii kodu, czas jego opracowania jest jednak bardzo długi. W takim przypadku punkty funkcyjne nie nios dostatecznej informacji. Jak oszacowa projekt interfejsu graficznego? 9. Literatura [IFPUG] Function Point Counting Practices Manual version 4.0, IFPUG, www.ifpug.org [Lon99a] David H. Longstreet, Fundamentals of Function Point Analysis, www.softwaremetrics.com [Lon99b] David H. Longstreet, Understanding RET s, www.softwaremetrics.com [Nawr99] Jerzy Nawrocki, Slajdy do wykładów z PSP, Pozna 1999 6