Ważone punkty mikrofunkcyjne

Weighted Micro Function Points ( WMFP ) to nowoczesny algorytm skalowania oprogramowania , który jest następcą solidnych przodków metod naukowych, takich jak COCOMO , COSYSMO , wskaźnik łatwości utrzymania, złożoność cykliczna , punkty funkcyjne i złożoność Halsteada . Daje dokładniejsze wyniki niż tradycyjne metody określania rozmiaru oprogramowania, a jednocześnie wymaga mniej konfiguracji i wiedzy od użytkownika końcowego, ponieważ większość szacunków opiera się na automatycznych pomiarach istniejącego kodu źródłowego.

Ponieważ wiele metod pomiaru przodków wykorzystuje źródłowe linie kodu (SLOC) do pomiaru rozmiaru oprogramowania, WMFP używa parsera, aby zrozumieć kod źródłowy w podziale na mikrofunkcje i uzyskać kilka metryk złożoności kodu i objętości, które są następnie dynamicznie interpolowane do końcowego ocena wysiłku. Oprócz zgodności z cyklu życia oprogramowania kaskadowego , WMFP jest również kompatybilny z nowszymi metodologiami, takimi jak Six Sigma, Boehm spiral i Agile (AUP/Lean/XP/DSDM), ze względu na możliwości analizy różnicowej, które są możliwe dzięki elementom pomiarowym o wyższej precyzji.

Mierzone elementy

Zmierzone elementy WMFP to kilka różnych metryk oprogramowania wydedukowanych z kodu źródłowego za pomocą analizy algorytmu WMFP. Są one reprezentowane jako procent nakładu pracy całej jednostki (projektu lub pliku) i są przekładane na czas.

Złożoność przepływu (FC) — Mierzy złożoność ścieżki kontroli przepływu programów w sposób podobny do tradycyjnej złożoności cyklicznej , z większą dokładnością przy użyciu obliczeń wag i relacji.
Słownik obiektowy (OV) – Mierzy ilość unikalnych informacji zawartych w kodzie źródłowym programów, podobnie jak w tradycyjnym słownictwie Halsteada z dynamiczną kompensacją języka.
Zaklinanie obiektów (OC) – Mierzy ilość wykorzystania informacji zawartych w kodzie źródłowym programów.
Złożoność arytmetyczna (AI) — Mierzy złożoność obliczeń arytmetycznych w programie
Transfer danych (DT) — Mierzy manipulację strukturami danych w programie
Struktura kodu (CS) — Mierzy ilość pracy włożonej w strukturę programu, np. rozdzielanie kodu w klasy i funkcje
Dane wbudowane (ID) – Mierzy ilość wysiłku włożonego w osadzenie zakodowanych danych
Komentarze (CM) – Mierzy ilość wysiłku włożonego w pisanie komentarzy do programu

Obliczenie

Algorytm WMFP wykorzystuje trzyetapowy proces: analizę funkcji, transformację APPW i translację wyników. Dynamiczny algorytm równoważy i sumuje zmierzone elementy i tworzy całkowity wynik wysiłku. Podstawowa formuła to:

Σ(WiMi) ΠDq
M = wartość metryk źródłowych zmierzona przez etap analizy WMFP
W = skorygowana waga przypisana metryce M przez model APPW
N = liczba typów metryk
i = bieżący indeks typu metryki (iteracja)
D = czynnik kosztotwórczy dostarczony przez dane wejściowe użytkownika
q = bieżący indeks czynnika kosztotwórczego (iteracja)
K = liczba czynników kosztotwórczych

Wynik ten jest następnie przekształcany w czas przez zastosowanie modelu statystycznego zwanego średnią wagą profilu programisty (APPW), który jest zastrzeżonym następcą COCOMO II 2000 i COSYSMO . Otrzymany czas w godzinach pracy programisty jest następnie mnożony przez zdefiniowany przez użytkownika koszt na godzinę przeciętnego programisty, aby uzyskać średni koszt projektu przeliczony na walutę użytkownika.

Wady

Podstawowe elementy WMFP, w porównaniu z tradycyjnymi modelami wymiarowania, takimi jak COCOMO, są bardziej złożone do tego stopnia, że ​​nie można ich realistycznie ocenić ręcznie, nawet w przypadku mniejszych projektów, i wymagają oprogramowania do analizy kodu źródłowego. W rezultacie można go używać tylko z przewidywaniami kosztów opartymi na analogii, a nie z domysłami opartymi na wiedzy teoretycznej.

Zobacz też