RESUMO
O desenvolvimento dirigido por modelos visa a criação de software por meio de modelos bem
definidos contendo as informações necessárias para geração da aplicação. Através de mecanismos
de transformações de modelos para código fonte é possível gerar o software com o mínimo
de alterações de código pelo desenvolvedor. Porém, verifica-se que a modelagem do software
nessa abordagem requer a definição dos artefatos de infraestrutura de aplicação no modelo,
como tecnologias de interface de usuário e esquema de persistência de dados, para que essas
transformações sejam realizadas. Isso torna a modelagem complexa, de difícil entendimento,
evolução e manutenção à medida que novos artefatos precisam ser adicionados, tirando o foco
do domínio de negócio da aplicação. Além disso, verifica-se, em muitos casos, que o código
de infraestrutura gerado necessita de alterações manuais do desenvolvedor, o que compromete
a sincronização entre modelo e código, e exige dos desenvolvedores um amplo domínio das
interações de todo o sistema para realizar alterações no modelo e no código. Para resolver
esse problema, este trabalho propõe o projeto Elihu, que é baseado nos Naked Objects Pattern,
Domain-Driven Design e padrões de projeto de software onde o desenvolvedor modela apenas os
objetos de negócio e as suas características relacionadas ao domínio da aplicação. A aplicação
completa é gerada com base nesses padrões de software e um framework que implementa o
padrão Naked Objects é responsável pela infraestrutura da aplicação e pela exibição dos objetos
para os usuários durante a execução do sistema. O uso dos recursos desenvolvidos beneficia
a geração de aplicações completas sem intervenções manuais no código gerado, mantendo
sincronizados código e modelo ao longo do desenvolvimento.
Palavras-chave: Model-Driven Development. Naked Objects. Domain-Driven Design. Domain
Patterns. Padrões de Projeto.