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

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

Entendendo a Manutenção n Qual a origem maior do trabalho de manutenção? n Quais são as maiores dificuldades na realização da manutenção? n O que torna.

Apresentações semelhantes


Apresentação em tema: "Entendendo a Manutenção n Qual a origem maior do trabalho de manutenção? n Quais são as maiores dificuldades na realização da manutenção? n O que torna."— Transcrição da apresentação:

1 Entendendo a Manutenção n Qual a origem maior do trabalho de manutenção? n Quais são as maiores dificuldades na realização da manutenção? n O que torna um software acessível ou difícil de manter? Manutenção de Software

2 Definições de Manutenção n Qualquer trabalho no software feito depois que ele se torna operacional ou passa para a produção - Parikh n Correção de Erros; n Revisão dos Requisitos Originais; n Aumento de função e performance. Manutenção de Software

3 Definições de Manutenção n Modificação de um software com objetivo de corrigir falhas, aperfeiçoar ou adaptar o software; n Mecanismo de combate à deterioração do software que pode tornar o software desestruturado, precário e resistente à alterações; n Modificação de um programa existente para refletir novas obrigações ou características adicionais; n Adaptação do software para constante modificação às necessidades de trabalho; n Ação de fazer com que o software que foi liberado seja mantido em funcionamento de uma maneira satisfatória. Manutenção de Software

4 Sinônimos de Manutenção n Modificação; n Acréscimos; n Refinamentos; n Remoção de defeitos; n Adições no sistema; n Remendos e correções; n Suporte; n Evoluções; n Ajustes; n Extensão; n Expansão; n Revisão; n Atualização; n Re-programação; n Re-desenvolvimento; n Melhorias; n Alterações. Manutenção de Software

5 Tipos de Manutenção (Causa) n Corretiva: n Deficiência; n Adaptativa: n Mudança de Ambiente; n Aperfeiçoadora: n Requisição de manutenção do usuário. Manutenção de Software

6 Manutenção Preventiva n Prevenir futuras manutenções (3 tipos) n Melhorar a capacidade de manutenção - manutenibilidade Manutenção de Software

7 Estudos sobre Manutenção n Lieth e Swanson: n 1980 n 487 Empresas n Dinardo: n 1988 n 25 empresas c/ Mainframe IBM Corretiva: 17% Adaptativa: 70% Aperfeiçoadora : 13% Corretiva: 20% Adaptativa: 25% Aperfeiçoadora : 55% Manutenção de Software

8 Fatores que afetam o trabalho de manutenção n Tamanho do Sistema; n Idade do Sistema; n Experiência e Conhecimento dos Mantenedores. Manutenção de Software

9 Atividades Típicas do Mantenedor n Estudar especificações e projetos do sistema; n Interagir com os usuários; n Examinar programas e sua documentação; n Descobrir erros e deficiências nos programas fontes; n Projetar uma alteração em programa; n Modificar um programa; n Revalidar um programa; n Atualizar a documentação do programa. Manutenção de Software

10 Funções Básicas na Alteração de Software a) Entender o software e a mudança a ser feita (50%); b) Modificar o software para incorporar a mudança (25%); c) Revalidar o software (25%). Manutenção de Software

11 Custos do Software n Desenvolvimento % n Manutenção % Manutenção de Software

12 Alternativas para Reduzir a Manutenção de Software n Não fazer nada. Apenas continuar como está; n Adicionar mais pessoal para o desenvolvimento e manutenção para reduzir BackLog; n Planejar a manutenção de software focalizando novas tecnologias para construir sistemas mais fáceis de se manter e gradativamente substituir os atuais; n Adotar um plano agressivo para reescrever sistemas atuais o quanto possível; n Adotar ferramentas automatizadas para melhorar a manutenção e tecnologia dos sistemas atuais. Manutenção de Software

13 Modelo de Manutenção n CONTROLE DAS REQUISIÇÕES n CONTROLE DAS MUDANÇAS n CONTROLE DE VERSÕES Manutenção de Software

14 Controle das Requisições n Coletar informações sobre cada requisição; n Definir mecanismos para categorização das requisições; n Utilizar análise de impacto para avaliar requisições em termos de custos X benefícios; n Determinar grau de prioridade para cada requisição. Manutenção de Software

15 Controle das Mudanças n Selecionar uma atividade de mudança necessária da lista de prioridades; n Reproduzir o problema; n Analisar a especificação e o código-fonte; n Projetar as mudanças e testes; n Realizar atividades de garantia de qualidade (revisões e inspeções). Manutenção de Software

16 Controle de Versões n Determinação da Versão; n Construção de uma nova versão (gerência de configuração) n Testes completos; n Distribuição do programa; n Teste de Aceitação. Manutenção de Software

17 Indicadores de Manutenção n Tempo utilizado para resolver uma mudança; n Programas mais afetados; n Requisições atendidas e em aberto; n Usuários mais atendidos; n Estimativa de tempo e complexidade da manutenção (FPA). Manutenção de Software

18 Exercício 1 n Quais as principais dificuldades na realização das atividades de manutenção de software? n Apresente um conjunto de ações para amenizar estas dificuldades. n Que outros indicadores poderiam ser utilizados para monitorar a manutenção? Manutenção de Software

19 Premissas da Reengenharia n Sistemas existentes são uma vantagem valiosa da qual a corporação depende e portanto deveriam ser apropriadamente gerenciados; n A manutenção de software poderá ser mais efetiva e eficientemente realizada com ajuda de ferramentas poderosas; n É uma manutenção automatizada; Fundamentos da Reengenharia

20 Premissas da Reengenharia n Envolve a melhoria dos processos de manutenção de software e melhoria dos sistemas atuais pela aplicação de novas tecnologias e ferramentas para a manutenção de software; n Sugere um estratégia de manutenção a longo prazo ao invés de simplesmente procurar por uma imediata mudança na manutenção de Software; n Oferece uma maneira de organizar o software e mantê-lo organizado. Fundamentos da Reengenharia

21 Conceito Reengenharia é o processo de examinar software existente e/ou modificá-lo com ajuda de ferramentas automatizadas para: n Melhorar sua futura manutenção; n Atualizar sua tecnologia; n Estender sua expectativa de vida; n Aumentar a produtividade da manutenção. Fundamentos da Reengenharia

22 Outros Conceitos n É o estudo e alteração de um determinado sistema para reconstruí-lo numa nova forma e subseqüente implementação dessa nova forma; n Modificação em código e estrutura de dados existentes usando os princípios de engenharia de software atuais para aumentar a capacidade de manutenção e capacidade de adaptação do sistema. n Combinação de técnicas e ferramentas que facilitam a análise, melhoria, redesenho e reutilização de sistemas existentes para suportar as necessidades de informação; Fundamentos da Reengenharia

23 Outros Conceitos n Meio para melhorar sistemas existentes sem causar impactos na sua funcionalidade atual, plataforma ou arquitetura técnica; n Conjunto de técnicas e ferramentas orientadas à avaliação, reposicionamento e transformação de sistemas existentes, com o objetivo de estender-lhes a vida útil e ao mesmo tempo, proporcionar-lhes uma melhor qualidade técnica e funcionalidade (Furlan); Fundamentos da Reengenharia

24 Objetivos da Reengenharia n Criar um inventário dos sistemas existentes; n Fornecer assistência automatizada para a manutenção; n Reduzir custos e erros de manutenção; n Tornar o sistema mais fácil de compreender, modificar e testar. Fundamentos da Reengenharia

25 Objetivos da Reengenharia n Facilitar a conversão e migração do sistema; n Reforçar a aderência a padrões; n Melhorar a resposta às solicitações de manutenção; n Melhorar o ânimo do pessoal de manutenção; n Proteger e estender a vida do sistema; n Utilizar CASE para suportar sistemas atuais; n Reutilizar componentes de sistemas existentes. Fundamentos da Reengenharia

26 Razões para Reengenharia Freqüentes falhas de produção; n Freqüentes falhas de produção; n Problemas de desempenho; n Tecnologia obsoleta; n Problemas de integração de sistemas; n Qualidade técnica ruim; n Dificuldades para testar e caro para manter; n Problemas crescentes no sistema. Fundamentos da Reengenharia

27 Razões para se refazer o sistema (Engenharia) n Não confiável; n Algoritmos ruins ou incorretos; n Não atende as necessidades dos usuários. Fundamentos da Reengenharia

28 Sistemas Candidatos à Reengenharia n São de importância crítica da empresa; n São alvo de manutenção freqüente e requerem um grande percentual de recursos de manutenção; n São compreensíveis e podem seguramente ser modificados por poucos membros da equipe de software; n Contém erros que ninguém pode encontrar; n Requerem uma melhoria considerável. Fundamentos da Reengenharia

29 Exercício 2 n Que sistemas poderiam ser alvo de reengenharia? Justifique. n Quais as principais razões para Reengenharia ou Engenharia? Manutenção de Software

30 Áreas de Atuação da Reengenharia n Análise; n Reestruturação; n Engenharia Reversa; n Migração; n Reutilização. Fundamentos da Reengenharia

31 Análise É o processo de examinar os sistemas atuais a fim de compreender os componentes do sistema e como seus programas funcionam. O propósito principal é identificar programas prioritários para Reengenharia e medir sua qualidade. Fundamentos da Reengenharia

32 Reestruturação É o processo de alterar a forma do software (Ex: definição e nomes de dados e código do programa) sem alterar sua funcionalidade. O propósito principal é tornar o programa mais fácil de ser compreendido. O propósito principal é tornar o programa mais fácil de ser compreendido. Fundamentos da Reengenharia

33 Engenharia Reversa É o processo de analisar o software para reconstruir uma descrição de seus componentes e seus relacionamentos. Uma descrição de alto nível do programa é obtida a partir do programa físico. O propósito é redocumentar o sistema e descobrir informações do projeto com o auxílio na melhoria da compreensão do programa. Fundamentos da Reengenharia

34 Migração É o processo de converter um software de uma linguagem para outra, mover de um ambiente operacional para outro ou atualizar sua tecnologia. O propósito principal é amenizar o impacto de adoção de novos ambientes e tecnologias. Fundamentos da Reengenharia

35 Reutilização É o processo de sistematicamente reaproveitar os diversos elementos criados durante o desenvolvimento de software (código, projeto, especificações, documentação). O propósito principal é acelerar o desenvolvimento de novos sistemas e melhorar sua qualidade. Fundamentos da Reengenharia

36 Exercício 3 n Que experiências de reengenharia você conhece? Classifique-as. n Quais as principais dificuldades enfrentadas nestas experiências ?


Carregar ppt "Entendendo a Manutenção n Qual a origem maior do trabalho de manutenção? n Quais são as maiores dificuldades na realização da manutenção? n O que torna."

Apresentações semelhantes


Anúncios Google