Pular para o conteúdo principal

Relacionamento entre MDA, MDD e MDE

Existe uma certa confusão sobre o relacionamento entre MDA (model-driven architecture), MDD (model-driven development) e MDE (model-driven engineering).

Eu estava lendo este blog e encontrei um bom resumo que ilustra claramente o que fica complicado de entender, na maioria das vezes, quando se busca informações sobre MD*.



Simplificando toda teoria, MDD é um paradigma de desenvolvimento que utiliza modelos como o artefato primário de todo processo de desenvolvimento. Geralmente, em MDD, a implementação é gerada (semi)automaticamente a partir dos modelos.

MDA é a visão particular do OMG sobre MDD e se refere ao uso dos padrões do OMG. Então, MDA pode ser visto como um subconjunto de MDD.

Por outro lado, MDE seria um conjunto acima de MDD porque, como o próprio E no MDE sugere, o MDE vai além das atividades puras de desenvolvimento e engloba outras tarefas de um processo de engenharia de software completo baseado em modelos.

Esta é apenas minha visão compartilhada por outros seres de TI, como na dissertação de mestrado do David Ameller. Sinta-se livre para discordar.

Comentários

Postagens mais visitadas deste blog

Utilizando o padrão de referências da ABNT no Word

Uma importante funcionalidade do Microsoft Word é o seu Gerenciador de Fontes Bibliográficas. Para aqueles que estão escrevendo algum trabalho acadêmico ou científico, é possível cadastrar todas as referências do trabalho e no final gerar a listagem já enumerada dos documentos que foram consultados na pesquisa. Essa postagem traz os arquivos necessários e as instruções para facilitar essa etapa da elaboração.

Programação Paralela e por que você deveria se preocupar com isso (Parte 1)

Creio que a maioria dos desenvolvedores já deve ter ouvido falar de threads, aprendeu um pouco sobre semáforos, monitores e travas. Partindo desse meu pensamento, imagino que essa mesma maioria não utiliza nenhuma forma de programação paralela em suas aplicações. A pergunta que fica é: utilizar paralelismo e lidar com concorrência tem baixa popularidade entre os desenvolvedores porque não tem utilidade ou porque os cursos de graduação em computação estão carentes de uma disciplina que ensine aos graduandos os reais benefícios em ter uma base sólida nesta área?

Esta série de publicações irá trazer uma visão básica sobre Parallel Programming, os exemplos serão baseados em Java e muito do que mostro aqui pode ser encontrado de maneira mais aprofundada no livro "The Art of Multiprocessor Programming", dos autores Maurice Herlihy e Nir Shavit.

Mininet: Uma Rede Virtual Instantânea no Seu PC

Baseado no texto de introdução presente no site oficial do Mininet (www.mininet.org) apresento esta ferramenta que possibilita a desenvolvedores e pesquisadores a criação de uma rede virtual realista, executando um kernel real, switch e código de aplicação, em uma única máquina (VM, cloud ou nativa), em segundos, com comandos simples.

A rede virtual criada pelo Mininet é escalável, uma rede definida por software em um único PC utilizando processos do Linux. Isso possibilita um meio inteligente de realizar testes e simulações de uma rede antes de implementá-la em meio físico, caso esse seja o objetivo.