Por que eu devo ler este artigo:O desenvolvimento de software orientado a modelos, ou Model-Driven Development, é uma abordagem que vem se destacando na indústria. Ele consiste na utilização de modelos de alto nível de abstração para a representação dos requisitos do sistema e para a geração de código fonte. Dessa forma, o MDD é apresentado como um meio para facilitar a manutenção de software, a comunicação entre as pessoas envolvidas na sua construção e a portabilidade de plataformas para as soluções criadas. O MDA proposto pela OMG é uma vertente desse tema e será abordado nesse trabalho por meio de exemplos práticos usando a ferramenta Enterprise Architect.
Autores: Wilson Hissamu Shirado, Jandira Guenka Palma, Márcio de Abreu Moreira e Tânia Eiko Eishima

A modelagem de sistemas é um processo de desenvolvimento de modelos abstratos que representam perspectivas distintas de um sistema e colaboram para uma melhor compreensão do que será construído. Durante o processo de engenharia de requisitos, os modelos ajudam a extrair os requisitos do sistema. Na fase de projeto, descrevem o sistema para os engenheiros e, por fim, são utilizados para documentar a estrutura e operação do software.

Apesar da importância de o processo de modelagem ser amplamente divulgada, atualmente é comum que o processo produtivo de software nas mais variadas empresas sofra com atualizações periódicas do produto impostas pelo mercado, alterações de requisitos durante o desenvolvimento e com a heterogeneidade de conhecimento entre a equipe, que usualmente apresenta conhecimentos e talentos altamente individualizados. Esse cenário tem como consequência documentos e diagramas incompreensíveis para a grande parte da equipe, desatualizados e muitas vezes inutilizáveis em momentos avançados do ciclo de desenvolvimento, uma vez que as modificações em código na maioria das vezes não refletem alterações nos modelos. Ou seja, ao término do ciclo produtivo, o software entregue ao cliente é em muitos casos um produto totalmente diferente daquele descrito nos modelos e diagramas presentes na documentação do sistema.

Tal cenário resulta em sistemas complexos sem especificações acessíveis, aumentando o custo de manutenção e possibilidade de erros conceituais. Com o intuito de reverter essa situação, o desenvolvimento orientado a modelos foi proposto. O desenvolvimento orientado a modelos, ou Model Driven Development (MDD), é uma metodologia que tem como foco a criação de modelos como classe principal de artefatos para o desenvolvimento do software. O MDD fornece diretrizes, linguagens, métodos, modelo de transformação e ferramentas para apoiar a representação de requisitos de negócios e permitir a geração de uma solução de tecnologia específica para cada empresa.

A proposta do MDD é fazer com que o engenheiro de software não precise interagir manualmente com todo o código fonte, concentrando-se em modelos de alto-nível. Dessa forma, ele fica protegido das complexidades geradas na implementação com diferentes plataformas. Para que isso seja possível, a ferramenta de modelagem deve permitir que o modelo descreva todos os conceitos do domínio (problema) na modelagem. O modelo deve ser semanticamente completo e correto para que o computador ou uma equipe específica de codificação entenda e gere novos modelos ou código, através da Model Driven Architecture (MDA). A Figura 1 apresenta os principais elementos desse método de desenvolvimento.

Figura 1. Processo MDD.

Propriedades do MDD

A metodologia MDD apresenta características que independem de ferramenta utilizada e que originam seus benefícios. São elas:

1.

Quer ler esse conteúdo completo? Tenha acesso completo