15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!