FDD è un processo di iterazione breve guidato dal modello che consiste in cinque attività di base. Per un accurato resoconto dello stato e per tenere traccia del progetto di sviluppo del software, vengono definite delle pietre miliari che segnano i progressi fatti su ogni caratteristica. Questa sezione dà una panoramica di alto livello delle attività. Nella figura a destra, viene mostrato il modello di metaprocesso per queste attività. Durante le prime due attività sequenziali, viene stabilita una forma generale del modello. Le ultime tre attività sono iterate per ogni caratteristica.
Sviluppare il modello generaleModifica
Il progetto FDD inizia con un walkthrough di alto livello dello scopo del sistema e del suo contesto. Successivamente, modelli di dominio dettagliati sono creati per ogni area di modellazione da piccoli gruppi e presentati per la revisione tra pari. Uno o più dei modelli proposti sono selezionati per diventare il modello per ogni area di dominio. I modelli delle aree di dominio sono progressivamente fusi in un modello generale.
Costruisci la lista delle caratteristicheModifica
Le conoscenze raccolte durante la modellazione iniziale sono usate per identificare una lista di caratteristiche decomponendo funzionalmente il dominio in aree tematiche. Le aree tematiche contengono ciascuna attività di business, e i passi all’interno di ogni attività di business formano la base per una lista di caratteristiche categorizzate. Le caratteristiche in questo senso sono piccoli pezzi di funzioni valutate dal cliente espresse nella forma “<azione> <risultato> <oggetto>”, per esempio: ‘Calcola il totale di una vendita’ o ‘Convalida la password di un utente’. Le caratteristiche non dovrebbero richiedere più di due settimane per essere completate, altrimenti dovrebbero essere suddivise in pezzi più piccoli.
Plan by featureEdit
Dopo che la lista delle caratteristiche è completata, il passo successivo è produrre il piano di sviluppo e assegnare la proprietà delle caratteristiche (o set di caratteristiche) come classi ai programmatori.
Design by featureEdit
Un pacchetto di design è prodotto per ogni caratteristica. Un programmatore capo seleziona un piccolo gruppo di caratteristiche che devono essere sviluppate entro due settimane. Insieme ai proprietari delle classi corrispondenti, il capo programmatore elabora diagrammi di sequenza dettagliati per ogni caratteristica e perfeziona il modello generale. Successivamente, vengono scritti i prologhi delle classi e dei metodi e infine si tiene un’ispezione del progetto.
Costruisci per caratteristicaModifica
Dopo un’ispezione del progetto di successo per ogni attività per produrre una caratteristica, i proprietari delle classi sviluppano il codice per le loro classi. Dopo un test unitario e un’ispezione del codice di successo, la caratteristica completata viene promossa alla build principale.