Non spendere troppo tempo su UML. Nella mia squadra sono l'unico a conoscere molto bene UML e quindi creare casi d'uso, componenti, stati, spiegazioni e altri diagrammi. Gli altri membri del team sono migliori di me per la codifica, ma non per il diagramma UML.
Il trucco che usiamo è di concentrarsi sul diagramma di classe a livello di modellazione per definire la struttura dell'applicazione e anche lasciare che lo sviluppatore / architetto codifichi come vogliono. Quindi uniamo il modello con il nuovo codice e aggiorniamo il modello ad ogni iterazione. Davvero facile e molto efficiente. Sviluppiamo in Java con Omondo EclipseUML.
Raccomando di non usare alcun MDD che è per me una vera schifezza !! Modeler proverà a prendere più energia all'interno del processo di sviluppo, ma questo non creerà alcun valore se provano a generare tutto il codice dal modello. Il codice appartiene allo sviluppatore / architetto ma non al modellatore. UML deve essere solo una vista dei requisiti del progetto (ad es. Usecase, sequenza, ecc ....) del processo (ad esempio stato o diagramma di attivazione), distribuzione (distribuzione, diagrammi dei componenti). Il diagramma delle classi dovrebbe avere una vista del codice e del diagramma delle classi UML solo come visualizzatore del codice.
La codifica Java dovrebbe rispettare l'approccio agli oggetti e UML, che è anche una lingua oggetto, è davvero utile per evitare cazzate e codifiche stupide.
Il più importante è l'iterazione del diagramma di classe tra il modello in codice e il codice in modello. Non intendo realmente sincronizzazione live, ma per poter unire codice e modello ad ogni iterazione. Uso Omondo EclipseUML e penso che siano l'unico ad aver unito java, entità database e ID modello. L'unione di ID è davvero un concetto potente ed è perfetto per i nostri progetti agili.
La mia raccomandazione è di non comprare alcun libro. Dovresti avere un approccio ad oggetti e usare il linguaggio del diagramma di classe per visualizzare i tuoi oggetti al fine di creare architetture migliori. Se uno dei membri del team conosce UML, usa gli altri diagrammi, altrimenti il diagramma delle classi sarebbe sufficiente.