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.

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

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

Saved successfully!

Ooh no, something went wrong!