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.

Mesmo um caso de mudança pode sofrer o impacto de algum outro ponto de variação. Neste<br />

exemplo, a busca pode ser simples ou avançada (features alternativas, <strong>in</strong>dicadas pelos losangos<br />

nos conectores, no diagrama da Figura 11). O caso de mudança CM001. Realizar busca<br />

simples descreve o cenário correspondente à feature “Busca simples”. O Quadro 5 descreve a<br />

variante “Busca avançada”.<br />

Quadro 5: Exemplo de caso de mudança para a feature alternativa de busca avançada<br />

Neste exemplo, diferentemente do exemplo anterior, a <strong>in</strong>tersecção entre os dois cenários<br />

é maior, pois este cenário descreve uma alternativa ao outro, e quase todos os mesmos passos<br />

são seguidos. Neste caso, recomenda-se fatorar os dois cenários, levando à criação de um<br />

terceiro que contenha as <strong>in</strong>terações em comum, para facilitar o entendimento (ECKLUND JR;<br />

DELCAMBRE; FREILING, 1996). Neste exemplo, isto poderia ser at<strong>in</strong>gido com a criação de um<br />

terceiro cenário CM003. Exibir resultados da busca, que condensa os passos 3 e 4 descritos<br />

no fluxo normal dos cenários anteriores, assim como os fluxos alternativos.<br />

Em termos de formato, tanto casos de uso como casos de mudança são praticamente<br />

idênticos. A diferença é que, conforme descrito no próprio nome, um caso de mudança<br />

<strong>in</strong>troduz uma alteração em um cenário que é considerado “normal”, também chamado de base<br />

comum (COPLIEN, 2000). A def<strong>in</strong>ição do que é um comportamento “normal” em um domínio<br />

é altamente subjetiva, e escolhas diferentes podem levar a diferentes decisões posteriormente,<br />

durante o projeto do domínio.<br />

2000):<br />

Existem basicamente dois tipos de variabilidade em relação à base comum (COPLIEN,<br />

• Variabilidade positiva: mantém a base comum <strong>in</strong>tacta, não violando nenhuma de suas<br />

95

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

Saved successfully!

Ooh no, something went wrong!