Esta técnica envolve a utilização do modelo conceitual em andamento para realizar o desenvolvimento de um aplicativo e suporta a noção de engenharia de ida e volta. Quando um arquiteto cria um modelo em nível de classe detalhado utilizando o UML, esse modelo torna-se o valor inicial para um modelo de código 3GL. O arquiteto aplica uma transformação diretamente ao modelo para gerar a estrutura, ou, em muitos casos, o código de compilação real para o aplicativo. O desenvolvedor, então, tem a liberdade de desenvolver o modelo do código enquanto o arquiteto continua desenvolvendo o modelo UML de alto nível. Esse fluxo de trabalho paralelo faz com que o modelo UML e o modelo de código entrem em conflito, dificultando a colaboração, mas a configuração da transformação inicial suporta a reconciliação de modelo e também transformações para frente e reversas. Para minimizar o risco, que aumenta à medida que os modelos divergem, o arquiteto desempenha uma transformação reversa no modelo do código, criando uma captura instantânea que o arquiteto utiliza em uma operação de reconciliação para mesclar seletivamente as alterações no modelo conceitual. Depois de mesclar os modelos, uma transformação poderá ser aplicada para atualizar o código no nível de implementação, retornando as alterações do modelo conceitual do arquiteto ao modelo do código. Esse processo pode ser repetido sempre que necessário no processo de desenvolvimento. Ambos os modelos continuam se desenvolvendo em paralelo e são reconciliados em pontos de verificação predefinidos.
O Desenvolvimento de Unidade de Modelos Conceituais é mais bem utilizado quando:
Este método pode ser utilizado pela equipe inteira, do arquiteto ao desenvolvedor.
O Desenvolvimento de Unidade de Modelos Conceituais fornece controle rigoroso. A implementação do código reflete a todo momento a especificação arquitetural. A abordagem também resulta em menos código manual, repetição, mais qualidade, menos defeitos e na capacidade de fazer alterações no design em qualquer fase do desenvolvimento, o que torna a abordagem muito rápida.
O Desenvolvimento de Unidade de Modelos Conceituais fornece controle rigoroso e a capacidade de corrigir e concluir a correção em todo o aplicativo, pequenas alterações podem ser difíceis de implementar e de fazer com que não sejam afetadas pelo processo de transformação.