William Cook em um tweet escreveu que:
" UML é a pior coisa que já aconteceu ao MDD. Felizmente, muitas pessoas agora percebem isso ... "
Gostaria de saber o raciocínio por trás dessa alegação (aparentemente, não estou me referindo à sua opinião pessoal).
Percebi que muitas pessoas por aí não gostam tanto de UML. Também vale a pena mencionar que ele está na academia, onde a UML representa muito o santo graal do design e modelagem eficazes.
Respostas:
Bem, eu sou o acadêmico que postou o tweet original. Os tweets não devem ser artigos acadêmicos. São anúncios, e acho que também podem ser controversos. Aqui estão os meus tweets de acompanhamento:
1) A UML foi criada para modelar projetos de OO. Na verdade, você está modelando o código de um sistema, não o comportamento do sistema. UML está no nível errado.
2) a idéia de que 7 (ou 13) formatos de diagrama na UML podem cobrir tudo que é louco. E quanto a GUIs, wireframes da web, autorização etc. ???
3) A UML incentivou a ideia de que os modelos devem ser gráficos. Ridículo! Modelos de texto e gráficos são úteis e geralmente intercambiáveis
4) A UML é ao mesmo tempo muito grande e complexa e ao mesmo tempo muito limitada. Estereótipo e perfis não são eficazes para extensões utilizáveis.
Observe que não estou necessariamente dizendo que a UML é ruim. Estou simplesmente dizendo que não está ajudando o objetivo do "desenvolvimento orientado a modelos", que é o meu interesse. Não entendo o comentário sobre o "Santo Graal".
fonte
UML é o equivalente a pegar uma chave de fenda e um martelo, colá-los juntos e chamá-lo de "Ferramenta de Fixação Universal". Em teoria, ele pode ser usado para representar uma tonelada de coisas em grande detalhe, na prática, é um monte de ferramentas mal integradas que afirmam ser uma ferramenta única, o que torna a execução de qualquer tarefa muito mais difícil do que ter uma ferramenta adequada para começar.
fonte
Acho que há também um argumento a ser feito de que o MDD é a pior coisa que aconteceu com a UML (por que mais teríamos a UML2 que temos?), Mas ignorando isso por enquanto ...
MDD = Orientado a modelo <Design | Desenvolvimento>. A idéia é ser capaz de desenvolver soluções em um nível de abstração apropriado ao domínio do problema - ou seja, é uma tentativa de expressar soluções para problemas na sintaxe mais natural para expressar essas soluções. O domínio do problema em si é caracterizado por um modelo operacional (ou seja, por um modelo que pode ser executado por computador). Portanto, o MDD pode ser uma abordagem muito atraente, embora com dois requisitos principais:
Entendo que o esforço da UML2 visava abordar o ponto 1, provavelmente sob a crença de que a experiência industrial com a UML mostrou que o ponto 2 foi satisfeito por algum grande subconjunto de domínios problemáticos. Infelizmente, e é para isso que eu acho que William Cook estava chegando, a UML não satisfaz o ponto 2 em nenhum lugar próximo ao escopo dos problemas que foram pensados. Não falo por experiência pessoal, mas acho que a experiência industrial do uso do MDD com UML tem dois resultados comuns:
Em ambos os casos, a promessa do MDD não é cumprida. A UML pode ser considerada a pior coisa que aconteceu com o MDD, porque chamou a atenção dos desenvolvedores de ferramentas do MDD para a exclusão de modelos que podem realmente funcionar (embora para um conjunto menor de problemas de software).
fonte
A UML é excelente desde que seja apenas uma linguagem de modelagem. Se você tentar conectar o MDD à UML para obter uma visualização gráfica, será inútil. MDD seria ótimo sem UML e UML sem MDD.
Digamos que UML e MDD se divorciaram hoje para ter uma vida melhor e não ficar mais juntos :-)
fonte