FDD je krátký proces řízený modelem, který se skládá z pěti základních činností. Pro přesné vykazování stavu a sledování projektu vývoje softwaru jsou definovány milníky, které označují pokrok dosažený na každé funkci. V této části je uveden přehled činností na vysoké úrovni. Na obrázku vpravo je zobrazen metaprocesní model těchto činností. Během prvních dvou postupných činností je stanoven celkový tvar modelu. Poslední tři činnosti jsou iterovány pro každou funkci.
Vypracování celkového modeluEdit
Projekt FDD začíná procházkou na vysoké úrovni rozsahu systému a jeho kontextu. Poté jsou pro každou oblast modelování malými skupinami vytvořeny podrobné modely domény, které jsou předloženy k vzájemnému posouzení. Z navržených modelů je vybrán jeden nebo více, které se stanou modelem pro každou oblast domény. Modely doménových oblastí jsou postupně spojovány do celkového modelu.
Sestavení seznamu funkcíUpravit
Znalosti získané během počátečního modelování se použijí k určení seznamu funkcí funkčním rozkladem domény na tematické oblasti. Každá předmětová oblast obsahuje obchodní činnosti a kroky v rámci každé obchodní činnosti tvoří základ pro kategorizovaný seznam funkcí. Funkce jsou v tomto ohledu malé části funkcí s hodnotou klienta vyjádřené ve tvaru “<akce> <výsledek> <objekt>”, například: “Vypočítat celkovou částku prodeje” nebo “Ověřit heslo uživatele”. Funkce by neměly trvat déle než dva týdny, jinak by měly být rozděleny na menší části.
Plánování podle funkcíEdit
Po dokončení seznamu funkcí je dalším krokem vytvoření plánu vývoje a přiřazení vlastnictví funkcí (nebo sad funkcí) jako tříd programátorům.
Pro každou funkci se vytvoří návrhový balíček. Hlavní programátor vybere malou skupinu funkcí, které mají být vyvinuty během dvou týdnů. Společně s příslušnými vlastníky tříd vypracuje hlavní programátor podrobné sekvenční diagramy pro každou funkci a upřesní celkový model. Dále se napíší prology tříd a metod a nakonec proběhne kontrola návrhu.
Sestavit podle funkceUpravit
Po úspěšné kontrole návrhu pro každou činnost, která má vytvořit funkci, se naplánuje, že vlastníci tříd vyvinou kód pro své třídy. Po testování jednotek a úspěšné kontrole kódu je dokončená funkce povýšena do hlavního sestavení.