A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Reutilização de Software Cláudia Maria Lima Werner Programa de Engenharia de Sistemas e Computação.

Apresentações semelhantes


Apresentação em tema: "Reutilização de Software Cláudia Maria Lima Werner Programa de Engenharia de Sistemas e Computação."— Transcrição da apresentação:

1 Reutilização de Software Cláudia Maria Lima Werner Programa de Engenharia de Sistemas e Computação

2 Tópicos Engenharia de Software Engenharia de Software Processo de Software Processo de Software Reutilização de Software Reutilização de Software Benefícios e Dificuldades Benefícios e Dificuldades Histórico Histórico Gerência de Reutilização Gerência de Reutilização Modelo de Referência (MR MPS) Modelo de Referência (MR MPS)

3 Engenharia de Software Aplicação de uma abordagem sistemática, disciplinada e quantificativa para o desenvolvimento, operação e manutenção de software, isto é, a aplicação da engenharia ao software. IEEE, 1993

4 Engenharia Resolução de problemas através de soluções economicamente viáveis Resolução de problemas através de soluções economicamente viáveis Motivacão: Limitação de recursos, tempo e pessoal Motivacão: Limitação de recursos, tempo e pessoal Método: Aplicação de conhecimento científico sobre um determinado domínio tecnológico Método: Aplicação de conhecimento científico sobre um determinado domínio tecnológico Desenvolvimento constante de tecnologias e conhecimento Desenvolvimento constante de tecnologias e conhecimento

5 Dificuldades com Software O desenvolvimento de produtos de software é caro O desenvolvimento de produtos de software é caro O tempo estimado para desenvolvimento de um produto de software geralmente é superado O tempo estimado para desenvolvimento de um produto de software geralmente é superado Produtos de software dificilmente atingem o padrão de qualidade esperado Produtos de software dificilmente atingem o padrão de qualidade esperado O grau de progresso no desenvolvimento de um produto de software é difícil de medir O grau de progresso no desenvolvimento de um produto de software é difícil de medir

6 Crise do Software teve início em meados da década de 1960 teve início em meados da década de 1960 custos de hardware começam a reduzir custos de hardware começam a reduzir computadores se tornam cada vez mais velozes e com maior capacidade de armazenamento computadores se tornam cada vez mais velozes e com maior capacidade de armazenamento demanda por software cresce com os avanços do hardware demanda por software cresce com os avanços do hardware equipes de desenvolvimento não acompanham a demanda por produção equipes de desenvolvimento não acompanham a demanda por produção

7 Objetivos da ES identificar os problemas envolvidos com o desenvolvimento de software identificar os problemas envolvidos com o desenvolvimento de software analisar as causas destes problemas analisar as causas destes problemas propor soluções economicamente viáveis para a resolução destes problemas propor soluções economicamente viáveis para a resolução destes problemas organizar o conhecimento sobre técnicas para o desenvolvimento de software organizar o conhecimento sobre técnicas para o desenvolvimento de software

8 Engenharia de Software Atualmente, o termo Engenharia de Software é utilizado para se referir a: modelos de ciclo de vida modelos de ciclo de vida métodos e ferramentas de desenvolvimento métodos e ferramentas de desenvolvimento técnicas para gerência e controle da qualidade técnicas para gerência e controle da qualidade documentação documentação outras técnicas que estabelecem padrões para as atividades de produção e manutenção de software outras técnicas que estabelecem padrões para as atividades de produção e manutenção de software

9 Conjunto de atividades, métodos, práticas e tecnologias utilizadas para o desenvolvimento e manutenção de software e produtos relacionados. Processo de Software

10 Análise Projeto Codificação Teste Engenharia de Sistemas/ Informação Manutenção Modelo de Processo Clássico

11 Atividades de Apoio Acompanhamento e Controle do Projeto Revisões Técnicas Garantia da Qualidade de Software Gerência de Configuração Preparação e Produção de Documentos Gerência de Reutilização Medições Gerência de Risco

12 Atividades de Apoio Acompanhamento e Controle do Projeto Revisões Técnicas Garantia da Qualidade de Software Gerência de Configuração Preparação e Produção de Documentos Gerência de Reutilização Medições Gerência de Risco

13 Reutilização de Software Reutilização de software é o processo de incorporar em um novo produto: Reutilização de software é o processo de incorporar em um novo produto: código, código, especificações de requisitos e projeto, especificações de requisitos e projeto, planos de teste, planos de teste, qualquer produto gerado durante desenvolvimentos anteriores, qualquer produto gerado durante desenvolvimentos anteriores, conhecimento em geral. conhecimento em geral.

14 Benefícios Melhores índices de produtividade Produtos de melhor qualidade, mais confiáveis, consistentes e padronizados Redução dos custos e tempo envolvidos no desenvolvimento de software Maior flexibilidade na estrutura do software produzido, facilitando sua manutenção e evolução

15 Dificuldades Identificação, recuperação e modificação de artefatos reutilizáveis Identificação, recuperação e modificação de artefatos reutilizáveis Compreensão dos artefatos recuperados Compreensão dos artefatos recuperados Qualidade de artefatos reutilizáveis Qualidade de artefatos reutilizáveis Composição de aplicações a partir de componentes Composição de aplicações a partir de componentes Barreiras psicológicas, legais e econômicas Barreiras psicológicas, legais e econômicas Necessidade da criação de incentivos à reutilização Necessidade da criação de incentivos à reutilização

16 Gerência de Reutilização Planejamento de Reutilização Planejamento de Reutilização Criação de Artefatos Criação de Artefatos Gerência de Artefatos Gerência de Artefatos Utilização de Artefatos Utilização de Artefatos

17 Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Artefatos Requisitos

18 Planejamento de Reutilização Objetivo: definir uma Estratégia de Reutilização e um Plano para Implementação dentro da empresa Objetivo: definir uma Estratégia de Reutilização e um Plano para Implementação dentro da empresa Atividades: Atividades: Estabelecer a estratégia para criação, gerência e utilização de artefatos reutilizáveis Estabelecer a estratégia para criação, gerência e utilização de artefatos reutilizáveis Integração da reutilização ao processo de desenvolvimento Integração da reutilização ao processo de desenvolvimento Controle e evolução do processo Controle e evolução do processo

19 Criação de Artefatos Objetivo: produzir software e produtos associados para a reutilização (Desenvolvimento para Reutilização) Objetivo: produzir software e produtos associados para a reutilização (Desenvolvimento para Reutilização) Atividades: Atividades: Análise e modelagem do Domínio Análise e modelagem do Domínio Desenvolvimento de uma Infra-estrutura de Reutilização Desenvolvimento de uma Infra-estrutura de Reutilização Evolução do processo Evolução do processo

20 Utilização de Artefatos Objetivo: compor sistemas a partir de artefatos reutilizáveis (Desenvolvimento com Reutilização) Objetivo: compor sistemas a partir de artefatos reutilizáveis (Desenvolvimento com Reutilização) Atividades: Atividades: Identificação, compreensão, avaliação, seleção, adaptação e integração de artefatos Identificação, compreensão, avaliação, seleção, adaptação e integração de artefatos Feedback ao Planejamento, Criação e Gerência de Artefatos Feedback ao Planejamento, Criação e Gerência de Artefatos

21 Modelo de Referência (MR MPS) 7 níveis de maturidade A - Em Otimização B - Gerenciado quantitativamente C - Definido D - Largamente definido E - Parcialmente definido F - Gerenciado G - Parcialmente Gerenciado 19 processos

22 Medição / Gerência de Configuração Aquisição / Garantia da Qualidade Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação Análise de Decisão e Resolução Gerência de Riscos G F E D C Gerência de Requisitos Gerência de Projetos Gerência de Projetos (evolução) Análise de Causas de Problemas e Resolução A B Níveis de Maturidade MPS

23 Medição / Gerência de Configuração Aquisição / Garantia da Qualidade Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação Análise de Decisão e Resolução Gerência de Riscos G F E D C Gerência de Requisitos Gerência de Projetos Gerência de Projetos (evolução) Análise de Causas de Problemas e Resolução A B Níveis de Maturidade MPS Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos / Gerência de Reutilização

24 Níveis de Maturidade MPS Medição / Gerência de Configuração Aquisição / Garantia da Qualidade Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação Análise de Decisão e Resolução Gerência de Riscos Desenvolvimento para Reutilização G F E D C Gerência de Requisitos Gerência de Projetos Gerência de Projetos (evolução) Análise de Causas de Problemas e Resolução A B Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos / Gerência de Reutilização

25 Considerações Finais A reutilização é um conceito natural no Processo de Desenvolvimento de Software, mas é preciso cuidar de determinados aspectos para que ela seja efetiva A reutilização é um conceito natural no Processo de Desenvolvimento de Software, mas é preciso cuidar de determinados aspectos para que ela seja efetiva Ao adotá-la estaremos nos aproximando cada vez mais de uma real Engenharia de Software Ao adotá-la estaremos nos aproximando cada vez mais de uma real Engenharia de Software Com o surgimento de normas sobre as boas práticas e processos envolvidos, finalmente, temos a chance de torná-la uma realidade nas empresas Com o surgimento de normas sobre as boas práticas e processos envolvidos, finalmente, temos a chance de torná-la uma realidade nas empresas

26 Bibliografia Engenharia de Software; R.Pressman, 6ª Edição, McGraw-Hill, 2006 Engenharia de Software; R.Pressman, 6ª Edição, McGraw-Hill, 2006 Software Reusability; (ed.) W.Schäfer, R.Prieto-Diaz and M.Matsumoto, Ellis Horwood, 1994 Software Reusability; (ed.) W.Schäfer, R.Prieto-Diaz and M.Matsumoto, Ellis Horwood, 1994 STARS Framework for Reuse Processes; 4th Annual Workshop on Software Reuse, Syracuse, NY, 1991 STARS Framework for Reuse Processes; 4th Annual Workshop on Software Reuse, Syracuse, NY, 1991 Domain Analysis and Software System Modeling; (ed.) R.Prieto- Diaz and G.Arango, IEEE Computer Society Press Tutorial, 1991 Domain Analysis and Software System Modeling; (ed.) R.Prieto- Diaz and G.Arango, IEEE Computer Society Press Tutorial,


Carregar ppt "Reutilização de Software Cláudia Maria Lima Werner Programa de Engenharia de Sistemas e Computação."

Apresentações semelhantes


Anúncios Google