Praktyczne aspekty stosowania metody punktów

Transkrypt

Praktyczne aspekty stosowania metody punktów
Praktyczne aspekty stosowania
metody punktów funkcyjnych
COSMIC
Jarosław Świerczek
Punkty funkcyjne
•
•
•
Punkt funkcyjny to metryka złożoności oprogramowania
wyznaczana w oparciu o określające to oprogramowanie
wymagania.
Liczba punktów funkcyjnych, wraz z benchmarkami, może być
wykorzystana jako podstawa do wymiarowania projektów IT.
Praktycznie zastosowanie metod punktów funkcyjnych
wymaga integracji metody z procesami zarządczym i
wytwórczym w celu:
–
–
doboru sposobu wyliczania PF dla danego etapu projektu,
optymalnego dopasowania sposobu wyliczania do
dostępnych w etapie artefaktów projektu.
Czy warto?
•
•
•
•
Czy metody PF są skuteczne?
–
20% dokładności szacowania zapewnia wystarczające informacje zarządcze.
Czy metody PF są efektywne?
–
Odpowiednia integracja procesów w minimalnym stopniu wpływa na
produktywność zespołu.
–
Miary efektywności i jakości pozwalają na obiektywną optymalizację procesu
wytwórczego co podnosi produktywność.
Czy metody PF są dopasowane do projektów?
–
Metody punktów funkcyjnych II generacji (np. COSMIC) można efektywnie
wykorzystać we współczesnych projektach.
Czy metody PF są stosowane?
–
Dane z > 90 000 nowych projektów.
–
Dane z > 55 000 projektów utrzymaniowych.
Jak wdrażać?
W celu skutecznego wdrożenia procesu wymiarowania
oprogramowania konieczne jest uwzględnienie związku tego
procesu z innymi procesami w organizacji tak by możliwie
najlepiej je dopasować:
•
•
•
Proces obsługi zamówień i zleceń
Proces zarządzania projektami
Proces analizy wymagań
Metoda COSMIC
•
•
•
•
Najstarsza metoda punktów funkcyjnych (Function Point
Analysis) powstała w latach ’70 celem szacowania rozmiaru
oprogramowania klasy MIS. Metoda jest utrzymywana do dziś
przez organizację IFPUG.
W latach ‘90 rozwinięto ideę metody FPA do metody FFP (Full
Function Point) celem dostosowania jej do oprogramowania
czasu rzeczywistego i systemowego.
Jednym z efektów prac nad FFP jest metoda COSMIC,
opublikowana po raz pierwszy w 1999 roku (wtedy jeszcze jako
COSMIC-FFP).
Metoda COSMIC jest utrzymywana przez organizację o tej
samej nazwie.
Metoda COSMIC
Metoda COSMIC bazuje na odpowiednim zliczaniu przesunięć grup
danych w ramach procesów funkcjonalnych przy czym zarówno
procesy funkcjonalne jak i grupy danych wynikają z wymagań
funkcjonalnych celu użytkownika.
Proces funkcjonalny
Aplikacja
E
M
X
W
R
Baza
LICZBA
CFP
Wymagania funkcjonalne celu użytkownika
•
•
•
Wymagania funkcjonalne celu użytkownika (FUR – Functional
User Requirements) definiują co oprogramowanie ma
realizować dla użytkowników funkcjonalnych.
Wymagania z grupy FUR są zazwyczaj podzbiorem wymagań
definiowanych dla oprogramowania – abstrahują od wymagań
technologicznych, jakościowych oraz wydajnościowych.
W praktyce projektowej wymagania funkcjonalne celu
użytkownika modeluje się jako przypadki użycia na poziomie
celu użytkownika oraz jako klasy modelu dziedziny problemu.
Modele te najczęściej zapisuje się w notacji UML.
Model analityczny a metoda COSMIC
•
•
Z zastrzeżeniem kilku dodatkowych reguł można przyjąć iż
proces funkcjonalny COSMIC to przypadek użycia celu
użytkownika oraz iż grupa danych COSMIC to klasa modelu
dziedziny.
Dodatkowe reguły muszą objąć takie zagadnienia jak:
–
–
–
–
stosowanie relacji include i extend dla przypadków użycia,
stosowanie relacji gen-spec dla przypadków użycia i klas,
kroki przypadków użycia będące algorytmami,
identyfikację zmian.
UML a metoda COSMIC
•
Standardowo narzędzia CASE stosowane do modelowania w
notacji UML nie wspierają metody COSMIC. Należy zatem
określić praktyczny sposób wprowadzenia dodatkowych
elementów modelu:
–
–
–
–
przesunięć COSMIC,
powiązania przesunięć COSMIC z klasami modelu
dziedziny,
oznaczania modyfikacji przesunięć,
oznaczania punktów rozszerzeń metody (dla algorytmów).
COSMIC - UML - CASE
Idea integracji
LICZBA
CFP
COSMIC - UML - CASE
Idea integracji
Zm
ia
na
LICZBA
CFP
COSMIC - UML - CASE
Model przypadków użycia celu użytkownika
COSMIC - UML - CASE
Model klas dziedziny i klasy pomocnicze COSMIC
COSMIC - UML - CASE
Diagram przebiegu przypadku użycia
COSMIC - UML - CASE
Doprecyzowanie cech aktywności poprzez wskazanie
wykorzystywanych operacji podstawowych oraz biznesowych
sterowanie.uruchom
Artykuł.Odczytaj Listę
Artykuł.Prezentuj Listę
Artykuł.Weryfikuj Kompletność
COSMIC - UML - CASE
Automatyczny raport z CASE dla danego procesu funkcjonalnego
tożsamego z przypadkiem użycia
E
R
X
E
R
X
E
E
A
X
W
sterowanie.uruchom
Artykuł.Odczytaj Listę
Artykuł.Prezentuj Listę
Artykuł.Wybierz Z Listy
Kategoria.Pobierz Listę
Kategoria.Prezentuj Listę
Kategoria.Wybierz Z Listy
Artykuł.Aktualizuj
Artykuł.Weryfikuj Kompletność
Błąd.Prezentuj Listę
Artykuł.Zapisz
Rozmiar funkcjonalny: 10 CFP (z pominięciem trywialnego A)
A jeśli nie mamy analizy funkcjonalnej?
•
•
•
Wbudowane w metodę rozwiązania pozwalają aproksymować
liczbę CFP na poziomie planowania projektu w oparciu o
wymagania biznesowe aczkolwiek poziom błędu takich
oszacowań jest dosyć wysoki (50%) a sposób szacowania
słabo weryfikowalny.
Projektowane rozszerzenia metody pozwalają szacować o
zbiór wstępnie zidentyfikowanych przypadków użycia i
zidentyfikowanych klas modelu dziedziny. Podejście ma
spodziewany niższy poziom błędu (35%) niż metody
oryginalne i jest łatwiej weryfikowalne.
Powyższe rozwiązania są aktualnie w fazie projektowania i
oceniania skuteczności.
A jak już to wszystko zadziała?
•
Automatyzacja wyliczania punktów funkcyjnych COSMIC, w
połączeniu z danymi benchmarkowymi, niesie ze sobą szereg
konsekwencji z których najważniejsze to:
–
–
na poziomie operacyjnym – zarówno analityk jak i
użytkownik stają się świadomi kosztów definiowanych
wymagań,
na poziomie zarządczym – zarówno wykonawca jak i
zamawiający stają się świadomi realnych wymiarów
projektu.
Sprawy intrygujące i do przemyśleń
•
•
Jak praktyczne wdrożenie metod PF wpłynie na typowe w
polskim IT kontrakty fix-price oparte o wymagania
zdefiniowane na poziomie biznesowym? Czy to utrudni czy
ułatwi współpracę stron umowy?
Jak praktyczne stosowanie metod PF wpłynie na określanie
budżetów dla planowanych projektów, budowana SIWZ’ów
oraz ocenę ofert? Czy to poprawi jakość realizacji projektów
czy też utrudni ich uruchamianie?
Sprawy intrygujące i do przemyśleń
•
Czy nadszedł już czas powszechnego wprowadzenia metod PF
dla szacowania złożoności projektów informatycznych w
Polsce? Kto będzie tego procesu zwolennikiem, a kto
przeciwnikiem?
–
Wprowadzenie metod PF to droga do unormowania procesu
wyceny usług dla dużych projektów utrzymaniowych oraz
procesu wyceny pracochłonności dla dużych zespołów
softwareowych.
COSMIC – co dalej?
•
•
•
Trwają przygotowania do opracowania polskiej wersji oficjalnej
specyfikacji metody.
Trwają przygotowania do publikacji w ramach organizacji
COSMIC polskich artykułów dotyczących:
–
integracji metody COSMIC z analizą funkcjonalną opartą o
notację UML,
–
skuteczniejszego podejścia do szacowania wstępnego,
–
wykorzystania metody do praktycznego szacowania
algorytmów „biznesowych” dla systemów klasy MIS.
Planowane jest pierwszy polskojęzyczny egzamin certyfikujący
COSMIC.

Podobne dokumenty