A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
222<br />
com card<strong>in</strong>alidades de features e atributos, entre outras (Seção 3.1.1), permitem a especificação<br />
de variabilidades mais complexas, de forma similar à variabilidade baseada em DSLs descrita<br />
na abordagem desta tese. Através destas extensões é possível representar praticamente o mesmo<br />
tipo de variabilidade que é possível representar utilizando-se, por exemplo, um metamodelo. A<br />
pr<strong>in</strong>cipal diferença é que com uma DSL tem-se um poder expressivo mais focado no problema,<br />
sendo portanto uma solução mais <strong>in</strong>tuitiva, podendo <strong>in</strong>clusive ser utilizada e compreendida por<br />
especialistas. Mas nada impede que um modelo estendido de features seja convertido em um<br />
metamodelo, dando origem a uma DSL.<br />
Mas além disso, a abordagem desta tese tem outras contribuições, como um conjunto<br />
de diretrizes e regras para ajudar no processo de identificação destas variabilidades, no<br />
desenvolvimento das s<strong>in</strong>taxes abstrata e concreta. Além disso, nesta tese o metamodelo é<br />
complementado com <strong>in</strong>formações orig<strong>in</strong>adas em uma implementação concreta, o que facilita<br />
a identificação de variabilidades mais detalhadas e a construção de transformações e geradores<br />
de código mais precisos no suporte à variabilidade.<br />
9.2 Trabalhos relacionados com o uso de métricas para MDD<br />
e reutilização<br />
O estado da prática na avaliação de qualidade de modelos contém evidências de que a<br />
modelagem a<strong>in</strong>da é tida como uma atividade artesanal. Apesar de existirem alguns padrões<br />
e regras baseadas no bom senso (como m<strong>in</strong>imizar o acoplamento, aumentar a coesão, manter<br />
uma hierarquia de classes pequena), os desenvolvedores a<strong>in</strong>da dependem muito da op<strong>in</strong>ião de<br />
especialistas para determ<strong>in</strong>ar quando um modelo é bom ou não (FRANCE; RUMPE, 2007). Porém,<br />
existem diversos trabalhos que <strong>in</strong>vestigam a avaliação de modelos e o uso de métricas para<br />
aumentar a confiabilidade dos resultados da avaliação.<br />
Mohagheghi e Aagedal (2007) apresentam os pr<strong>in</strong>cipais aspectos relacionados à avaliação<br />
de qualidade de um processo de MDD. Entre estes, destacam-se os aspectos de qualidade da<br />
l<strong>in</strong>guagem de modelagem utilizada, tais como sua complexidade e adequação ao domínio, a<br />
qualidade das ferramentas utilizadas no processo, o conhecimento dos especialistas com relação<br />
ao uso das l<strong>in</strong>guagens e ferramentas, a qualidade do processo utilizado e o uso de técnicas<br />
para identificar falhas e defeitos em projetos MDD. Nesta tese, foram utilizadas métricas<br />
para avaliação da l<strong>in</strong>guagem de modelagem, como parte dos estudos de caso. Além disso, a<br />
qualidade do processo também foi uma preocupação importante, e a cobertura das atividades<br />
essenciais foi discutida na Seção 4.5, onde compara-se a abordagem desta tese com um modelo<br />
de maturidade em MDD.