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.

tecnologias. As pr<strong>in</strong>cipais atividades da reengenharia de software são: engenharia reversa,<br />

seguida por mudanças no sistema (de funcionalidade ou de implementação), e seguida pela<br />

engenharia avante. Em outras palavras, “reengenharia é o processo de se criar uma descrição<br />

abstrata do sistema, elaborar mudanças em alto nível de abstração, e então reimplementar o<br />

sistema” (JACOBSON; LINDSTROM, 1991).<br />

Esse processo de engenharia reversa, modificações e engenharia avante, também contempla<br />

os quatro conceitos da reutilização de software. A fase de engenharia reversa corresponde ao<br />

conceito de abstração, enquanto que as fases de modificações e engenharia avante correspondem<br />

aos demais conceitos:<br />

Abstração: a abstração corresponde à engenharia reversa, onde o conhecimento existente<br />

no sistema legado é recuperado, e toda <strong>in</strong>formação relevante é organizada de forma a<br />

possibilitar sua futura utilização durante a reconstrução;<br />

Seleção: a seleção ocorre quando o desenvolvedor precisa realizar mudanças no sistema, sejam<br />

elas de funcionalidade ou implementação. Ele precisa conhecer cada artefato recuperado<br />

durante a engenharia reversa, e selecionar aquele onde serão feitas as modificações;<br />

Adaptação: a adaptação corresponde às mudanças sendo efetuadas nos artefatos recuperados.<br />

Os mesmos são modificados para atender a novos requisitos ou <strong>in</strong>corporar novas<br />

tecnologias; e<br />

Integração: a <strong>in</strong>tegração ocorre de forma gradual. Normalmente, as organizações preferem<br />

utilizar processos de reengenharia gradativos, onde apenas um módulo é reconstruído a<br />

cada vez. Isso possibilita que o sistema legado possa cont<strong>in</strong>uar sendo utilizado durante a<br />

reconstrução (SEACORD; PLAKOSH; LEWIS, 2003).<br />

O Quadro 17 resume as pr<strong>in</strong>cipais técnicas para reutilização de software apresentadas neste<br />

apêndice, apresentando as idéias-chave de cada técnica, de acordo com os quatro conceitos da<br />

reutilização.<br />

269

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

Saved successfully!

Ooh no, something went wrong!