Az FDD egy modellvezérelt, öt alaptevékenységből álló, rövid írásos fejlesztési folyamat. A pontos állapotjelentés és a szoftverfejlesztési projekt nyomon követése érdekében mérföldköveket határoznak meg, amelyek az egyes funkciókkal kapcsolatos előrehaladást jelzik. Ez a szakasz magas szintű áttekintést ad a tevékenységekről. A jobb oldali ábrán e tevékenységek metafolyamat-modellje látható. Az első két egymást követő tevékenység során kialakul a modell általános alakja. Az utolsó három tevékenységet minden egyes funkcióra vonatkozóan iterálják.
Átfogó modell kialakításaSzerkesztés
A FDD-projekt a rendszer terjedelmének és kontextusának magas szintű bejárásával kezdődik. Ezután kis csoportokban minden egyes modellezési területre részletes tartományi modelleket készítenek, és azokat szakértői értékelésre bemutatják. A javasolt modellek közül kiválasztanak egyet vagy többet, hogy az egyes tartományok modelljévé váljon. A tartományterületi modelleket fokozatosan összevonják egy átfogó modellé.
Funkciólista összeállításaSzerkesztés
A kezdeti modellezés során összegyűjtött ismereteket a tartomány funkcionális, tárgykörökre bontásával a funkciók listájának meghatározására használják. A tárgykörök mindegyike üzleti tevékenységeket tartalmaz, és az egyes üzleti tevékenységeken belüli lépések képezik a kategorizált jellemzőlista alapját. A funkciók ebben a tekintetben az ügyfél értékű függvények kis darabjai, amelyeket a “<action> <result> <object>” formában fejeznek ki, például: “Számítsa ki egy eladás végösszegét” vagy “Érvényesítse egy felhasználó jelszavát”. A funkciók elkészítése nem vehet igénybe két hétnél többet, ellenkező esetben kisebb darabokra kell bontani őket.
Tervezés funkciók szerintSzerkesztés
A funkciólista elkészülte után a következő lépés a fejlesztési terv elkészítése és a funkciók (vagy funkcióhalmazok) osztályokként való tulajdonjogának kiosztása a programozóknak.
Tervezés funkciók szerintSzerkesztés
Minden funkcióhoz tervcsomag készül. A főprogramozó kiválasztja a két héten belül fejlesztendő funkciók egy kis csoportját. A főprogramozó a megfelelő osztálytulajdonosokkal együtt részletes szekvencia-diagramokat dolgoz ki az egyes funkciókhoz, és finomítja a teljes modellt. Ezután megírják az osztály- és metódusprológusokat, végül pedig tervellenőrzést tartanak.
Build by featureEdit
A sikeres tervellenőrzés után minden egyes feature előállításához szükséges tevékenység tervezése után az osztálytulajdonosok fejlesztik az osztályaik kódját. Az egységtesztelés és a sikeres kódellenőrzés után az elkészült funkciót előléptetik a fő építésbe.