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.

118<br />

de produtos (WEISS et al., 2008; VÖLTER; GROHER, 2007; BOTTERWECK; O’BRIEN; THIEL,<br />

2007; ARBOLEDA; CASALLAS; ROYER, 2007; TRASK et al., 2006; TOLVANEN; KELLY, 2005;<br />

CZARNECKI; HELSEN; EISENECKER, 2004b), e não na tarefa de produzir uma arquitetura de<br />

domínio que é adequada para o MDD, ou seja, que contemple elementos capazes de <strong>in</strong>tegrar<br />

DSLs, transformações e geradores de código.<br />

Além disso, a maioria destas abordagens, como as descritas por Almeida et al. (2007b),<br />

Keepence e Mannion (1999), Lee e Kang (2004), baseia-se na identificação da variabilidade<br />

somente em termos de features. Como já discutido anteriormente, há outros tipos de variação,<br />

como aquelas presentes em modelos entidade-relacionamento, por exemplo (BARTHOLDT;<br />

OBERHAUSER; RYTINA, 2008), que são mais complexas do que é possível capturar em um<br />

modelo de features (RABISER; GRÜNBACHER; DHUNGANA, 2007), sendo necessária uma DSL<br />

específica para representar a variabilidade de modo adequado ao MDD.<br />

6.1 Objetivos do projeto de domínio<br />

Existem conceitos relacionados ao MDD que devem ser considerados durante o projeto do<br />

domínio, especialmente durante a def<strong>in</strong>ição da arquitetura do domínio. Além da variabilidade<br />

mais complexa discutida anteriormente, nesta abordagem a arquitetura e seus componentes<br />

contam com a existência de DSLs e transformações, que por sua vez devem ser capazes de<br />

produzir artefatos de implementação voltados àquela arquitetura específica.<br />

A fase de projeto do domínio tem os segu<strong>in</strong>tes objetivos:<br />

• Identificar as diretrizes arquiteturais: o projeto arquitetural deve ser direcionado pelos<br />

objetivos de negócio e requisitos mais importantes, considerando-se o ponto de vista<br />

de diferentes stakeholders. Estes são chamados de diretrizes arquiteturais (BASS;<br />

CLEMENTS; KAZMAN, 2003), e são responsáveis por “moldar” a arquitetura de forma a<br />

atender a todos os requisitos da melhor forma possível. Nos contextos de reutilização<br />

e MDD, as diretrizes devem <strong>in</strong>cluir, obrigatoriamente, as variabilidades em forma de<br />

features e DSLs, e a existência de artefatos do MDD, como DSLs e transformações de<br />

software;<br />

• Selecionar/def<strong>in</strong>ir táticas e padrões: o projeto arquitetural deve cobrir as diretrizes<br />

arquiteturais, em forma de táticas e padrões que contemplem soluções para cada requisito.<br />

Um padrão consiste em uma solução comprovadamente bem sucedida para determ<strong>in</strong>ados<br />

tipos de problema, com um contexto bem def<strong>in</strong>ido. Por trás de um padrão existem

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

Saved successfully!

Ooh no, something went wrong!