Reuso de Software
Engenharia de Software
Luíz García
REUSO DE SOFTWARE
Tiago Freitag
Vitor Fontoura
Vinicius Vargas
Lucas Scheunemann
DEFINIÇÃO
“Reuso de software é o processo de criação de sistemas a partir de softwares existentes ao invés de construir sistemas do zero.” (Krueger, 1992)
FATOS HISTÓRICOS
Fase pré Orientação a Objetos: 1960-1970
• Cut-and-Paste:
Linhas de código roubadas de um programa e usadas em outro.
• Subrotinas:
Código comum de um programa.
• Bibliotecas:
Funções inteiras genéricas, usadas em várias situações em programas diferentes.
Fase da revolução Orientação a Objetos: 1980
• Herança, Composição/Delegação:
Conceitos inteiros através de classes.
VANTAGENS
• Redução dos riscos a falhas.
• Melhoria da qualidade do software.
• Melhoria da produtividade.
• Melhoria da manutenção.
• Redução nos custos de desenvolvimento.
• Aumento da confiabilidade no sistema.
• O tempo de desenvolvimento do software é reduzido.
• Conhecimento adquirido pode ser compartilhado.
DESVANTAGENS
• Identificar, recuperar e modificar artefatos reutilizáveis.
• Se implementado de maneira incorreta, podemos duplicar problemas.
• Falta de ferramentas de apoio.
• Barreiras legais e econômicas.
• Ego de alguns desenvolvedores.
FORMAS MAIS
COMENTADAS
• Oportunistica:
Reuso ocasional, não planejado, geralmente usa técnicas de “Copiar e Colar”.
• Sistematizado:
Exige planejamento e preparo, deve considerar aspectos técnicos e pedagógicos.
CARACTERÍSTICAS DO REUSO
SISTEMATIZADO
• Definição de estratégias para reusar.
• Aplicação de padrões na produção.
• Documentação e indexação dos artefatos.
• Mecanismo de adaptação do conteúdo.
FERRAMENTA REUSE DASHBOARD
Reuse Dashboard é uma ferramenta brasileira que visa auxiliar os diversos stakeholders do processo de desenvolvimento no acompanhamento de um programa de reutilização de software, provendo informações visuais analíticas.
PRATICIDADE
• Plataformas Desktop.
• Dispositivos Móveis.
• Integrada