"UML è la cosa peggiore che sia mai accaduta a MDD." Perché?

16

William Cook in un tweet ha scritto che:

" UML è la cosa peggiore che accada mai a MDD. Fortunatamente molte persone ora realizzano questo ... "

Mi piacerebbe conoscere il ragionamento alla base di tale affermazione (a quanto pare, non mi riferisco alla sua opinione personale).

Ho notato che molte persone là fuori non amano così tanto UML. Inoltre, vale la pena ricordare che è nel mondo accademico, dove UML è molto più importante del Santo Graal per la progettazione e la modellazione efficaci.

    
posta Florents Tselai 20.06.2012 - 21:58
fonte

4 risposte

37

Bene, sono l'accademico che ha pubblicato il tweet originale. I tweet non sono pensati per essere articoli accademici. Sono pubblicità e penso che possano anche essere controversi. Ecco i miei tweet di follow-up:

1) UML è stato creato per modellare i progetti OO. Effetto che stai modellando il codice di un sistema, non il comportamento del sistema. UML è al livello sbagliato.

2) l'idea che 7 (o 13) formati di diagrammi in UML possano coprire tutto è pazzesco. Che dire di GUI, wireframe web, autorizzazione, ecc. ???

3) UML ha incoraggiato l'idea che i modelli debbano essere grafici. Ridicolo! I modelli di testo e grafici sono entrambi utili e spesso intercambiabili

4) UML è allo stesso tempo troppo grande e complesso e allo stesso tempo molto limitato. Stereotipo e profili non sono efficaci per le estensioni utilizzabili.

Nota che non sto necessariamente dicendo che UML è cattivo. Sto semplicemente dicendo che non sta aiutando l'obiettivo dello "sviluppo guidato dal modello", che è quello a cui sono interessato. Non capisco il commento sul "Santo Graal".

    
risposta data 21.06.2012 - 00:43
fonte
8

UML è l'equivalente di prendere un cacciavite e un martello e registrarli insieme e chiamarlo "Strumento di fissaggio universale". In teoria può essere usato per rappresentare una tonnellata di cose in grande dettaglio, in pratica è un insieme di strumenti scarsamente integrati che pretendono di essere uno strumento unico, il che rende molto più difficile svolgere un compito piuttosto che avere uno strumento adatto per cominciare.

    
risposta data 20.06.2012 - 22:21
fonte
3

Penso ci sia anche il caso di dimostrare che MDD è la cosa peggiore che è accaduta a UML (perché altrimenti avremmo l'UML2 che abbiamo?), ma ignorandolo per il momento ...

MDD = Model Driven < Design | Development & gt ;. L'idea è di essere in grado di sviluppare soluzioni ad un livello di astrazione appropriato al dominio del problema - cioè, è un tentativo di esprimere soluzioni ai problemi nella sintassi più naturale per esprimere tali soluzioni. Il dominio del problema stesso è caratterizzato da un modello operativo (cioè da un modello che può essere eseguito dal computer). Quindi, MDD può essere un approccio molto attraente, anche se con due requisiti principali:

  1. Bisogna essere in grado di compilare quella lingua in una forma adatta all'esecuzione del computer (il modello deve essere operativo ); e
  2. È necessario creare un linguaggio di modellazione per il dominio problematico.

Ho capito che lo sforzo di UML2 era inteso per affrontare il punto 1, probabilmente nella convinzione che l'esperienza industriale con UML mostrasse che il punto 2 era soddisfatto per alcuni grandi sottogruppi di domini problematici. Sfortunatamente, e questo è quello che penso stia facendo William Cook, UML non soddisfa il punto 2 per la portata dei problemi che si pensava. Non parlo per esperienza personale, ma penso che l'esperienza industriale dell'uso di MDD con UML abbia due risultati comuni:

  • O il codice sorgente generato da UML deve essere ottimizzato per risolvere quei piccoli spazi tra la progettazione UML e i requisiti del programma (costringendo gli sviluppatori a lavorare con codice generato che ha standard diversi per la manutenibilità e riducendo l'applicabilità degli artefatti UML all'attuazione); O
  • L'UML si riempie di molti dettagli che riducono la sua usabilità come linguaggio per comunicare sul design.

    In entrambi i casi, la promessa di MDD è insoddisfatta. UML potrebbe essere considerata la cosa peggiore che sia accaduta a MDD perché ha attirato l'attenzione degli sviluppatori di strumenti MDD con l'esclusione di modelli che potrebbero effettivamente funzionare (anche se per un insieme più piccolo di problemi software).

        
  • risposta data 21.06.2012 - 00:43
    fonte
    -2

    UML è grande purché sia solo un linguaggio di modellazione. Se si tenta di connettere MDD a UML per ottenere una visualizzazione grafica, è inutile. MDD sarebbe fantastico senza UML e UML senza MDD.

    Diciamo che UML e MDD hanno divorziato oggi per avere una vita migliore non insieme più: -)

        
    risposta data 21.06.2012 - 11:05
    fonte

    Leggi altre domande sui tag