A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Supondo que um caso de uso UC001 possua 5 passos - p1, p2, p3, p4 e p5: após análise da<br />
variabilidade, é descoberto um caso de mudança CM001, que possui 4 passos: p1, p2, p4 e p5.<br />
CM001 <strong>in</strong>troduz uma variabilidade negativa em UC001, pois ele remove p3 do comportamento<br />
“normal”, ou base comum. Neste caso, não existe variabilidade positiva <strong>in</strong>troduzida por<br />
CM001, e portanto basta <strong>in</strong>verter os cenários, transformando CM001 no cenário “normal”, e<br />
UC001 no caso de mudança.<br />
Porém, caso CM001 possua os passos p1, p2, p4, p5 e p6, a simples <strong>in</strong>versão não é<br />
suficiente, pois sempre existirá uma variabilidade negativa, não importando qual destes cenários<br />
faz parte da base comum. Neste caso, pode-se criar um terceiro cenário, que possui os passos<br />
em comum, por exemplo UC001: p1, p2, p4 e p5, e dois casos de mudança CM001: p1, p2,<br />
p3, p4 e p5 (antigo UC001), e CM002: p1, p2, p4, p5 e p6 (antigo CM001). Como resultado,<br />
somente variabilidades positivas são <strong>in</strong>troduzidas.<br />
O mesmo pode ser feito quando dois cenários diferem em um determ<strong>in</strong>ado passo. Neste<br />
caso, ocorre a comb<strong>in</strong>ação de variabilidade negativa e positiva (removendo um comportamento<br />
comum, e adicionando outro em substituição), e o mesmo método pode ser aplicado para<br />
remover a parte negativa.<br />
No exemplo da busca avançada (Quadro 5), pode-se aplicar este método para remover a<br />
variabilidade negativa, resultando em 3 cenários:<br />
1. Cenário 1: Busca<br />
(a) Usuário <strong>in</strong>forma parâmetros de busca<br />
(b) Aplicação realiza busca no conteúdo conforme especificado pelos parâmetros<br />
(c) Aplicação exibe lista com o conteúdo que corresponde aos parâmetros especificados<br />
(d) Usuário clica sobre um resultado e cont<strong>in</strong>ua navegando<br />
2. Cenário 2: Busca simples<br />
(a) Usuário <strong>in</strong>forma “str<strong>in</strong>g” de busca<br />
(b) Aplicação realiza busca em todo conteúdo<br />
(c) Aplicação exibe lista com o conteúdo que corresponde à “str<strong>in</strong>g” especificada<br />
(d) Usuário clica sobre um resultado e cont<strong>in</strong>ua navegando<br />
3. Cenário 3: Busca avançada<br />
(a) Usuário <strong>in</strong>forma “str<strong>in</strong>g” de busca e local a ser buscado<br />
97