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

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

Manutenção em software Conceitos básicos. Mudanças em software: Mudanças em software são inevitáveis: –Novos requisitos surgem enquanto o software é usado.

Apresentações semelhantes


Apresentação em tema: "Manutenção em software Conceitos básicos. Mudanças em software: Mudanças em software são inevitáveis: –Novos requisitos surgem enquanto o software é usado."— Transcrição da apresentação:

1 Manutenção em software Conceitos básicos

2 Mudanças em software: Mudanças em software são inevitáveis: –Novos requisitos surgem enquanto o software é usado –O ambiente de negócios se altera –Erros precisam ser consertados –Novos equipamentos precisam ser acomodados –O desempenho ou confiabilidade precisam ser melhorados

3 Estratégias de mudanças: Manutenção do software –Mudanças são feitas em resposta a mudanças nos requisitos mas a estrutura fundamental do software está estável Transformação de arquitetura –A arquitetura do sistema é modificada, p.e., de uma arquitetura centralizada para uma arquitetura cliente- servidor. Reengenharia de software –Nenhuma funcionalidade é adicionada mas o sistema é reestruturado e reorganizado para facilitar futuras mudanças. Estas estratégias podem ser aplicadas juntas ou separadamente.

4 Manutenção de software: Manutenção é o processo de modificação de um software depois que ele foi colocado em operação Mudanças são implementadas pela alteração dos componentes existentes ou pela adição de novos componentes

5 Tipos de manutenção: Para reparar defeitos: o software não satisfaz os requisitos Para adaptar o software a um ambiente operacional diferente: hardware, SO diferentes em relação à implementação inicial. Para fazer acréscimos de funcionalidades ou alterá-las: novos requisitos ou alteração nos existentes.

6 Tipos de manutenção: Segundo Pressman, a manutenção pode ser: –Corretiva: corrigir defeitos –Adaptativa: acomodar mudanças no ambiente externo –Perfectiva: aprimorar o software além dos requisitos funcionais originais –Preventiva: alterações visando tornar o software mais manutenível Segundo Sommerville: –Os rótulos não interessam

7 Custos de manutenção Quanto maior o esforço empregado para tornar o software manutenível, menor o custo de manutenção.

8 Fatores do custo da manutenção Instabilidade da equipe: quem faz manutenção geralmente não é a mesma equipe que desenvolveu Responsabilidade contratual: por que se preocupar com a manutenção se o software já foi vendido? (não há incentivo para tornar manutenível) Idade do programa: quanto mais velho mais degradada sua estrutura e difícil de ser entendida

9 Problemas relacionados à manutenção: Dificuldade de entendimento: é difícil entender o que outro programou (47% do tempo gasto para entender) Ânimo da equipe: é mais animador desenvolver do que consertar Riscos associados à alterações: uma mudança pode causar reflexos inesperados em outra parte do programa Dificuldade em testar: nem sempre há tempo para testar, pois o software já está em operação

10 Processo de manutenção Processo ideal: Pedido de alteração Análise do impacto Planejamento da alteração Implementação da alteração Entrega do sistema Teste do sistema Alteração na documentação

11 Processo de manutenção Processo real: Pedido de alteração Implementação da alteração Entrega

12 Gerenciamento de configuração: Durante o processo de manutenção são criadas muitas versões do software Configuração: relação entre versões de um objeto composto, ou seja, configuração é uma instância do sistema composta da união de uma versão específica de cada objeto componente. O gerenciamento das diversas versões de cada componente do software é chamada de Gerenciamento de Configuração

13 Exemplo:

14 Perguntas: Por que é necessário (ou não) se preocupar com a manutenção? Sw orientados a objetos são considerados mais fáceis de modificar. Você concorda? De que maneira o Gerenciamento de Configuração contribui para qualidade do software?

15


Carregar ppt "Manutenção em software Conceitos básicos. Mudanças em software: Mudanças em software são inevitáveis: –Novos requisitos surgem enquanto o software é usado."

Apresentações semelhantes


Anúncios Google