Dzisiaj trochę o podstawowej technice którą prawie stosują wszyscy a nikt nie jest świadomy tego że ją stosuję. A tą techniką jest Dekompozycja Funkcjonalna.
A co to jest ta dekompozycja funkcjonalna?
Najprościej jak się da opisać dekompozycję funkcjonalną to
„Rozbicie wymagania na czynniki pierwsze”
Zgodnie z
BABOK(słynne już stwierdzenie, prawie tak samo jak stwierdzenie że coś jest „nieskramowe”) Dekompozycja funkcjonalna pomaga analitykom zarządzać i zmniejszyć niepewność danego zagadnienia poprzez rozbicie procesów, systemów, obszarów w mniejsze części które składają się na spójną całość danego zagadnienia po to aby analizować każdy kawałek oddzielnie.
Dekompozycja funkcjonalna – cechy
Dobra to przejdźmy teraz do kilku cech które są w tej jakże słynnej technice:
– suma wszystkich podzielonych komponetnów opisuje całość rozwiązania,
– każdy komponent odpowiada tylko jednemu komponentowi (mamy strukturę drzewiastą typu ojciec-syn-wnuk-prawnuk,
– dekompozycję elementów wykonujemy do czasu aż mamy wystarczającą wiedzę na temat najmniejszego komponentu która pozwala nam na całkowite zrozumienie zagadnienia,
– dekompozycja moze być wykonana w jakikolwiek sposób który uznajemy za stosowny mogą to być:
a) diagramy w postaci drzewa
b) przypadki użycia
c) zwykłe listy w word
e) diagram komponentów
f) dowolne które nie przychodzą mi na myśl.
Na co trzeba uważać przy dekompozycji funkcjonalnej:
– w przypadku gdy mamy wiele różnego rodzajów interakcji między komponentami, dekompozycja może okazać się bardzo trudna do wykonania
– aby dobrze wykonać dekompozycję potrzeba bardzo dobrej znajomości branży i procesu który opisujemy
– w przypadku bardzo dużych systemów dekompozycja będzie prowadzić do kolejnych dekompozycji i kolejnych itd. itd. co będzie bardzo trudne do wykonania.
Najsłynniejsze dekompozycje funkcjonalne które wykonujemy a nie jesteśmy ich świadomi to
– uwielbiane w programowaniu zwinnym Epic Story,
– przypadki użycia wspomniane wcześniej.
Podsumowanie
Dekompozycja funkcjonalna to bardzo ważne narzędzie w pracy analityka IT. Warto zwiększać świadomość jej istnienia aby każdy wykorzystywał to w 100% i w największym stopniu efektywności. Świadome wykorzystanie dekompozycji funkcjonalnej prowadzi do lepszej analizy u co ważniejsze do unikania błędów.