sábado, 9 de agosto de 2008

Reuso de Software

Reutilização. No contexto de desenvolvimento de software, esta é a palavra-chave para aumento de produtividade, qualidade e redução de custos. Quanto menos linhas de código são reescritas – fato que geralmente acontece por falta de planejamento e organização de conhecimento –, mais software novo pode ser criado. O aumento de qualidade se dá com a utilização deste código já bem documentado e testado.
O ponto chave do sucesso dessas organizações é que elas possuem a coragem que falta em outras, para “perder” parte do seu staff, momentaneamente, "pensando e fazendo, exclusivamente" reuso de software e depois, se deleitar dos benefícios obtidos pela decisão corajosa.
O reuso de software é o uso de software existente para o desenvolvimento de novo software.
No reuso de software duas decisões estão envolvidas. A primeira é se devemos, ou não, adquirir software para reusar. Sistemas operacionais devem ser comprados, bibliotecas de códigos devem ser desenvolvidas, ou compradas, arquiteturas de domínio específico para famílias de produtos devem ser produzidas.Se o software a ser reusado já é possuído como resultado de outra atividade, esta decisão é desnecessária.A segunda decisão é se devemos, ou não, reusar software em instâncias particulares.
A questão é: o desenvolvedor deve escrever uma rotina, ou deve buscá-la na Internet? Justamente pelo fato de que o processo de reuso de software envolve encontrar software, entender como reusá-lo, e talvez, modificá-lo antes de ser de fato reusado, pode ser mais atrativo para redesenvolver.

Algumas vezes estas decisões são simples.Muitas formas de reuso de software não são comumente denominadas de “reuso”; elas são práticas padrões já que não há alternativa real.No entanto, algumas decisões são menos simples, ou diretas, e requerem análise apropriada antes delas serem tomadas.
Mas como?

Neste sentido, um modelo de adoção de reuso (ou seja, uma estratégia) ajuda a organização a entender como o reuso irá mudar o modo como ela faz negócios, e como ela deve planejar para esta mudança. Um modelo de adoção de reuso é um guia para o processo de melhoria. Ele sugere área onde a capacidade pode ser medida de modo sistemático em uma organização num dado ponto do tempo.

As técnicas são:
  • Adoção de reuso no processo de desenvolvimento software
  • Engenharia de domínio
  • Componentização
  • Frameworks
  • Linhas de Produtos
  • Utilizar padrões de projeto (Design Patterns)