Jarosław Świerczek

21
Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC Jarosław Świerczek

description

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. - PowerPoint PPT Presentation

Transcript of Jarosław Świerczek

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.

AplikacjaE

R

M

X

Baza

W

Proces funkcjonalny

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

LICZBA CFP

Zmiana

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

Rozmiar funkcjonalny: 10 CFP (z pominięciem trywialnego A)

E sterowanie.uruchomR Artykuł.Odczytaj ListęX Artykuł.Prezentuj ListęE Artykuł.Wybierz Z ListyR Kategoria.Pobierz ListęX Kategoria.Prezentuj ListęE Kategoria.Wybierz Z ListyE Artykuł.AktualizujA Artykuł.Weryfikuj KompletnośćX Błąd.Prezentuj ListęW Artykuł.Zapisz

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.