Il odel Driven Design, pretenderebbe di poter generare il codice partendo dall'UML. Ed è li che il fallimento ci aspetta dietro l'angolo.
Fare una generazione di codice da UML e poi continuare a mantenere il codice allineato al modello è un lavoro pesante e difficilmente automatizzabile.
Teniamo a mente anche che:
- I diagrammi rappresentano una vista del modello analitico. Ma non sono il modello analitico.
Per dirla con un detto zen...se qualcuno vi indica la luna con il dito...non confondete il dito con la luna.
- E' invece il codice di un progetto (e volendo astrarre, anche il design) che riesce a catturare il modello più finemente.
Certe volte è meglio leggere codice parlante che quintali di documentazione (Ogni buon developer nel suo intimo conosce questa verità!).
Il class designer di Visual Studio si discosta da altri tool di modellazione (statica) proprio per il fatto che non è UML che in qualche modo sarà trasformato in codice. E' semplicemente una view grafica sul codice stesso, modificabile interattiva ed intuitiva. E per far questo si è dovuto superare il limite dell'UML in favore dell'adozione di un Domain Specific Language.
Nei prossimi post cercheremo di capire meglio come il design ci aiuti a mantenere allineata l'implementazione al modello analitico.