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.

APÊNDICE A -- Técnicas para reutilização de<br />

software<br />

O método mais simples de reutilização é conhecido e utilizado por praticamente todo<br />

desenvolvedor, sob o nome <strong>in</strong>formal de “copiar e colar”. A função que permite realizar<br />

a cópia ou duplicação do objeto de trabalho está presente em quase todas as aplicações e<br />

sistemas operacionais existentes na atualidade. Por exemplo, é possível copiar texto de um<br />

local para outro, permit<strong>in</strong>do assim que um desenvolvedor reutilize trechos de código. Outras<br />

ferramentas de auxílio à Engenharia de <strong>Software</strong>, tais como as ferramentas de modelagem,<br />

também permitem que sejam duplicados desenhos e outros elementos de modelagem.<br />

Esse tipo de reutilização acontece quando um desenvolvedor está trabalhando em alguma<br />

atividade do processo de software, e se depara com uma situação na qual ele se lembra de um<br />

artefato (código ou não), que ele já construiu, utilizou, ou que de alguma maneira saiba existir.<br />

Ele então localiza este artefato, identifica as partes que lhe serão úteis, e copia para o local onde<br />

está trabalhando, realizando as modificações necessárias para <strong>in</strong>tegrá-lo ao novo contexto.<br />

Analisando-se esse processo cotidiano, pode-se identificar os quatro conceitos citados por<br />

Krueger (1992):<br />

Abstração: a abstração existe na mente do desenvolvedor, de maneira <strong>in</strong>formal, e é formada<br />

durante a sua experiência pessoal como Engenheiro de <strong>Software</strong>. Ele não se lembra<br />

exatamente de todos os detalhes dos artefatos com os quais já se deparou. Porém, ele é<br />

capaz de abstrair os detalhes, relevando somente o que é essencial, formando uma espécie<br />

de biblioteca reutilizável <strong>in</strong>dexada em sua memória;<br />

Seleção: da mesma forma com que consegue abstrair os detalhes, o desenvolvedor também<br />

é capaz de utilizar a sua memória seletiva para determ<strong>in</strong>ar se o artefato satisfaz suas<br />

necessidades, e fornecer pistas de onde encontrá-lo. Este momento corresponde à seleção,<br />

quando o desenvolvedor, utilizando essas pistas, se lembra, primeiro, do software ou<br />

biblioteca onde o artefato se encontra localizado. Em seguida, ele percorre a estrutura e<br />

253

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

Saved successfully!

Ooh no, something went wrong!