Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre Arquitetura.
Autores: Edmilson Rodrigues da Silva, Rodrigo Oliveira Spínola e Marcos Kalinowski

Implementando gerência de reutilização de software
A reutilização de software pode trazer vários benefícios para uma organização, como o aumento da qualidade e da produtividade e a redução dos custos e do tempo de desenvolvimento de sistemas. Porém, para que os ativos reutilizáveis possam ser usados de maneira efetiva, é necessário estabelecer um procedimento sistemático de armazenamento, recuperação e divulgação.

O modelo de referência MPS.BR define o processo de Gerência de Reutilização no nível E que tem como propósito gerenciar o ciclo de vida de ativos reutilizáveis. O processo Gerência de Reutilização tem como objetivo definir procedimentos tanto administrativos quanto técnicos para utilização de ativos reutilizáveis em uma organização, estabelecendo e controlando uma biblioteca para o armazenamento e recuperação destes ativos.

O desenvolvimento para reutilização visa aplicar técnicas de engenharia de domínio para definir o escopo, especificar a estrutura e construir ativos reutilizáveis para uma classe de sistemas, subsistemas ou aplicações.

Este artigo apresenta uma abordagem de gerência de reutilização para uma empresa real, seguindo os preceitos do processo de Gerência de Reutilização do modelo de referência do MPS.BR, definindo o que vem a ser um ativo reutilizável no contexto de sistemas de gerenciamento integrado produzidos por esta empresa e propondo um mecanismo de armazenamento para controle desses ativos reutilizáveis.

Um ativo reutilizável, na abordagem do processo de gerência de reutilização apresentada neste artigo, é um conjunto de arquivos (documentação, implementação, etc.) derivado da realização de um caso de uso de um sistema de gerenciamento integrado.

Uma prova de conceito mostrou a viabilidade de aplicar da abordagem apresentada.


Em que situação o tema é útil

Este artigo é útil como uma introdução ao processo de gerência de reutilização de software e a abordagem apresentada serve como exemplo para a implementação deste processo em ambientes organizacionais reais. Dentre os benefícios esperados com o uso da abordagem tem-se: o ganho de tempo em relação à reimplementação de uma funcionalidade no sistema (o que seria feito em horas pode ser incorporado em alguns minutos ao sistema) e a possibilidade de incorporar ao sistema uma funcionalidade que já foi usada e testada em outro sistema, diminuindo as chances de defeitos no software.

Reutilização de software é o processo de criação de sistemas de software a partir de software existente ao invés de construí-los a partir do zero. Esta visão foi introduzida em 1968 quando da realização da Conferência de Engenharia de Software da OTAN que focava na crise do software (software crisis), isto é, dificuldade em construir grandes sistemas confiáveis de maneira controlada e com boa relação custo-benefício. Desde o início, a reutilização de software tem sido apontada como um meio para a superação da crise de software.

De fato, a reutilização de software pode trazer vários benefícios para uma organização, como o aumento da qualidade e da produtividade e a redução dos custos e do tempo de desenvolvimento de sistemas. Porém, para que os ativos reutilizáveis possam ser usados de maneira efetiva, é necessário estabelecer um procedimento sistemático de armazenamento, recuperação e divulgação. Entende-se como ativo reutilizável qualquer artefato relacionado a software, isto é, empacotado de maneira própria a ser reutilizado pelos processos da organização.

Tendo em vista os benefícios da reutilização, este artigo propõe uma abordagem de gerência de reutilização para uma empresa real no contexto dos sistemas de sistemas de gerenciamento integrados (SGI) produzidos por ela, seguindo os preceitos do processo de Gerência de Reutilização (GRU) do modelo de referência do MPS.BR (Melhoria do Processo de Software Brasileiro).

Durante a produção de sistemas de gerenciamento integrado, os desenvolvedores e gerentes de projetos da empresa alvo observaram oportunidades de reutilização. Foi observado que algumas funcionalidades são comuns entre os diferentes sistemas e poderiam, simplesmente, serem adicionadas a outro SGI da empresa caso houvesse um método sistemático de fazê-lo.

Dessa forma, os benefícios da reutilização de software, o potencial de reutilização na empresa alvo no contexto de seus SGI’s, juntamente com as oportunidades de reutilização observadas neste contexto motivaram a definição de uma abordagem de gerência de reutilização com a finalidade de sistematizar e difundir práticas de reutilização dentro desta empresa.

Reutilização em organizações de software

Como este artigo propõe a aplicação de práticas de reutilização em um contexto organizacional específico e real, considerou-se os preceitos do modelo de referência do MPS.BR que são focados nas boas práticas e nas necessidades das empresas nacionais, incluindo pequenas e médias empresas.

O modelo MPS baseia-se nos conceitos de maturidade e capacidade de processo para a avaliação e melhoria da qualidade e produtividade de software e serviços correlatos e também para a melhoria da qualidade e produtividade dos serviços prestados, sendo estruturado nos seguintes componentes: Modelo de Referência para Software (MR-MPS-SW), Modelo de Referência para Serviços (MR-MPS-SV), Método de Avaliação (MA-MPS) e Modelo de Negócio para Melhoria de Processo de Software e Serviços.

O modelo de referência para software, MR-MPS-SW, possui sete níveis de maturidade acumulativos, que são: A (Em otimização), B (Gerenciado Quantitativamente), C (Definido), D (Largamente Definido), E (Parcialmente Definido), F (Gerenciado) e G (Parcialmente Gerenciado). O nível E possui o processo de Gerência de Reutilização cujos resultados esperados são a base para a definição da abordagem de gerência de reutilização apresentada neste artigo.

...
Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo