Registro de discussão após leitura das seções “How this book is organized” e “The purpose of this work” do livro “Model-Driven Architecture in Practice” durante a aula de “Desenvolvimento orientado a modelos” em 29/03/2008. Autores: Alex Pinheiro das Graças João Olavo Baião de Vasconcelos Críticas que o texto faz às práticas atuais Há um forte acoplamento entre as ferramentas e as técnicas de modelagem. As ferramentas CASE não dão liberdade de modelagem, pois essas têm modelagens e técnicas específicas. Há um gap semântico entre a modelagem e o desenvolvimento, pois o sincronismo do modelo com a implementação não é assegurado e é feito manualmente. O “produto final” (o código) deveria ser o modelo em si. Os engenheiros enfrentam uma sobrecarga de tarefas: modelam e implementam. O modelo torna-se supérfluo e de pouco impacto, pois torna-se apenas uma documentação elegante, sem utilidade prática, tendo pouco impacto no resultado do produto. Desenvolvimento orientado a modelos (visão dos autores) Para o autor, “Modeling is the key”. A transformação entre os modelos também é um modelo, para que seja possível rastrear posteriormente as decisões feitas durante o projeto. Deve haver um mapeamento entre o modelo e a implementação para que ocorra a geração de código automática. Produto final = modelo + geração automática de código. Conceitos utilizados pela abordagem defendida: Modelo Orientado a Objetos, Ontologias, Top-Down e a utilização de Padrões. Críticas ao texto Não menciona explicitamente a qualidade das linguagens técnicas. Minimiza o papel das decisões de projeto, trivializando o espaço de solução. O autor não esclarece se é possível fazer a transformação automaticamente nem a qualidade do resultado. O autor não cita que os modelos devem continuar legíveis e abstratos para que haja fácil comunicação com os stakeholders. Para que haja a automatização, deve-se restringir o que se pode dizer. O autor faz uma crítica clichê falando sobre a “software crisis”. Esta software crisis é falada desde a década de 70.