• Nenhum resultado encontrado

2.2   Wiki na Engenharia de Software 34 

2.2.2 Wiki semântico e Engenharia de Software 40 

A reutilização de artefatos não é algo recente. Em 1968 na conferência NATO, McElroy já referenciava a reutilização de artefatos dentro da Engenharia de Software. Mas apesar dessa longa jornada a reutilização de artefatos ainda enfrenta diversos desafios. De acordo com Decker et al. (2005), esses desafios são causados pela falta de apoio a reutilização dentro de três etapas, sendo elas: Pesquisa, Avaliação e Adaptação. No que diz respeito à Pesquisa, no domínio do estudo de Decker et al. (2005) as pessoas na empresa analisada não encontram artefatos existentes ou nem sequer iniciam a pesquisa, devido ao esforço relacionado com a pesquisa. Em relação à Avaliação os problemas são causados principalmente por extensas ou insuficientes documentações de artefatos encontrados, levando muitas vezes a má compreensão, portanto a dificuldade na avaliação dos artefatos recuperados. Não menos importante a Adaptação procura entender e adaptar os artefatos, em contraste com o esforço para sua primeira criação.

A fim de organizar a reutilização de artefatos no âmbito da engenharia de software, em especial no desenvolvimento ágil de software, as equipes de desenvolvimento de software analisadas na empresa Empolis procuram cada vez mais reutilizar o conhecimento por meio do uso de ambiente Wiki tentando evitar o retrabalho na confecção de software (Chau e Maurer, 2005). Da mesma forma, Decker et al. (2005) afirmam que a reutilização de artefatos de software em conjunto com ambiente Wiki vem crescendo, apresentando sustentação e disponibilidade de informações a respeito desses artefatos. A possibilidade de utilizar Wiki como um ambiente para promover a reutilização tem proporcionado grandes avanços a

41 respeito do aumento de qualidade e redução de custos (Decker et al., 2005; Chau e Maurer, 2005) e que, de acordo com Shiva (2008), é possível baixar o índice de barreira técnicas.

Em relação ao uso de ambiente Wiki como um forte aliado na promoção de reutilização de artefatos existe o problema da sobrecarga de informação decorrente do crescimento caótico que, segundo Decker et al. (2005), vem se tornando problemático, tornando impraticável a pesquisa, acarretando a desmotivação dos participantes a reutilizarem artefatos de conhecimento. Da mesma forma, Shiva (2008) cita que os ambientes Wikis possuem desvantagens, ou seja, apenas os seres humanos são capazes de ler e compreender o conhecimento nas páginas, enquanto máquinas apenas enxergam grande número de páginas interligadas.

Segundo Decker et al. (2005), a reutilização exige que os artefatos sejam aptos a serem reutilizados, ou seja, os artefatos devem ser desenvolvidos de forma compreensiva e que sejam úteis para as outras pessoas. Conseqüentemente, a reutilização implica em uma boa organização e coordenação das atividades de desenvolvimento. Sendo assim, nesse contexto, Decker et al. (2005) acredita que a organização para o reuso significa que a comunidade não só fornece os artefatos a serem reutilizados, mas também se preocupa com a forma de organizá-los da melhor maneira possível. Isso implica na distribuição de esforços dentro da comunidade em desenvolver artefatos, por isso os esforços em descrever os artefatos precisam ser feitos com o máximo de cuidado e clareza. Se a descrição dos artefatos estiver padronizada seguindo uma estrutura semântica (metadados) é possível que os problemas de pesquisa em ambientes sobrecarregados sejam reduzidos.

Segundo Decker et al. (2005) e Shiva (2008), pelo uso de semântica (metadados) incorporado a um ambiente Wiki é possível promover robustez, pois o rastreio de informações se torna mais inteligente e versátil, sendo um filtro importante para o problema da sobrecarga de informação.

Na iniciativa de praticar a reutilização e a combinação de tecnologia Wiki com estrutura semântica, Decker et al. (2005) apresentam o projeto RISE (Reuse in Software Engineering), que propõe uma abordagem de apoio a organização e reutilização de artefatos de software usando Wiki Semântico e ontologia (modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes), capazes de melhorar a recuperação dos artefatos.

42 e ontologia estão estreitamente relacionadas, se não idênticas, pois ambas possuem o objetivo de captar os aspectos significativos do mundo real e expressá-los com um grau variável de formalidade.

Assumindo as considerações de Decker et al. (2005) e Shiva (2008), é possível notar que um caminho para recuperar informações úteis à reutilização de componentes de software está voltado ao uso de Wikis Semânticos por permitir identificar informações adicionais sobre páginas e suas relações. Entretanto, ambos afirmam que para implementar uma semântica é necessário colocar as informações disponíveis em linguagem formal como Resource

Description Framework (RDF) e Web Ontology Language (OWL), acessível às máquinas.

Na proposta de Decker et al. (2005) são apresentados cinco tipos de documentos: • Requirement Document: contém descrições de pessoas ou entidades interagindo

com o sistema como usuários ou outros componentes do sistema, instâncias de

User Story contendo descrições de narrativas para interagir entre sistemas e

atores e instâncias de Use Case contendo representação semi-formal dessas interações.

• Templates (modelos): define a estrutura, conteúdo e permite inter-relações desses documentos;

• Context: contém informações sobre o projeto e os autores de documentos (como competências pessoais);

• Navigation: apóia a estrutura de todo o conjunto de documentos, através de súmulas que reúnem documentos de requisitos de acordo com a ontologia e metadados contidas no documento;

• HowToDocument: mostra como criar e usar os documentos de requisitos, a relação entre eles e os Templates, instâncias de como os documentos podem ser criados baseados no modelo relacionado.

43 relacionamentos). Essa ontologia pode ser entendida de acordo com a necessidade do projeto ou das políticas da organização. Além da ontologia, cada documento possui um conjunto de metadados.

Figura 2.10 - Exemplo de uma Ontologia de Documento (Decker et al. 2005).

Shiva (2005) propôs um framework que poderia ser utilizado de forma autônoma ou integrado no ambiente de desenvolvimento de software. Tal framework permite aos usuários acessarem e atualizarem um sistema baseado em Wiki Semântico que provê estruturação eficaz e armazenamento de artefatos de software. Esse sistema é constituído pelos seguintes elementos:

• Repositório: armazena os artefatos reutilizáveis de software;

• Interface do Usuário: um editor Web que permite ao usuário manipular o repositório semântico acrescentando atualizações para cada artefato, bem como metadados sobre estes artefatos;

• Templates e Ferramentas: auxilia os usuários a acrescentarem e atualizarem metadados relacionados aos componentes de software;

44 • Pesquisa Semântica: suporta pesquisa baseada em contexto a itens relevantes;

• Componentes NLP15: aumenta a capacidade de busca e a recuperação.

Figura 2.11 - Diagrama simplificado do ambiente proposto por Shiva (2008).

Enfim, analisando os trabalhos de Decker et al. (2005), Shiva (2008) e Chau e Maurer (2005) é possível notar que o Wiki Semântico possui aplicabilidade para promover o reuso de artefatos, explorando a semântica a fim de facilitar a recuperação destes.