quarta-feira, 15 de outubro de 2008

Model-Driven Architecture??

É! Ou MDA para os mais íntimos. Acho que ainda não tenho esse grau de intimidade, mas tenho que espero ter daqui para o fim da disciplina =)

De início, é necessário (ou inevitável) falar sobre do que se trata a Model-Driven Architecture. Traduzindo obtemos uma 'Arquitetura Dirigida a Modelos'. Essa arquitetura foi definida pela Object Management Group (OMG) e lançada em 2001.

Como o próprio nome sugere, essa arquitetura ressalta a importância dos modelos no processo de desenvolvimento de software. Ela define que o processo deve se focar na modelagem do software, em um nível conceitual, sem se prender a alguma plataforma/implementação específica. Os modelos conceituais resultantes podem passar por transformações, gerando novos modelos com um nível de abstração cada vez mais específico e ligado a uma determinada forma de implementação, tornando possível a geração automática do sistema final. Vale ressaltar que os modelos construídos devem seguir uma formalidade, sem ambiguidades, para que sejam entendidos pelos softwares.

Resumidamente, a MDA determina que o processo de desenvolvimento passe pelos seguintes passos:
  1. Primeiramente é gerado o Computation Independent Model (CIM). Este modelo deve ser construído a partir de um ponto de vista independente de computação, mostrando apenas requisitos do sistema, sem detalhes de sua estrutura;
  2. A partir do CIM, é gerado o Plataform Independent Model (PIM). Este modelo possui um elevado grau de abstração e é feito sem levar em conta qualquer tipo de tecnologia;
  3. Do PIM, é gerado o Plataform Specific Model (PSM). Ao contrário do PIM, o PSM é construído levando em conta uma tecnologia específica. De um PIM podem ser gerados vários PSM's, cada um para uma tecnologia específica;
  4. Por fim, a partir do PSM, deve ser gerado o código do sistema. Esse código deve ser o mais próximo possível da solução final, incluindo regras de negócio.
A figura abaixo mostra os passos ditados pela MDA


As transformações de um modelo para outro devem ser automáticas, conforme um conjunto de regras que ditam como um modelo deve ser transformado em outro.

Por enquanto é só. Futuramente, deveremos trazer mais detalhes da MDA.
Aguardem as cenas dos próximos capítulos =P

Fonte principal da postagem:
http://www.linhadecodigo.com.br/Artigo.aspx?id=1953

Um comentário:

Letícia disse...

Achei muito bom o post como uma introdução para o assunto. Ficaram bem claras as primeiras idéias. Será bem util pro meu trabalho tb!!