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.
164<br />
Asset Specifications ou Especificações de Artefatos Reutilizáveis) (VOTH, 2004). Estes podem<br />
ser úteis para a documentação de diferentes tipos de software. Com base nestes e em outros<br />
trabalhos relacionados à documentação de componentes (SILVA; WERNER, 1996; KOTULA, 1998;<br />
TAULAVUORI; NIEMELA; KALLIO, 2004; BASILI; ABD-EL-HAFIZ, 1996), a presente abordagem<br />
propõe um formato específico para a documentação, além de alguns pr<strong>in</strong>cípios:<br />
P1. Hipertexto. O hipertexto mostrou-se uma técnica eficiente para a documentação. Por<br />
exemplo, ajuda a aumentar o conhecimento que engenheiros de software adquirem ao percorrer<br />
repositórios de componentes de software (ISAKOWITZ; KAUFFMAN, 1996). Também facilita o<br />
processo de navegação através da <strong>in</strong>formação, além de ser um formato já familiar à maioria dos<br />
usuários. Assim, sempre que possível, a documentação deve ser apresentada como hipertexto.<br />
P2. Comentários embutidos no código-fonte. A documentação deve estar sempre<br />
consistente e atualizada com relação ao código-fonte. Embut<strong>in</strong>do-se a documentação no<br />
código-fonte, é mais fácil atualizá-la sempre que forem feitas mudanças no código, já que<br />
ambos estão no mesmo lugar;<br />
P3. Automação. No contexto do MDD, é possível gerar, junto com código, diferentes<br />
tipos de artefatos, <strong>in</strong>clu<strong>in</strong>do documentação. Assim, sempre que possível, deve-se automatizar a<br />
geração de documentação para livrar o desenvolvedor deste tipo de trabalho manual;<br />
P4. Utilize a semântica da l<strong>in</strong>guagem. Muitas construções da própria l<strong>in</strong>guagem de<br />
programação contém <strong>in</strong>formação útil à reutilização de software. Por exemplo, a comparação de<br />
ass<strong>in</strong>atura (ZAREMSKI; WING, 1995) analisa a própria def<strong>in</strong>ição das <strong>in</strong>terfaces para determ<strong>in</strong>ar<br />
se um componente pode ser reutilizado em um determ<strong>in</strong>ado contexto. Também é possível, por<br />
exemplo, determ<strong>in</strong>ar algumas características de um componente exam<strong>in</strong>ando-se o código-fonte,<br />
até mesmo de forma automática. Assim, a documentação deve utilizar todo tipo de <strong>in</strong>formação<br />
semântica disponível no próprio código-fonte.<br />
P5. Diagramas e figuras. A documentação deve <strong>in</strong>cluir diagramas e figuras sempre que<br />
possível. No MDD, muitas das <strong>in</strong>formações visuais estão disponíveis na própria l<strong>in</strong>guagem<br />
específica do domínio. Assim, um artefato que serve de entrada para um gerador é o próprio<br />
documento visual do software a ser gerado.<br />
Para a documentação de artefatos de código, pode-se utilizar um formato como o<br />
descrito por Almeida et al. (2008), que contempla c<strong>in</strong>co seções e seus campos relacionados:<br />
<strong>in</strong>formações básicas, contendo descrições gerais sobre o componente, como seu nome,<br />
propósito e palavras-chave; descrição detalhada, contendo a def<strong>in</strong>ição das <strong>in</strong>terfaces<br />
e <strong>in</strong>formações sobre a l<strong>in</strong>guagem de implementação, versionamento, etc; <strong>in</strong>formações<br />
de qualidade, descrevendo as <strong>in</strong>formações necessárias para a garantia de qualidade do