A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
42<br />
2.2.1.1 Pr<strong>in</strong>cipais vantagens e desvantagens<br />
As pr<strong>in</strong>cipais vantagens da abordagem MDD relacionam-se com os sete problemas<br />
destacados anteriormente. As vantagens, apresentadas por Kleppe, Warmer e Bast (2003),<br />
Deursen e Kl<strong>in</strong>t (1998), Bahnot et al. (2005), Mernik, Heer<strong>in</strong>g e Sloane (2005), são:<br />
• Produtividade: o tempo de desenvolvimento será melhor aproveitado, pois será gasto na<br />
produção de modelos de mais alto nível. Tarefas repetitivas podem ser implementadas<br />
nas transformações, poupando tempo e esforço que podem ser despendidos em tarefas<br />
mais importantes. Além disso, um único modelo pode gerar uma grande quantidade e<br />
diversidade de código;<br />
• Portabilidade: um mesmo modelo pode ser transformado em código para diferentes<br />
plataformas;<br />
• Interoperabilidade: cada parte do modelo pode ser transformado em código para<br />
uma plataforma diferente, resultando em um software que executa em um ambiente<br />
heterogêneo, porém mantendo a funcionalidade global. Também podem ser gerados<br />
adaptadores e conectores utilizando tecnologias <strong>in</strong>dependentes de plataforma, para que<br />
esses códigos de diferentes plataformas possam se comunicar;<br />
• Manutenção e documentação: no desenvolvimento convencional, a urgência <strong>in</strong>erente<br />
às atividades de manutenção faz com que os desenvolvedores <strong>in</strong>siram modificações<br />
diretamente no código, fazendo com que a documentação fique logo desatualizada. No<br />
MDD os modelos não são abandonados. Eles fazem parte do software, e as alterações<br />
são realizadas diretamente neles, mantendo-os consistentes com o código. Desta forma, a<br />
documentação mantém-se atualizada, o que acaba por facilitar as tarefas de manutenção;<br />
• Comunicação: no MDD, os diferentes profissionais possuem meios mais efetivos para<br />
comunicação, uma vez que modelos geralmente são mais abstratos que o código, não<br />
exig<strong>in</strong>do conhecimento técnico relativo à plataforma. Especialistas do domínio têm um<br />
papel mais ativo no processo, podendo utilizar diretamente os modelos para identificar<br />
mais facilmente os conceitos do negócio, enquanto especialistas em computação podem<br />
identificar os elementos técnicos;<br />
• Reutilização: Diversos autores, tais como Krueger (1992), Griss (1995), Frakes e Isoda<br />
(1994), Jacobson, Griss e Jonsson (1997), ressaltam que a reutilização de artefatos de<br />
alto nível proporciona maiores benefícios do que a reutilização de código-fonte. No<br />
desenvolvimento convencional, reutilizar um modelo requer a transformação manual para