[DDD/MDA] Conceitos?

Ola Pessoal.

A pouco tempo comecei a estudar sobre Agile, e me deparei com estes dois conceitos Domain-Driven Design e Model Driven Agile.

Será que alguem mais experiente, poderia comentar sobre elas, tipo se elas se complementam, ou são abordagens distintas, etc.

Aceito definições, links, dicas de livros, etc.

Estou pesquisando sobre XP, Scrum também.

Aguardo.

Abraço Pessoal.

Li que você está estudando Scrum e XP.
Venho dar a dica do livro XP and Scrum from the trenches. É bem curto o livro, mas acho que dá uma boa base pra tentar aplicar em um time.

Sobre DDD, saiu na MundoJava de uns tempos atrás uma matéria do Sergio Lopes bem legal. Dizem que o livro do Eric Evans é um dos (se não o) principais livros sobre o assunto.

[quote=WFRA]Ola Pessoal.

A pouco tempo comecei a estudar sobre Agile, e me deparei com estes dois conceitos Domain-Driven Design e Model Driven Agile.

Será que alguem mais experiente, poderia comentar sobre elas, tipo se elas se complementam, ou são abordagens distintas, etc.

Aceito definições, links, dicas de livros, etc.

Estou pesquisando sobre XP, Scrum também.

[/quote]

Scrum é um conjunto de prática de gestão de projeto ( não necessáriamente de software)
XP é um conjunto de práticas de desenvolvimento. Muito compativeis com Scrum.

MDA é uma filosofia de modelagem de aplicações “round-trip” em que o modelo é a aplicação e vice-versa. normalmente precisa de software especial para conseguir usar isto.

DDD é uma filosofia de modelagem/design que foca o dominio como “cabeça” do design da aplicação. É boa para modela o dominio, não a aplicação. Não é suficiente para definir um software.

Model Driven Agile = MDA???

Model Driven Architecture (MDA)

Model Driven Agile (MDA)

Agile Model Driven Development (AMDD)

Agile Model-Driven Architecture (AMDA).

Devo ter trocado a sigla mas quero saber sobre Agile Model Driven achei que o conceito de Model Driven Architecture (MDA) era voltado para Agile.

Model Driven Agile eu nunca tinha ouvido falar.
Talvez seja a tal Modelagem Ágil ou Agile Modeling.

(MA) A Modelagem Ágil trata de quando, em que parte do processo de desenvolvimento a equipe irá modelar. É comum que se engane achando que em processos ágeis não há tem modelagem. A Modelagem Ágil é a disciplina que desmente esse engano.

(MDA) Model Driven Architecture de forma simplista, é desenhar diagramas executáveis, eliminando a necessidade de desenvolver código. Talvez alguém possa descrever melhor esse termo.

(MDD) Model Driven Development é uma das disciplinas sugeridas pelo Domain Driven Design (DDD). É uma parte do Domain Driven Design. Obviamente há outras referências sobre o MDD que nem mencionam o DDD, mas tratam do mesmo assunto. A idéia escrever código de forma que expresse o negócio e consequentemente, permita a você desenvolver baseando-se na evolução das regras de negócio. É um termo muito falado e pouco praticado.

(DDD) Domain Driven Design é um processo de design ou desenvolvimento, que busca a integração entre os mundos diversos presentes nos projetos de desenvolvimento de software. Quando eu digo processo, não quero dizer processo de gestão de progetos. Isso é outra coisa.

Espero ter contribuido. \o/

Alguns links sobre o tal ‘Agile MDA’

http://www.agilemodeling.com/essays/agileMDA.htm
http://www.omg.org/mda/mda_files/Agile_MDA.pdf
http://www.agilemodeling.com/essays/amdd.htm

[quote=fabiofalci]Alguns links sobre o tal ‘Agile MDA’

http://www.agilemodeling.com/essays/agileMDA.htm
http://www.omg.org/mda/mda_files/Agile_MDA.pdf
http://www.agilemodeling.com/essays/amdd.htm[/quote]

Bom, pelos links passados, o Agile Model Driven Development é a Modelagem Ágil que eu citei. Tanto que o livro, do proprio Scott Ambler chama-se Agile Modeling.
Eu não teria usado o termo Model como o Scott fez nesse caso, para evitar a confusão com modelo de negócio. Esse model citado é apenas o modelo (artefato) e não o domínio da aplicação.

Já o Agile MDA é a aplicação do MDA (conforme descrevi na resposta anterior) com o MA(ver a descrição na resposta anterior).

Clareou ou escureceu mais ainda?

Ola pessoal.

Muito obrigado pelas respostas galera :smiley:

Demorou um pouco mas consegui entender os conceitos.

Se alguem tiver algo a mais a acrescentar eu aceito rsrs.

Estou dando uma reciclada, pois só trabalhei com RUP e agora na equipe em que estou, as coisas tendem para o lado agil, e alguns conceitos eu não tinha contato.

Abraços.

Vlw 8)