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.