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.

140<br />

• Número de cenários <strong>in</strong>diretamente suportados: para cada arquitetura, conta-se o<br />

número de cenários que requerem alguma alteração para passarem a possuir o suporte<br />

adequado pela arquitetura. Este número deve considerar o peso de cada cenário, conforme<br />

estipulado no passo 1 descrito anteriormente; e<br />

• Quantidade de mudanças: para cada arquitetura, estima-se a quantidade de mudanças<br />

necessárias para que a mesma passe a oferecer suporte a todos os cenários <strong>in</strong>diretos. Esta<br />

quantidade pode ser medida em termos de número de módulos/componentes modificados<br />

ou, caso já existam mais detalhes sobre a arquitetura, até mesmo o número de classes<br />

envolvidas nas mudanças.<br />

De posse destes números, é possível determ<strong>in</strong>ar qual das alternativas oferece o melhor<br />

suporte global para os requisitos. A alternativa que apresentar o melhor suporte aos cenários, e<br />

menor quantidade de mudanças, será selecionada para seguir adiante. Uma vez selecionada a<br />

arquitetura, retorna-se às atividades PD.2 e PD.3, buscando novas táticas/padrões arquiteturais<br />

para implementar as mudanças sugeridas nesta avaliação. Este ciclo se repete até não serem<br />

necessárias mais mudanças para atender aos cenários.<br />

Após esta atividade, tem-se a arquitetura projetada e avaliada com base nas <strong>in</strong>formações<br />

disponíveis até o momento. No entanto, conforme já mencionado anteriormente, este é um<br />

processo iterativo, e a arquitetura pode vir a sofrer alterações posteriormente. Na realidade, o<br />

que acontece é uma iteração em duas vias: a arquitetura <strong>in</strong>fluencia a implementação das DSLs<br />

e transformadores, que por sua vez podem <strong>in</strong>fluenciar a arquitetura, resultando em mudanças<br />

que melhor acomodem a presença destes novos artefatos.<br />

6.3 Considerações f<strong>in</strong>ais<br />

Neste capítulo foi apresentada a fase de projeto de domínio, com atividades para promover<br />

a reutilização através do MDD. As pr<strong>in</strong>cipais contribuições deste capítulo são as atividades para<br />

def<strong>in</strong>ição das diretrizes e padrões arquiteturais específicos para o uso do MDD na reutilização de<br />

software: variabilidade baseada em features, variabilidade baseada em DSLs e <strong>in</strong>tegração entre<br />

subdomínios. Também apresenta uma atividade de avaliação arquitetural visando melhorar o<br />

resultado do projeto antes da implementação ter <strong>in</strong>iciado.<br />

O Quadro 10 resume as atividades do projeto de domínio.<br />

O Quadro 11 descreve os produtos de trabalho da fase da projeto de domínio.<br />

O produto do projeto de domínio é a def<strong>in</strong>ição da arquitetura e seus componentes. Nesta

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

Saved successfully!

Ooh no, something went wrong!