GERENCIAMENTO DE MANUTENÇÃO

Slides:



Advertisements
Apresentações semelhantes
Evolução de Software.
Advertisements

Controles Gerais Prof.: Cheila Bombana. Controles Gerais Prof.: Cheila Bombana.
Manutenção em software Conceitos básicos
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Introdução a Algoritmos
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Entendendo a Manutenção
ISO Processos do Ciclo de Vida do Software
Engenharia de Requisitos
Participantes do Processo de Desenvolvimento de Software
Tipos de sistemas de Lehman
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
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
Engenharia de Software
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Mitos e Problemas Relacionados ao Software
Gerenciamento da Integração
Adélia Barros Requisitos Adélia Barros
Manutenção de Software
Processo Desenvolvimento de Software Tradicional
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Como Desenvolver Sistemas de Informação
TSDD Teste de segurança durante o desenvolvimento.
Gestão de Defeitos Vanilson Burégio.
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
Visão Geral PRO.NET.
Gerenciamento de Configuração
Prof. Esp. Fernando Barreto
Melhoria de Processos de Software
Processos de Desenvolvimento de Software – Parte 2
Fase de Elaboração: Fluxo de Requisitos
Projeto: Capacitação em GP
Análise e Projeto de Sistemas
Engenharia de Requisitos
Análise e Projeto de Sistemas
Prof. Alexandre Vasconcelos
Modelos de Processo de Software
Gerência de Configuração - GC
ANÁLISE E DESENVOLVIMENTO
Engenharia de Software
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Plano de Manutenção <RedMan>
Documentação de Software
Teste de Software Conceitos iniciais.
O Processo Unificado (UP)
ANÁLISE ESTRUTURADA DE SISTEMAS
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
SISTEMAS OPERACIONAIS I
Conceitos Básicos Introdução.
Base de Conhecimento em Teste de Software Gestão de Defeitos
Engenharia de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Engenharia de Software
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Engenharia de Software
Gerenciamento de Configuração de Software
Aula 02 de Eng. de Requisitos
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
TÉCNICAS DE ESTIMATIVAS
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
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.
Transcrição da apresentação:

GERENCIAMENTO DE MANUTENÇÃO

GERENCIAMENTO DE MANUTENÇÃO Manutenção de Software Processo geral de modificação de um sistema depois que ele foi colocado em uso. Tipos de Modificações Manutenção para reparar os defeitos no software. Simples Corrigir erros de codificação Extensas: Corrigir erros de projeto Significativas: Corrigir erros de especificação(Reprojeto) Manutenção para adaptar o software a um ambiente operacional diferente. Mudanças devido a algum aspecto do ambiente de sistema. (Hardware, Sistema Operacional, Navegador, etc…) Manutenção para fazer acréscimos à funcionalidade do sistema ou modificá-la. Requisitos do sistema são modificados. (Novas regras de negócio)

GERENCIAMENTO DE MANUTENÇÃO

GERENCIAMENTO DE MANUTENÇÃO Reparar defeitos não é a ativiade de manutenção mais dispendiosa. Manutenção é portanto uma continuação do processo de desenvolvimento de sistema, com atividades associadas de especificação, projeto, implementação e testes.

GERENCIAMENTO DE MANUTENÇÃO

GERENCIAMENTO DE MANUTENÇÃO Custos na manutenção de Software representa uma grande proporção do orçamento da maioria das organizações Investir esforço ao projetar e implementar um sistema para reduzir os custos de manutenção é uma opção eficaz, em termos de custos. É mais caro acrescentar funcionalidades depois da entrega. (Compreender o sitema, analisar impactos das mudanças). Boas práticas/técnicas de engenharia e desenvolvimento como documentação, orientação a objetos, padrões de projetos, contribuem para a redução de custos de manutenção. (Pode ser mais caro no desenvolvimento, mas compensa na manutenção).

GERENCIAMENTO DE MANUTENÇÃO Principais Fatores que distinguem o desenvolvimento e a manutenção de software e que levam a custos de manutenção mais altos. Estabilidade da equipe – Depois que o projeto acaba a equipe se dispersa para trabalhar em novos projetos. Responsabilidade Contratual – Contratos separados para desenvolvimento e manutenção, outra empresa pode realizar a manutenção. Habilidade da equipe – Normalmente o pessoal que realiza manutenção tem menos experiência, manutenção é vista como processo que requer menos conhecimento. Idade e estrutura do programa – Programa mais antigo tende a ser mais difícil de entender e de ser modificado.

GERENCIAMENTO DE MANUTENÇÃO PROCESSOS DE MANUTENÇÃO Inicia por um conjunto de pedidos de mudança por parte dos usuários do sistema. São calculados os custos e o impacto da mudança, se aceitos uma nova versão do sistema é planejada. Durante o planejamento, todas as mudanças propostas são consideras e, então, é tomada uma decisão sobre quais mudanças devem ser implementadas para a próxima versão. As mudanças são implementadas e validadas e uma nova versão do sistema é liberada. Depois disso o processo se repete com um novo conjunto de mudanças propostas para a nova versão.

GERENCIAMENTO DE MANUTENÇÃO VISÃO GERAL DO PROCESSO DE MANUTENÇÃO Pedidos de alterações Análise de impacto Planejamento de release Implementação da mudança Release do Sistema Reparo de defeitos Adaptação da plataforma Incremento de sistema Figura adaptada de Arthur (1988)

GERENCIAMENTO DE MANUTENÇÃO PROCESSOS DE MANUTENÇÃO Em um contexto ideal, a implementação de manutenções deve alterar a especificação do projeto a fim de refletir a modificação no sistema, seguindo então o seguinte fluxo: Análise de requisitos Validação de requisitos Desenvolvimento do Software Mudanças propostas

GERENCIAMENTO DE MANUTENÇÃO PROCESSOS DE MANUTENÇÃO Porém os pedidos de modificação muitas vezes tratam-se de problemas que precisam ser resolvidos com urgência, essas mudanças urgentes podem surgir por três razões: Defeitos no sistema em ambiente de produção, que devem ser reparados para permitir a continuação das operações. Mudanças ambientais que tem efeitos inesperados sobre o sistema. Mudanças nos negócios, que podem ser devidas a ao surgimento de novos concorrentes ou uma nova legislação.

GERENCIAMENTO DE MANUTENÇÃO PROCESSOS DE MANUTENÇÃO Fazendo então, que seja adotado o seguinte fluxo: Pedido de Alteração Análise do código-fonte Alteração do código-fonte Liberação da modificação Fluxo que pode tornar os requisitos o projeto e o código-fonte inconsistentes, fazer com que seja escolhida a solução possível no momento e não a melhor solução. Isso acelera o processo de envelhecimento do software, dificulta futuras mudanças e o custo das manutenções aumentam.

GERENCIAMENTO DE MANUTENÇÃO PROCESSOS DE MANUTENÇÃO Em um contexto ideal, quando existe modificação emergencial de código-fonte, o pedido de manutenção deve permanecer em evidencia e depois que os defeitos tiverem sido corrigidos, eles podem ser implementados novamente, com mais cuidado e serem devidamente documentados no projeto. Naturalmente o código do reparo pode ser reutilizado, e com uma análise feita com mais tempo, a melhor solução pode ser encontrada. Contudo, na prática não é considerado realista refazer os reparos, o que pode causar os problemas vistos anteriormente.

GERENCIAMENTO DE MANUTENÇÃO FLUXO DE EVENTOS

Dada a situação atual, quais aspector de projeto, código ou teste poderiam ter sido diferentemente. Quais recursos de manutenção deveriam ter estado à disposição, mas não estiveram? Quais foram os maiores / menores obstáculos para esse esforço? A manutenção preventiva é indicada pelos tipos de pedidos que são registrados?

GERENCIAMENTO DE MANUTENÇÃO CONSERVAÇÃO DE REGISTROS

Identificação do programa Número de instruções-fonte Número de instruções de código Linguagem a ser utilizada Data de instalação do programa Número de execuções do programa desde a instalação Identificação e nível de mudança do programa Número de pessoas-hora empregadas por mudança Identificação do engenheiro de software Identificação do MRF (Formulário de solicitação de manutenção) Tipo de manutenção

GERENCIAMENTO DE MANUTENÇÃO Problemas associados a manutenção de software: Mudanças não documentadas; Rastreamento do processo através do qual o software foi desenvolvido; Dificuldade em entender códigos de outras pessoas; O desenvolvedor da codificação inicial muitas vezes não esta mais presente na equipe; Documentação não existente ou mal escrita; Softwares não projetados para receberem mudanças.

GERENCIAMENTO DE MANUTENÇÃO Manutenibilidade: Facilidade com que um software pode ser entendido, corrigido, adaptado e/ou aumentado. Métricas orientadas ao tempo: Tempo de reconhecimento do problema; Tempo de demora administrativa; Tempo de coleta de ferramentas de manutenção; Tempo de análise do problema; - Tempo de especificação da alteração; - Tempo de correção ou modificação; - Tempo de teste local e global; - Tempo de revisão da manutenção; - Tempo de recuperação total.

AVALIAÇÃO Número médio de falhas de processamento por execução do programa. Total de pessoas/hora empregadas em cada categoria de manutenção. Número médio de mudanças de programa feitas por programa, por linguagem e por tipo de manutenção. Número médio de pessoas /hora empregadas por instruções-fonte adicionadas ou suprimidas devido à manutenção. Número médio de pessoas/hora empregadas por linguagem. Tempo médio de renovação do MRF. Porcentagem de pedidos de manutenção por tipo. Número médio de falhas de processamento por execução do programa. Total de pessoas/hora empregadas em cada categoria de manutenção. Número médio de mudanças de programa feitas por programa, por linguagem e por tipo de manutenção. Número médio de pessoas /hora empregadas por instruções-fonte adicionadas ou suprimidas devido à manutenção. Número médio de pessoas/hora empregadas por linguagem. Tempo médio de renovação do MRF. Porcentagem de pedidos de manutenção por tipo.

EFEITOS COLATERAIS DA MANUTENÇÃO Na codificação. Nos dados. Na documentação.

DEFEITOS COLATERAIS NA CODIFICAÇÃO Um subprograma é apagado ou mudado Um label de instrução é apagado ou modificado. Um identificador é apagado ou modificado. Mudanças são feitas para melhorar o desempenho da execução. A abertura ou fechamento de arquivos é modificada. Operadores lógicos são modificados. Mudanças de projeto são convertidas em grandes mudanças de código. Mudanças são feitas nos testes lógicos de condições de fronteira.

EFEITOS COLATERAIS NOS DADOS Redefinição de constantes locais e globais. Redefinição de formatos de registros ou arquivos. Aumento ou diminuição no tamanho de um array ou de uma estrutura de dados de nível mais alto. Modificação em dados globais. Reinicialização de sinais de controle ou indicadores (pointers). Rearranjo de argumentos para E/S ou subprogramas.

EFEITOS COLATERAIS NA DOCUMENTAÇÃO A manutenção deve concentrar-se em toda a configuração do software não somente nas modificações do código fonte. Os efeitos colaterais na documentação acontecem quando as mudanças no código fonte não são refletidas na documentação do projeto ou nos manuais destinados ao usuário.

EQUIPE DIEGUES GIOVANI IGOR LEANDRO MICHEL