reutilização de software

14
Reutilização de Reutilização de Software Software

Upload: karik

Post on 21-Mar-2016

26 views

Category:

Documents


0 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reutilização de Software

Reutilização de Reutilização de SoftwareSoftware

Page 2: Reutilização de Software

IntroduçãoIntrodução

Reutilização de software é Reaplicação de Reutilização de software é Reaplicação de informações e artefatos de um sistema informações e artefatos de um sistema

já definido, em outros sistemas já definido, em outros sistemas semelhantessemelhantes

Page 3: Reutilização de Software

ObjetivosObjetivosPermitir ampla utilização de todos os tipos Permitir ampla utilização de todos os tipos

de informação encontradas em de informação encontradas em situações de desenvolvimento:situações de desenvolvimento:

Exemplos:Exemplos:– Fornecer bibliotecas de componentes Fornecer bibliotecas de componentes

reutilizáveisreutilizáveis– Evitar realização de tarefas previamente Evitar realização de tarefas previamente

desenvolvidasdesenvolvidas– Compartilhar conhecimento...Compartilhar conhecimento...

Page 4: Reutilização de Software

BenefíciosBenefícios Menor produção de software novoMenor produção de software novo Aumento de:Aumento de:

– ProdutividadeProdutividade– QualidadeQualidade– ConfiabilidadeConfiabilidade

Diminuição de:Diminuição de:– TempoTempo– Custo de manutençãoCusto de manutenção

Page 5: Reutilização de Software

ProblemasProblemasProblemas:Problemas: PopulaçãoPopulação CargaCarga ConstruçãoConstrução

Soluções:Soluções: Análise de Análise de

domíniodomínio Esquemas de Esquemas de

classificaçãoclassificação Propriedades Propriedades

genéricasgenéricas

Page 6: Reutilização de Software

RequisitosRequisitosInvestimentos para:Investimentos para:

– Criar componentes reutilizáveisCriar componentes reutilizáveis– Realizar testes e garantia de qualidade Realizar testes e garantia de qualidade

acima do que normalmente seria esperadoacima do que normalmente seria esperado– Manter bibliotecas, recursos de consulta e Manter bibliotecas, recursos de consulta e

outras facilidadesoutras facilidades

Page 7: Reutilização de Software

Percentual de ReusoPercentual de ReusoPercentual de Reuso

60% 62%85%

40% 50%

00,2

0,40,6

0,81

Raytheon Universityof

Califórnia

JapaneseSoftwareFactories

Hartford GTE DataServices

Seqüência1 Seqüência2 Seqüência3

Page 8: Reutilização de Software

Implantação da Implantação da ReutilizaçãoReutilização

Aspectos fundamentais:Aspectos fundamentais:– Criar repositório com componentes Criar repositório com componentes

reutilizáveisreutilizáveis– Incluir atividades relativas ao Incluir atividades relativas ao

reaproveitamento na metodologia de reaproveitamento na metodologia de desenvolvimentodesenvolvimento

– Seleção de ferramentas técnicas necessáriasSeleção de ferramentas técnicas necessárias– Compromisso gerencial e aceitação dos Compromisso gerencial e aceitação dos

profissionais para utilização desta técnicaprofissionais para utilização desta técnica

Page 9: Reutilização de Software

Ferramentas para Ferramentas para reutilizaçãoreutilização

Identificação/Análise de DomínioIdentificação/Análise de Domínio– Sistemas especialistas em extração de Sistemas especialistas em extração de

conhecimento...conhecimento... Descrição e Representação:Descrição e Representação:

– Sistemas de hipertexto...Sistemas de hipertexto... Classificação/Armazenamento:Classificação/Armazenamento:

– Repositório...Repositório... Produção/Refinamento:Produção/Refinamento:

– Ferramentas de testes...Ferramentas de testes...

Page 10: Reutilização de Software

Níveis de reusabilidadeNíveis de reusabilidade Reusando código (cortar e colar código Reusando código (cortar e colar código

fonte...)fonte...) Reusando dados (Ferramentas CASE...)Reusando dados (Ferramentas CASE...) Reusando projetos físicos (Reutilizar a Reusando projetos físicos (Reutilizar a

análise...)análise...) Reusando especificações (Elimina Reusando especificações (Elimina

esforço em projetar, codificar e testar...)esforço em projetar, codificar e testar...)

Page 11: Reutilização de Software

Abordagens tecnológicasAbordagens tecnológicas Bibliotecas de componentes Bibliotecas de componentes

– Documentação, testes...Documentação, testes... Técnicas de desenvolvimento Técnicas de desenvolvimento

orientadas a objetosorientadas a objetos– Herança (subclasses...)Herança (subclasses...)

Ferramentas CASEFerramentas CASE Recuperação de projetosRecuperação de projetos

– Iniciar a biblioteca...Iniciar a biblioteca...

Page 12: Reutilização de Software

Abordagens Abordagens organizacionaisorganizacionais

Oferecer sistemas de recompensa que Oferecer sistemas de recompensa que instale maior consciência da instale maior consciência da conveniência da reusabilidadeconveniência da reusabilidade

Encorajar a reusabilidadeEncorajar a reusabilidade Criar um grupo cujo única tarefa seja Criar um grupo cujo única tarefa seja

criar módulos reusáveiscriar módulos reusáveis

Page 13: Reutilização de Software

Análise de domínioAnálise de domínio

É o processo de aquisição de É o processo de aquisição de conhecimento referente a um conhecimento referente a um determinado assuntodeterminado assunto

Page 14: Reutilização de Software

Repositório de dadosRepositório de dados Representação dos dados na forma Representação dos dados na forma

entidade-relacionamentoentidade-relacionamento Armazenamento de dados e serviços de Armazenamento de dados e serviços de

manipulação destes dadosmanipulação destes dados Controle de acesso/segurançaControle de acesso/segurança Suporte ao desenvolvimento de Suporte ao desenvolvimento de

aplicações e manutençõesaplicações e manutenções