140 likes | 222 Views
Reutilização de Software. Introdução. Reutilização de software é Reaplicação de informações e artefatos de um sistema já definido, em outros sistemas semelhantes. Objetivos. Permitir ampla utilização de todos os tipos de informação encontradas em situações de desenvolvimento: Exemplos:
E N D
Introdução Reutilização de software é Reaplicação de informações e artefatos de um sistema já definido, em outros sistemas semelhantes
Objetivos Permitir ampla utilização de todos os tipos de informação encontradas em situações de desenvolvimento: Exemplos: • Fornecer bibliotecas de componentes reutilizáveis • Evitar realização de tarefas previamente desenvolvidas • Compartilhar conhecimento...
Benefícios • Menor produção de software novo • Aumento de: • Produtividade • Qualidade • Confiabilidade • Diminuição de: • Tempo • Custo de manutenção
Problemas: População Carga Construção Soluções: Análise de domínio Esquemas de classificação Propriedades genéricas Problemas
Requisitos Investimentos para: • Criar componentes reutilizáveis • Realizar testes e garantia de qualidade acima do que normalmente seria esperado • Manter bibliotecas, recursos de consulta e outras facilidades
Implantação da Reutilização Aspectos fundamentais: • Criar repositório com componentes reutilizáveis • Incluir atividades relativas ao reaproveitamento na metodologia de desenvolvimento • Seleção de ferramentas técnicas necessárias • Compromisso gerencial e aceitação dos profissionais para utilização desta técnica
Ferramentas para reutilização • Identificação/Análise de Domínio • Sistemas especialistas em extração de conhecimento... • Descrição e Representação: • Sistemas de hipertexto... • Classificação/Armazenamento: • Repositório... • Produção/Refinamento: • Ferramentas de testes...
Níveis de reusabilidade • Reusando código (cortar e colar código fonte...) • Reusando dados (Ferramentas CASE...) • Reusando projetos físicos (Reutilizar a análise...) • Reusando especificações (Elimina esforço em projetar, codificar e testar...)
Abordagens tecnológicas • Bibliotecas de componentes • Documentação, testes... • Técnicas de desenvolvimento orientadas a objetos • Herança (subclasses...) • Ferramentas CASE • Recuperação de projetos • Iniciar a biblioteca...
Abordagens organizacionais • Oferecer sistemas de recompensa que instale maior consciência da conveniência da reusabilidade • Encorajar a reusabilidade • Criar um grupo cujo única tarefa seja criar módulos reusáveis
Análise de domínio É o processo de aquisição de conhecimento referente a um determinado assunto
Repositório de dados • Representação dos dados na forma entidade-relacionamento • Armazenamento de dados e serviços de manipulação destes dados • Controle de acesso/segurança • Suporte ao desenvolvimento de aplicações e manutenções