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.

A utilização de um framework é normalmente feita por meio de seus “pontos variáveis”<br />

(hotspots), que são os pontos que def<strong>in</strong>em o que é variável em um domínio de aplicação<br />

(BUSCHMANN et al., 1996) apud (BRAGA, 2002). Junto com os ganchos (hook), que são os<br />

pontos do framework passíveis de serem adaptados, os “pontos variáveis” são a forma com que<br />

o desenvolvedor normalmente <strong>in</strong>stancia sua aplicação.<br />

Sendo uma técnica de reutilização, o uso de frameworks compartilha com as demais<br />

abordagens apresentas os quatro conceitos básicos da reutilização:<br />

Abstração: a abstração, como na maior parte das abordagens, se resume a representar o<br />

conhecimento do domínio abstra<strong>in</strong>do-se os detalhes de implementação em uma parte<br />

escondida, e descrevendo os conceitos de mais alto nível na parte visível. No caso dos<br />

frameworks, a parte visível corresponde aos pontos que o desenvolvedor utiliza para<br />

<strong>in</strong>stanciar a aplicação, no caso, os “pontos variáveis” e os “ganchos”. A parte escondida<br />

se refere ao restante da estrutura, que é normalmente reutilizada sem modificação,<br />

também conhecidos como frozen spots;<br />

Seleção: a seleção se resume à escolha de um framework adequado para a aplicação que se<br />

deseja construir. Neste caso, técnicas de classificação e busca podem ser utilizadas para<br />

facilitar a seleção;<br />

Adaptação: a adaptação consiste na <strong>in</strong>stanciação da aplicação, em que o desenvolvedor utiliza<br />

os “pontos variáveis” e “ganchos” para criar uma aplicação que atenda aos requisitos; e<br />

Integração: a <strong>in</strong>tegração normalmente não é um problema, pois um framework já é uma<br />

aplicação semi-pronta que, uma vez <strong>in</strong>stanciada, pode ser executada diretamente. Porém,<br />

pode ser necessário realizar a <strong>in</strong>tegração da aplicação com o ambiente, por exemplo, com<br />

o sistema operacional ou um banco de dados específico. Neste caso, essa <strong>in</strong>tegração será<br />

tão simples quanto for a possibilidade de parametrização do framework.<br />

Padrões de software<br />

Uma forma bastante conhecida de reutilização são os padrões de software (COPLIEN, 2006).<br />

Sejam de análise, de processo ou de projeto, os padrões têm um único objetivo: representar<br />

soluções bem sucedidas para problemas recorrentes, de forma que, ao se deparar com uma<br />

situação similar à vivida orig<strong>in</strong>almente, um desenvolvedor possa aplicar a mesma solução,<br />

obtendo os mesmos resultados que o criador do padrão. Neste sentido, o objeto da reutilização<br />

é o conhecimento obtido na solução desse problema recorrente. Os quatro conceitos básicos da<br />

reutilização estão também presentes nessa técnica:<br />

267

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

Saved successfully!

Ooh no, something went wrong!