Manutenção em software Conceitos básicos

Slides:



Advertisements
Apresentações semelhantes
GERENCIAMENTO DE MANUTENÇÃO
Advertisements

Evolução de Software.
Controles Gerais Prof.: Cheila Bombana. Controles Gerais Prof.: Cheila Bombana.
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Entendendo a Manutenção
Instituto Superior de Engenharia do Porto Engenharia de Software Qualidade de Software Sistemas de Informação.
GERENCIAMENTO DE INTEGRAÇÃO DO PROJETO
Tipos de sistemas de Lehman
Testando o sistema Teste funcional: o sistema integrado realiza as funções especificadas nos requisitos? Teste de desempenho: os requisitos não-funcionais.
Engenharia de Software
Rational Unified Process(RUP)
Modelos de Processos de desenvolvimento de Software
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Mitos e Problemas Relacionados ao Software
Gerenciamento da Integração
Manutenção de Software
Processo Desenvolvimento de Software Tradicional
O processo de coletar os requisitos (escopo do cliente)
Engenharia Reversa É o processo de derivar as especificações lógicas dos componentes do sistema a partir de sua descrição física com auxílio de ferramentas.
Análise e Projeto de Sistemas
Preço IBM Service Manager for Smart Business em torno de R$6.000,00 por usuário o preco so é mantido para empresas MidMarket / por usuário Preço referência.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento de Requisitos com Casos de Uso
Gerência de Configuração de Software
MANUTENÇÃO DE SOFTWARE
Evolução de software Faculdade de Tecnologia São Bernardo do Campo.
Introdução aos conceitos de Teste de Software
Deivison Cheloni e Bernardo Martins
Engenharia de Software
Planejamento e Gerenciamento de Projetos
Fundamentos de Engenharia de SW
Gerenciamento de Configuração
Prof. Esp. Fernando Barreto
O Fluxo de Implementação
Projeto: Capacitação em GP
Processos de Software Profa. Cintia Carvalho Oliveira
Gerenciamento da Integração
Engenharia de Software
Arquitetura do Software
Qualidade Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção.
Modelos de Processo de Software
Gerência de Configuração - GC
Engenharia de Software
Plano de Manutenção <RedMan>
SISTEMAS OPERACIONAIS I
Aula 5 Transição do Serviço 1º Período – Tecnologia de Redes João Paulo Siqueira Rocha
ERP.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Processos de Software.
1 Cap 1 – Produto de Software Ricardo L Schneider FES – 2002/1.
Engenharia de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Engenharia de Software
Evolução de Software e Refatoração
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Engenharia de Software
RESPOSTAS A INCIDENTES E PLANO DE CONTINUIDADE DE NEGÓCIOS
1 YPM – Easy Project Management. 2 Complemento Francisco Eriko Barreto Brito Project Management Professional (PMP®) MBA em TI PMP Number: PMI.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
Mudança de software Prof. Hélio Monteiro.
Apresentação Leonardo Brussolo de Paula
TÉCNICAS DE ESTIMATIVAS
Eduardo C. Nicácio ITIL v3 Foundation Certified.  As melhores práticas do ITIL abrangem cinco processos de suporte a serviços, além do papel do Service.
1 Estimativa, Teste e Inspeção de Software Gerência de Projetos: Estimativa de Software Marcos Camada
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
CMMI Capability Maturity Model Integration
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

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 O ambiente de negócios se altera Erros precisam ser consertados Novos equipamentos precisam ser acomodados O desempenho ou confiabilidade precisam ser melhorados

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.

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

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.

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

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

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

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

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

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

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”

Exemplo:

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?