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.
138<br />
aquele módulo específico, considerando-se a divisão que foi realizada.<br />
Por exemplo, para satisfazer a um determ<strong>in</strong>ado cenário de variabilidade onde uma feature<br />
pode ou não estar presente (feature opcional), pode-se criar um módulo que aceita como<br />
parâmetro uma variável booleana que <strong>in</strong>dica se a feature está ou não presente. Assim,<br />
a def<strong>in</strong>ição da <strong>in</strong>terface deste módulo deve conter uma descrição desta variável, do seu<br />
funcionamento, e dos requisitos que levaram à sua criação.<br />
Todos os requisitos e funções associados com o módulo pai devem possuir um módulo<br />
correspondente que assuma a responsabilidade. Estas responsabilidades devem estar claramente<br />
descritas e <strong>in</strong>dicadas nas <strong>in</strong>terfaces.<br />
Atividade PD.5. Avaliação arquitetural<br />
Papéis: Projetista do domínio, especialista do domínio, demais stakeholders<br />
Entradas: PT.7. Diretrizes arquiteturais e PT.8.Inicial. Projeto do domínio<br />
Saídas: PT.9.Avaliado. Projeto do domínio<br />
Descrição: a abordagem segue o raciocínio do método PuLSE-DSSA (DEBAUD; FLEGE;<br />
KNAUBER, 1998), no sentido em que o projeto arquitetural pode produzir múltiplas arquiteturas,<br />
cada uma oferecendo uma alternativa para se atender às diferentes diretrizes. Uma atividade é<br />
então responsável por avaliar as alternativas e selecionar qual delas segue adiante no processo.<br />
A avaliação arquitetural deve ser <strong>in</strong>iciada quando a equipe de desenvolvimento começar<br />
a tomar decisões que dependem da arquitetura, e o custo de se desfazer tais decisões é<br />
maior do que o custo de se realizar a avaliação (CLEMENTS; KAZMAN; KLEIN, 2004). Nesta<br />
abordagem, estas decisões são referentes à automação dos subdomínios, utilizando ferramentas<br />
de modelagem e transformadores, que depende desta estrutura em comum para possibilitar a<br />
reutilização.<br />
Assim, esta atividade busca avaliar as alternativas de arquiteturas projetadas anteriormente.<br />
O objetivo é selecionar aquela que melhor atende aos requisitos para o domínio, com foco na<br />
variabilidade. Este pode parecer um passo desnecessário, uma vez que na atividade anterior o<br />
projeto arquitetural foi realizado com base em um conjunto de diretrizes que representam os<br />
mesmos requisitos. A diferença, no entanto, é que agora serão <strong>in</strong>cluídos os pontos de vista<br />
dos outros <strong>in</strong>teressados no domínio, para serem confrontados com os requisitos <strong>in</strong>iciais, o que<br />
potencialmente irá revelar alguns aspectos que foram ignorados pelo projetista.<br />
Este confronto irá não somente facilitar a seleção de uma arquitetura adequada por meio