Reuso de Software Cleverson de Freitas Cristian Leandro Stroparo Juliano Lorenzet Curitiba, 10 de Junho de 2009 CI221 – Engenharia de Software Profª Silvia Regina Vergilio
O que é reuso de software? É o processo de incorporar em um novo produto : Código;
Especificações de requisitos e projeto;
Planos de teste;
Informações/dados gerados em desenvolvimentos anteriores;
Conhecimento em geral; “ Reuso pode ser entendido como uso de conceitos ou produtos previamente adquiridos ou construídos em uma nova situação ”  (Biggerstaff and Perlis, 1989)‏
O que é reuso de software? Nasceu da observação de que os softwares frequentemente seguem padrões similares; Não é aplicavel somente a fragmentos do código, também é uma forma eficaz de aproveitar os conhecimentos sobre o desenvolvimento de sistemas; Envolve a representação dos produtos em vários níveis de abstração, armazenamento, identificação de similaridades entre situações novas e antigas, recuperação de produtos já desenvolvidos e sua adaptação na nova situação;
Reusabilidade Medida da facilidade em se utilizar os conceitos e produtos em novas situações; É o grau de facilidade ou de potencialidade que um componente possui para ser Reusado; Está relacionado à alta coesão e baixo acoplamento com outros módulos.
Características básicas do reuso O reuso de software tem três características chaves : Prática sistemática de desenvolvimento de software;
Explora similaridade em requisitos e/ou arquiteturas entre aplicações;
Oferece benefícios substanciais na produtividade, qualidade e performance comercial.
Benefícios (Objetivos)‏ Aumento da produtividade:  reutilizando-se artefatos o  esforço no desenvolvimento diminui gerando um produto final de igual ou superior qualidade do que um gerado sem reutilização;
Aumento da qualidade e confiabilidade:  como os artefatos foram previamente testados, a probabilidade de sua corretude é ainda maior. Se a parte tem qualidade, o todo também terá.
Redução dos custos e tempo de desenvolvimento:  o custo de construção de artefatos reutilizáveis é diluído entre os vários projetos onde será reutilizado.
Benefícios (Objetivos)‏ Redução no tempo de entrega:  se o esforço no desenvolvimento diminui, consequentemente o tempo de entrega também diminui.
Interoperabilidade:  a padronização garante que os sistemas se comportem de maneira comum, aumentando a interoperabilidade
Previsibilidade / Confiabilidade / Redução dos riscos:  artefatos bem testados e reutilizados várias vezes têm alto grau de confiabilidade, diminuindo os riscos de erro.
Padronização:  como os artefatos seguem uma padronização pré-definida, sua reutilização em um sistema causará conseqüente padronização.
Requisitos Deve ser possível encontrar os componentes; (catalogação)‏ Certeza de comportamento como especificado; (certificação)‏ Possibilidade de entendimento e adaptação. (documentação)‏
Dificuldades Empenho -  a principal razão da baixa taxa de reutilização que se verifica deve-se à inexistência de qualquer esforço para reutilizar;
Existência - o fato de não existirem partes isoladas, sob a forma de artefatos, quer  tenham  sido desenhados para  reutilização ou não, representa um impedimento;
Disponibilidade - a falta de repositórios e a limitação do seu uso são as principais razões da falta de disponibilidade do artefato;
Acessibilidade - a má ou insuficiente representação e classificação do artefato ou a fraca qualidade das ferramentas de busca são as principais razões para não encontrá-lo;
Legibilidade - a  dificuldade em  compreender  o  artefato,  seja por documentação insuficiente ou devido a uma excessiva complexidade do mesmo, estão na origem da sua desconsideração para reutilização;
Dificuldades Validação - a falta de teste do artefato, o baixo desempenho, a não adesão aos padrões de normalização ou a falta de suporte por parte do produtor do artefato são consideradas as principais razões para sua rejeição na validação;
Integrabilidade - a existência de incompatibilidade de hardware e ambiente de integração são as razões mais frequentes que impedem a integração do artefato;
Barreiras psicológicas;
Barreiras legais e econômicas;

Reuso desw

  • 1.
    Reuso de SoftwareCleverson de Freitas Cristian Leandro Stroparo Juliano Lorenzet Curitiba, 10 de Junho de 2009 CI221 – Engenharia de Software Profª Silvia Regina Vergilio
  • 2.
    O que éreuso de software? É o processo de incorporar em um novo produto : Código;
  • 3.
  • 4.
  • 5.
    Informações/dados gerados emdesenvolvimentos anteriores;
  • 6.
    Conhecimento em geral;“ Reuso pode ser entendido como uso de conceitos ou produtos previamente adquiridos ou construídos em uma nova situação ” (Biggerstaff and Perlis, 1989)‏
  • 7.
    O que éreuso de software? Nasceu da observação de que os softwares frequentemente seguem padrões similares; Não é aplicavel somente a fragmentos do código, também é uma forma eficaz de aproveitar os conhecimentos sobre o desenvolvimento de sistemas; Envolve a representação dos produtos em vários níveis de abstração, armazenamento, identificação de similaridades entre situações novas e antigas, recuperação de produtos já desenvolvidos e sua adaptação na nova situação;
  • 8.
    Reusabilidade Medida dafacilidade em se utilizar os conceitos e produtos em novas situações; É o grau de facilidade ou de potencialidade que um componente possui para ser Reusado; Está relacionado à alta coesão e baixo acoplamento com outros módulos.
  • 9.
    Características básicas doreuso O reuso de software tem três características chaves : Prática sistemática de desenvolvimento de software;
  • 10.
    Explora similaridade emrequisitos e/ou arquiteturas entre aplicações;
  • 11.
    Oferece benefícios substanciaisna produtividade, qualidade e performance comercial.
  • 12.
    Benefícios (Objetivos)‏ Aumentoda produtividade: reutilizando-se artefatos o esforço no desenvolvimento diminui gerando um produto final de igual ou superior qualidade do que um gerado sem reutilização;
  • 13.
    Aumento da qualidadee confiabilidade: como os artefatos foram previamente testados, a probabilidade de sua corretude é ainda maior. Se a parte tem qualidade, o todo também terá.
  • 14.
    Redução dos custose tempo de desenvolvimento: o custo de construção de artefatos reutilizáveis é diluído entre os vários projetos onde será reutilizado.
  • 15.
    Benefícios (Objetivos)‏ Reduçãono tempo de entrega: se o esforço no desenvolvimento diminui, consequentemente o tempo de entrega também diminui.
  • 16.
    Interoperabilidade: apadronização garante que os sistemas se comportem de maneira comum, aumentando a interoperabilidade
  • 17.
    Previsibilidade / Confiabilidade/ Redução dos riscos: artefatos bem testados e reutilizados várias vezes têm alto grau de confiabilidade, diminuindo os riscos de erro.
  • 18.
    Padronização: comoos artefatos seguem uma padronização pré-definida, sua reutilização em um sistema causará conseqüente padronização.
  • 19.
    Requisitos Deve serpossível encontrar os componentes; (catalogação)‏ Certeza de comportamento como especificado; (certificação)‏ Possibilidade de entendimento e adaptação. (documentação)‏
  • 20.
    Dificuldades Empenho - a principal razão da baixa taxa de reutilização que se verifica deve-se à inexistência de qualquer esforço para reutilizar;
  • 21.
    Existência - ofato de não existirem partes isoladas, sob a forma de artefatos, quer tenham sido desenhados para reutilização ou não, representa um impedimento;
  • 22.
    Disponibilidade - afalta de repositórios e a limitação do seu uso são as principais razões da falta de disponibilidade do artefato;
  • 23.
    Acessibilidade - amá ou insuficiente representação e classificação do artefato ou a fraca qualidade das ferramentas de busca são as principais razões para não encontrá-lo;
  • 24.
    Legibilidade - a dificuldade em compreender o artefato, seja por documentação insuficiente ou devido a uma excessiva complexidade do mesmo, estão na origem da sua desconsideração para reutilização;
  • 25.
    Dificuldades Validação -a falta de teste do artefato, o baixo desempenho, a não adesão aos padrões de normalização ou a falta de suporte por parte do produtor do artefato são consideradas as principais razões para sua rejeição na validação;
  • 26.
    Integrabilidade - aexistência de incompatibilidade de hardware e ambiente de integração são as razões mais frequentes que impedem a integração do artefato;
  • 27.
  • 28.
    Barreiras legais eeconômicas;