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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dessa forma, o que é necessário é a reutilização sistemática (FRAKES; ISODA, 1994). A<br />

reutilização sistemática consiste no entendimento sobre como é possível contribuir para os<br />

objetivos de negócio, na def<strong>in</strong>ição de estratégias técnicas e gerenciais para se extrair o máximo<br />

da reutilização, na <strong>in</strong>tegração com processos de software e de melhoria, entre outros aspectos<br />

(EZRAN; MORISIO; TULLY, 2002) que fazem com que a reutilização ocorra de forma controlada<br />

e repetível.<br />

Porém, colocar essas idéias em prática é uma tarefa complexa, pois apenas agrupar<br />

um conjunto de artefatos reutilizáveis em um repositório, disponibilizando-os para os<br />

desenvolvedores, não é suficiente. Existe uma série de fatores envolvidos: gerenciais,<br />

organizacionais, econômicos, conceituais, legais e técnicos (SAMETINGER, 1997; FRAKES;<br />

ISODA, 1994; MORISIO; EZRAN; TULLY, 2002; LUCRÉDIO et al., 2008). Estes fatores tornam<br />

muitos casos de sucesso em reutilização, como por exemplo os descritos por Bauer (1993),<br />

Endres (1993), Griss (1994, 1995), Joos (1994) mais a exceção do que a regra, e fazem com<br />

que a pesquisa na área a<strong>in</strong>da tenha muitos pontos em aberto.<br />

Esta tese trata da perspectiva técnica da reutilização, mais especificamente os pontos<br />

relacionados ao processo de software. Nesse contexto, existem várias abordagens que visam<br />

promover a reutilização de software. Apesar de serem dist<strong>in</strong>tas, todas elas compartilham quatro<br />

conceitos básicos (BIGGERSTAFF; RICHTER, 1989), conforme citados por Krueger (1992):<br />

Abstração: é o pr<strong>in</strong>cípio essencial da reutilização. Para que um determ<strong>in</strong>ado artefato de<br />

software possa ser reutilizado, ele precisa antes ser compreendido, de forma que o<br />

reutilizador consiga saber se ele irá atender às suas necessidades, se é necessário fazer<br />

alguma adaptação, quanto esforço será necessário para essa adaptação, ou se não é<br />

possível reutilizá-lo. Sem abstrair os detalhes, o reutilizador gastaria muito tempo<br />

exam<strong>in</strong>ando cada artefato em busca dessas respostas. Pode-se também pensar na<br />

abstração como sendo uma separação entre uma parte visível ou abstrata, que contém<br />

as <strong>in</strong>formações mais conceituais necessárias à reutilização, e uma parte escondida, que<br />

contém as <strong>in</strong>formações mais detalhadas, normalmente ligadas à implementação;<br />

Seleção: bibliotecas de software, pr<strong>in</strong>cipalmente em grandes organizações, tendem a ser<br />

imensas, envolvendo um grande número e diversos tipos de artefatos que podem ser<br />

reutilizados. Encontrar algo de útil em tal cenário é uma tarefa difícil, e uma busca manual<br />

pode levar mais tempo do que construir o artefato novamente. Por isso, a maioria das<br />

abordagens para reutilização emprega algum tipo de técnica para agilizar a seleção, tais<br />

como índices, catálogos, busca automática, entre outras (LUCRÉDIO; ALMEIDA; PRADO,<br />

2004);<br />

31

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

Saved successfully!

Ooh no, something went wrong!