• Nenhum resultado encontrado

Capítulo 2 – Repositórios e Mercados de Componentes e o Processo de Gerência de

2.5 Processo de Gerência de Reutilização

Em se tratando de mercado, a garantia da qualidade dos ativos envolvidos é fundamental para o sucesso. No caso de componentes, os repositórios representam as entidades que gerenciam e mantém os ativos (componentes) do mercado subjacente e, como não poderia deixar de ser diferente, foram e devem ser alvo de pesquisas e soluções no que tange à incorporação e ao provimento de produtos e serviços de qualidade. A partir desta premissa, modelos de qualidade foram estendidos, visando atender a capacidade e a maturidade de processo na área de Reutilização de Software, em um cenário intra- e inter-organizacional, tal como o Modelo de Referência MR-MPS do Modelo MPS (Melhoria do Processo do Software) (SOFTEX, 2009c). Este modelo está em desenvolvimento desde 2003 e possui como foco principal as micro, pequenas e médias empresas, estabelecendo sete níveis de maturidade (de G a A) que correspondem a patamares de evolução de processos, o que caracteriza estágios de melhoria da implementação de processos na organização. Estes níveis são caracterizados por um conjunto de processos que possuem um propósito geral e resultados a serem alcançados. No caso da Reutilização de Software, o desenvolvimento com e para reutilização são contemplados por dois processos específicos, o processo Gerência de

Reutilização (GRU), do nível E, e o processo Desenvolvimento para Reutilização

(DRU), do nível C, respectivamente. Mais especificamente no contexto da pesquisa relativa a esta dissertação, que abrange o escopo dos problemas referentes ao estabelecimento de um mercado de componentes (Seção 2.4), o processo GRU pode contribuir no sentido de tratar estes problemas ao nível de processo e, conseqüentemente, de questões não-técnicas que permeiam a entidade que apóia este mercado, ou seja, um repositório de referência. Por exemplo, para a publicação de um componente, procedimentos podem ser definidos (e seguidos), como análises de relatórios de testes, adequação a padrões pré-definidos, avaliações de consumidores e coleta de métricas de desempenho (caso o componente possua versões anteriores) etc. (COLOMBO et al., 2007). Por essas razões, as próximas seções apresentam o propósito

do processo GRU e os resultados esperados com a sua implantação (Figura 2.7), com o intuito de viabilizar a análise da adequação da abordagem proposta ao GRU (Seção 5.4).

O prop

O propóósito do processo Gerência de Reutilizasito do processo Gerência de Reutilizaçção ão éégerenciar o ciclo de vida dos ativos reutilizgerenciar o ciclo de vida dos ativos reutilizááveisveis

GRU1

GRU1 --Uma estratUma estratéégia de gia de

gerenciamento de ativos

gerenciamento de ativos éé documentada, contemplando a

documentada, contemplando a

defini

definiçção de ativo reutilizão de ativo reutilizáável, alvel, aléém dos m dos

crit

critéérios para aceitarios para aceitaçção, certificaão, certificaçção, ão,

classifica

classificaçção, descontinuidade e ão, descontinuidade e

avalia

avaliaçção de ativos reutilizão de ativos reutilizááveisveis

GRU2

GRU2 --Um mecanismo de Um mecanismo de

armazenamento e recupera

armazenamento e recuperaçção de ão de ativos reutiliz

ativos reutilizááveis veis ééimplantadoimplantado

GRU3

GRU3 --Os dados de utilizaOs dados de utilizaçção dos ativos ão dos ativos reutiliz

reutilizááveis são registradosveis são registrados

GRU4

GRU4 --Os ativos reutilizOs ativos reutilizááveis são veis são

periodicamente mantidos, segundo os

periodicamente mantidos, segundo os

crit

critéérios definidos, e suas modificarios definidos, e suas modificaçções ões são controladas ao longo do seu ciclo de

são controladas ao longo do seu ciclo de

vida

vida

GRU5

GRU5 --Os usuOs usuáários de ativos reutilizrios de ativos reutilizááveis veis são notificados sobre problemas

são notificados sobre problemas

detectados, modifica

detectados, modificaçções realizadas, ões realizadas,

novas versões disponibilizadas e

novas versões disponibilizadas e

descontinuidade de ativos

descontinuidade de ativos

GRU

GRU

Figura 2.7 – Estrutura do processo GRU (WERNER & SANTOS, 2009) 2.5.1. Propósito Geral do Processo GRU

O propósito do processo GRU é gerenciar o ciclo de vida dos ativos reutilizáveis (SOFTEX, 2009b). Nesse sentido, o GRU tem por objetivo definir procedimentos tanto administrativos quanto técnicos para a utilização de ativos reutilizáveis em uma organização, estabelecendo e controlando uma biblioteca para o armazenamento, recuperação e divulgação destes ativos (IEEE, 2004). Entende-se como ativo reutilizável qualquer artefato ou elemento relacionado ao ciclo de vida de um software que foi projetado para utilização em diferentes contextos e que esteja preparado, isto é, empacotado de maneira própria a ser reutilizado pelos processos da organização. Dessa forma, o GRU consiste em um instrumento a ser aplicado neste contexto, promovendo os mecanismos para estabelecimento e manutenção de uma infra-estrutura que torne viável a reutilização de ativos em uma organização (ISO/IEC, 2006).

A gerência de reutilização tem início quando a organização define que tipo de ativos será reutilizado, além de atribuir papéis aos recursos disponíveis e realizar o planejamento do processo (SOFTEX, 2009b). Nesse momento, define-se a que critérios os ativos reutilizáveis serão submetidos para que possam ser utilizados durante a

execução do processo. Estabelece-se uma biblioteca de ativos reutilizáveis7 a fim de

catalogar os ativos, proporcionando meios para que estes sejam identificados e recuperados. Também é realizado um planejamento quanto à manutenção dessa biblioteca, definindo procedimentos para que os critérios estabelecidos possam ser reaplicados, visando manter a biblioteca coerente com o propósito do GRU. Os papéis básicos envolvidos nesse processo são o produtor, o consumidor e o gerente de ativos

reutilizáveis – entende-se como a gerência da biblioteca de ativos reutilizáveis a

supervisão de todos os passos de utilização da biblioteca, bem como o cadastro e controle do armazenamento dos ativos reutilizáveis. No entanto, o GRU não tem como propósito definir o momento e a forma que os ativos reutilizáveis serão utilizados.

No que tange a ESBC, SOFTEX (2009b) destrincha mais o conceito de ativo reutilizável, mostrando que este não pode ser categorizado em um único nível de abstração, podendo consistir desde um plano de projeto até um elemento de infra- estrutura, resguardando que esses elementos sejam encapsulados e que permitam a sua utilização em contextos diferentes da sua criação. Na ESBC, um componente é o tipo de ativo reutilizável com mais apelo para uso em diversos contextos. Partindo de uma definição focada em código (SZYPERSKI et al., 2002) e ampliando-a para contemplar elementos de análise e projeto (SAMETINGER, 1997), pode-se definir componente como o encapsulamento de um conceito (e.g., a descrição de um processo de software, um conhecimento sobre um domínio específico etc.). Este fato permite ampliar toda a fundamentação teórica de componentes para qualquer tipo de ativo reutilizável. Adicionalmente, algumas características relacionadas à qualidade desses componentes devem ser destacadas: (i) verificação da adequação do novo componente ao conceito de ativo, estabelecido pelo processo, para a biblioteca; (ii) especificação de condições para certificação de ativos; e (iii) disponibilização de avaliações de ativos visando feedback.

2.5.2. Resultados Esperados com o Processo GRU

A partir da definição do propósito do processo GRU, SOFTEX (2009b) estabelece um conjunto de resultados esperados (Figura 2.7) com a sua implantação na

7 O Modelo MPS, no que se refere ao GRU, utiliza o termo biblioteca no sentido do termo repositório

discutido na Seção 2.3 (i.e., base para catalogação e disponibilização de ativos reutilizáveis ora desenvolvidos), e utiliza o termo repositório para se referir a repositórios de gerência de configuração. Estes repositórios visam gerenciar a evolução dos ativos em desenvolvimento na organização, registrando desde a solicitação de uma modificação em um ativo até o armazenamento da versão que reflete essa modificação. No escopo desta dissertação, utiliza-se o termo biblioteca para se referir a um repositório de referência (Seção 4.2.1) e ignora-se o conceito relacionado a repositório de gerência de configuração.

organização, conforme descrito na Tabela 2.10. É interessante notar que, uma vez que este processo esteja implantado em repositórios organizacionais, um repositório de referência pode catalogar os ativos de um mercado de componentes nas mesmas condições, o que incorre em qualidade e, conseqüentemente, confiabilidade, segurança, participação e estabelecimento das estruturas desse mercado.

Tabela 2.10 – Resultados esperados com o processo GRU

RESULTADO DESCRIÇÃO

GRU1

A organização necessita delimitar o escopo de utilização dos ativos reutilizáveis, isto é, definir que ativos serão passíveis de reutilização e os pontos nas atividades dos processos em que se dará essa reutilização. Essa escolha caracteriza como o repositório se organizará, favorecendo os procedimentos de busca e seleção, definindo a arquitetura da biblioteca, além de toda infra-estrutura para sua utilização. Um conjunto de critérios é estabelecido para qualificar um ativo reutilizável desde a possibilidade deste fazer parte da biblioteca até o momento em que este não se faz mais necessário. Periodicamente, os critérios são revistos, observando as próprias necessidades da execução do processo GRU.

GRU2

Um mecanismo de armazenamento e recuperação de ativos reutilizáveis é definido, levando em consideração as suas informações de documentação, compatível com as necessidades da organização em catalogá-los e recuperá-los. É interessante permitir que os engenheiros de software externem a necessidade de catalogação de certos tipos de ativos. Uma vez definido esse mecanismo, este é implantado e disponibilizado para os engenheiros de software da organização através da biblioteca.

GRU3

A informação de que consumidor utiliza determinada versão de um ativo reutilizável é registrada, para estabelecer o elo produtor-consumidor. Isso é importante para notificações acerca do ativo, além de tornar possível a observação da sua utilização, isto é, informações que caracterizem tendência ou comportamento, podendo auxiliar o gerente de ativos reutilizáveis na realização das atividades de manutenção da biblioteca (e.g., descontinuar ativos), notificando o produtor e os consumidores.

GRU4 Os ativos reutilizáveis estão sob o processo gerência de configuração e de garantia de qualidade, o que favorece a sua manutenção e a garantia da aderência aos padrões estabelecidos para os critérios definidos.

GRU5

Os dados de utilização de ativos reutilizáveis são aproveitados pelo gerente de ativos reutilizáveis para notificar os consumidores sobre alterações que ocorreram nos ativos reutilizados. Quando as novas versões de ativos reutilizáveis se tornam disponíveis na biblioteca, os seus consumidores são notificados: se a versão for oriunda de uma evolução do ativo ou de uma correção, a substituição pode ou não ser opcional, respectivamente.