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.

sua variabilidade, visando dar subsídios à implementação do suporte em termos de modelagem,<br />

transformações e geradores de código para sua automação.<br />

Conforme discutido no Capítulo 6, existem diferentes tipos de variabilidade, que são<br />

caracterizados de acordo com um espectro entre configuração de rot<strong>in</strong>a e construção criativa.<br />

Nesta atividade, cada subdomínio é analisado e <strong>in</strong>serido em um determ<strong>in</strong>ado local deste<br />

espectro.<br />

A Figura 24 ilustra esta estratégia. Para todo o domínio, uma ferramenta de features<br />

é normalmente utilizada, junto com uma ferramenta de configuração automática. Alguns<br />

subdomínios podem exigir uma solução baseada em uma DSL completa, <strong>in</strong>clu<strong>in</strong>do uma<br />

ferramenta de modelagem e geradores dedicados. Em outros, um simples wizard pode ser<br />

suficiente.<br />

Figura 24: Estratégia de caracterização de subdomínios<br />

Para <strong>in</strong>serir cada subdomínio em algum lugar do espectro de variabilidade, o papel do<br />

especialista do domínio é muito importante, mas as segu<strong>in</strong>tes diretrizes podem ser úteis:<br />

D1. Procurar por configurações de features que não mudam entre as aplicações: se<br />

uma feature representa um ponto de variação, sua configuração deve mudar de alguma forma<br />

quando as diferentes aplicações variam com relação a este ponto. Por exemplo, se uma aplicação<br />

web provê busca avançada, e uma segunda aplicação provê busca simples, as configurações<br />

das features para estas aplicações serão diferentes. Isto <strong>in</strong>dica que a variabilidade pode ser<br />

representada como features. Porém, se duas aplicações diferem em algum ponto, mas as<br />

configurações das features que descrevem aquele ponto são as mesmas, isto pode <strong>in</strong>dicar que<br />

147

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

Saved successfully!

Ooh no, something went wrong!