2. Reuso de Software
Programa de Padronização de Reuso
Construção Artesanal Construção baseada em Reuso
Não aproveita recursos de Aproveita ao máximo os recursos de
experiências anteriores experiências anteriores
O retrabalho tende a ser eliminado,
O retrabalho é sempre presente
aumentando a qualidade e
no modelo de trabalho confiabilidade
Alto custo quando se tenta adequar Adequação total ao modelo de linha
ao modelo de linha de produção de produção, com baixo custo
3. Reuso de Software
Programa de Padronização de Reuso
Vias para o Reuso de Software
(três pilares)
• Apóiam o processo em execução
• Repositório, mecanismos de divulgação
Ferramentas
• Conjunto de mecanismos cooperantes
• Impulsiona a concretização do reuso
• Baseado em sub-processos específicos
• Elemento mais precioso
• Aspectos Técnicos e Culturais
4. Uma visão geral sobre Reuso de Software
Segundo a literatura:
– “Software reuse is the process of creating software
systems from existing software rather than building
software systems from scratch.” KRUEGER,1992
– “Software reuse is the process of implementing or
updating software systems using existing software
assets.” JORDAN,1997
5. Uma visão geral sobre Reuso de Software
Mas... o que poderá ser reutilizado?
– Componentes de software
– Frameworks de aplicações
– Padrões de projeto
TUDO!
– Arquiteturas de software
– Documentações
– Templates para geração de código
– Entre outros...
6. Uma visão geral sobre Reuso de Software
E valerá a pena reutilizar software?
– Qualidade Refinada
– Aumento na Produtividade
– Confiabilidade Maior
– Interoperabilidade Aperfeiçoada
– Custo de Manutenção Menor
– Treinamento com Custo Reduzido
– Diminuição da Curva de Aprendizagem
7. Uma visão geral sobre Reuso de Software
Experiências de quem reutilizou
– IBM, Motorola, HP (números não divulgados)
• Superação de Barreiras
– Resistência à idéia de reuso de software
– Investimento no processo e sua institucionalização
– BankBoston
• 10 milhões
– Ci&T (Digital Asset)
• 1,5 milhões em 4 anos
• 15% aumento de produtividade a cada ano
• 0,1 defeitos por mil linhas de código
8. Cenário Atual do Reuso na CPM Braxis
Contexto organizacional do Reuso
– Altamente informal e não institucionalizado
– Baseado em algumas soluções de mercado
– Primeiras iniciativas estão em soluções específicas
– A disseminação das soluções não é eficaz
– Os ganhos não são numericamente claros
– Porém, EXISTEM! E deve-se ter domínio sobre eles!
9. Cenário Atual do Reuso na CPM Braxis
Ganhos percebidos com reuso ad hoc
– Muitos aspectos favorecidos pelas técnicas aplicadas
– XCode age diretamente com a produtividade
– Robustez fornecida pelo uso do UniFW
– Componentes diversos promovendo aspectos como:
• Coesão arquitetural
• Padronização
• Performance
– Uma questão: como incrementar esses ganhos?
10. Buscando um Processo para Reuso
Reuso de Software suportado por um Processo
– Por que adotá-los?
– Servirá para ordenar um conjunto de atividades
– Tornará claro tudo que deve ser realizado
– Os resultados são tão nítidos como o próprio processo
10
11. Buscando um Processo para Reuso
O Sucesso do Processo dependerá de:
– Atividades bem definidas (sub-processos)
– Ferramentas adequadas
– Pessoas imergidas na cultura
11
12. Buscando um Processo para Reuso
Conseqüências da execução do Processo
– Forte disseminação da cultura de reuso
– Mineração intensificada de novas oportunidades
– Gestão de ativos realizada de forma racional
– Catálogo de ativos bem estruturado
– Alto controle de qualidade sobre os ativos
– Estatísticas e estimativas mais próximas do real
12
13. Buscando um Processo para Reuso
Características Principais do Processo
Escopo: Toda a Organização
Implantação: Gradual e Evolutiva
Foco: Institucionalização
Produção COM reuso e PARA reuso
13