Sto cercando indicazioni sugli strumenti CASE e se i miei dubbi sono validi.
Recentemente ero in un incontro tra il mio datore di lavoro e una società di software esterna che ha uno strumento CASE attualmente in versione beta. Ci hanno dimostrato questo strumento, mostrando come si costruisce un modello UML in Enterprise Architect (o qualcosa del genere) e poi, attraverso il loro strumento, quel modello UML viene trasformato in un progetto Visual Studio, con file C #, stored procedure per SQL Server , codice per il livello dati, roba WCF, codice di registrazione e allsorts.
Ora, devo ammetterlo, non vedo il punto in questo, perché non sono convinto che salverà così tanto tempo (in più sembra eccessivo). Gli autori dello strumento hanno affermato che un test dello strumento di un'altra azienda ha consentito a un team di risparmiare 5 settimane di tempo di sviluppo (da 6 settimane a circa 1 settimana) utilizzando questo strumento. Trovo che l'accuratezza di questa stima sia difficile da credere.
La mia preoccupazione principale è se l'utilizzo di questo strumento stia rallentando la mia produttività. Ad esempio: supponiamo di avere un modello UML da cui ho creato una soluzione VS. Ora, voglio rinominare un metodo di classe in qualcos'altro; questo significherà dover aggiornare prima il modello UML e poi ricostruire il codice? È così che funzionano normalmente gli strumenti per i casi?
Qualcosa che dovrò verificare con gli autori è la struttura della soluzione VS generata. Mi piace il modo in cui Domain Driven Design struttura del progetto - Infrostruttura, Servizi, Modello, ecc. Dubito molto che questo strumento lo farà.
Inoltre, ho giocato con Entity Framework Code First e penso che sia un ottimo modo per costruire il modello di dati. Ho dei buoni repository, unità di classi di lavoro e altri schemi di progettazione che funzionano bene con EF. Ho dati anootations e cose del genere funzionano alla grande. Non avendo EF (lo strumento CASE usa il proprio codice di livello dati) sono preoccupato che il codice del livello dati di questo strumento potrebbe non essere piacevole da integrare nel modello UoW, nei repository, ecc. Dovrò verificare quando arriverò uno sguardo più ravvicinato al codice generato.
Quali sono le esperienze di altre persone con gli strumenti CASE? Sono paranoico per nulla? Sono ingiusto - le mie negatività sono infondate?
EDIT: Mi piace usare TDD / BDD per creare il mio codice, e l'uso di uno strumento CASE sembra che lo renderà difficile. Ancora una volta, qualsiasi feedback su questo sarebbe fantastico.
Saluti. Giac.