ISO/IEC 12207: Manutenção - PDF
Download "ISO/IEC 12207: Manutenção"
Danilo Pinho Vilalobos
1 ISO/IEC 12207: Manutenção
2 O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema continue sendo útil e atendendo às necessidades do usuário Inicia então a fase de manutenção
3 Os problemas que ocorrem nessa fase originam custos substanciais quando comparados com os custos das outras fases do ciclo de vida do sistema Além do custo monetário, existem outros custos menos tangíveis, também associados à atividade de manutenção: Perda ou adiamento de oportunidades de desenvolvimento recursos canalizados para tarefas de manutenção Insatisfação do cliente quando pedidos de manutenção não são atendidos em tempo hábil Redução da qualidade global do sistema conseqüência da introdução de erros causados pelas alterações Diminuição na produtividade dos programadores
4 Causas e Categorias de Manutenção O processo de construção do software se dá por meio da realização de várias atividades, e é efetuado por refinamentos sucessivos Parte-se de uma visão macroscópica, e segue-se evoluindo até o detalhamento do código Cada atividade tem como base para sua realização os produtos gerados na etapa anterior Depois de construído, o software entra em operação e pode ser necessário efetuar alterações no mesmo
5 Causas e Categorias de Manutenção Algumas das causas para manutenção são: Falhas de processamento: devido a erros no software / produto Falhas de desempenho: nesse caso não existem erros no software, mas a falha se manifesta porque o comportamento do mesmo não se mantém adequado à sua especificação funcional Falhas de implementação: nesse caso não existem erros e o desempenho está adequado, porém existem violações nos padrões de programação ou inconsistência / não- conclusão no projeto detalhado. Estas falhas resultam na diminuição da qualidade do software e só são descobertas quando ocorrem auditorias para assegurar a aderência a práticas de programação. A manutenção efetuada em respostas às falhas deste tipo é a manutenção corretiva.
6 Causas e Categorias de Manutenção Alteração no ambiente de dados: devido às alterações no formato dos dados ou às alterações na maneira de lidar com os dados como um todo Alteração no ambiente de processamento: devido à rápida mudança que se processa em todo o campo da computação com o surgimento de novas gerações de hardware, novos sistemas operacionais, novos periféricos e outros elementos que freqüentemente estão sendo atualizados ou modificados. A manutenção efetuada em resposta a essas alterações é a manutenção adaptativa. a
7 Causas e Categorias de Manutenção Inclusão de novas capacidades, modificações em funções existentes ou ampliações gerais: mesmo que um pacote de software seja bem-sucedido, ele pode se tornar ineficiente i à medida que for usado e, para corrigir isso, o cliente solicita que sejam realizadas modificações. A manutenção efetuada em resposta a essas modificações / ampliações é denominada manutenção perfectiva. Este tipo de manutenção é responsável pela maior parte de todo o esforço despendido em manutenção de software
8 Causas e Categorias de Manutenção Melhoramento na confiabilidade ou na facilidade de futuras manutenções: mesmo que um software seja construído e documentado de acordo com os padrões estabelecidos (e, portanto, não existam falhas de implementação), ainda é possível melhorá-lo lo no sentido de torná-lo mais confiável ou mais fácil de ser alterado ou ampliado. Essa manutenção é denominada manutenção preventiva.
9 Causas e Categorias de Manutenção Em contraste com a manutenção corretiva e adaptativa, que servem simplesmente para manter um sistema funcionando, as manutenções perfectiva e preventiva estão direcionadas para manter um sistema funcionando com menos gastos ou funcionando para melhor servir as necessidades de seus usuários
10 Implementação do Processo Deve-se desenvolver, documentar e executar planos e procedimentos para conduzir as atividades e tarefas relativas ao processo de manutenção Delegar responsabilidades é absolutamente essencial para que o fluxo de atividades de manutenção possa ser melhorado e a confusão reduzida Deve-se estabelecer procedimentos para receber, armazenar e acompanhar os pedidos de modificação e os relatórios de problemas dos usuários, e fornecer um retorno para os mesmos
11 Implementação do Processo Uma interface organizacional com o processo de gerência de configuração também deve ser feita para que as modificações realizadas no sistema possam ser gerenciadas
12 Análise do Problema e da Modificação A seqüência de eventos que ocorre como resultado de um pedido de manutenção deve ser iniciada com uma análise do pedido de modificação ou do relatório do problema, para verificar o impacto do mesmo sobre a organização, sobre o sistema existente e sobre os sistemas que fazem interface com o que se deseja modificar
13 Análise do Problema e da Modificação Esta análise deve considerar: O tipo de manutenção (corretiva, adaptativa, perfectiva ou preventiva) O alcance da alteração (tamanho da modificação, custo envolvido e tempo para modificar) As conseqüências da modificação (impacto no desempenho, na proteção ou na segurança do sistema)
14 Análise do Problema e da Modificação Após a análise, deve-se desenvolver opções para implementar a modificação. Em certos casos, por exemplo, um erro pode ser tão grave que os controles normais de manutenção devem ser abandonados temporariamente ou um pedido de ampliação pode ser rejeitado devido à estratégia comercial ou à inadequação dos recursos disponíveis
15 Análise do Problema e da Modificação O pedido de modificação ou relatório de problemas, juntamente com os resultados das análises e opções de implementação, deve ser documentado A opção de modificação selecionada só será efetivamente realizada após a aprovação e considerando-se se o especificado no contrato
16 Implementação da Modificação Independentemente do tipo de manutenção, as mesmas tarefas técnicas são realizadas O mantenedor deve, primeiramente, determinar e documentar quais unidades de software, versões e documentação relacionada precisam ser modificadas, e então implementar a modificação reaplicando as atividades de engenharia de software realizadas para o desenvolvimento
17 Implementação da Modificação Quando os módulos e estruturas já estiverem modificados, a não ocorrência de erros no software deve ser revalidada O mantenedor deve demonstrar que não somente a nova lógica está correta, mas também que as partes do software que não foram modificadas d permanecem intactas e que o software como um todo ainda funciona corretamente Isto envolve testar as novas partes e efetuar testes de regressão nas partes já existentes
18 Implementação da Modificação A revalidação deve assemelhar-se se ao processo original de validação do software, usando os mesmos (ou similares) casos e dados de testes usados quando o programa foi originalmente desenvolvido Como os efeitos colaterais podem acontecer não só no código que está sendo alterado, mas também nos dados e na documentação do software, faz-se necessário também identificar possíveis problemas com a integridade da configuração de software
19 Revisão / Aceitação da Manutenção O mantenedor deve conduzir revisões com a organização para assegurar a integridade do sistema modificado, Deve então obter a concordância da mesma de que a tarefa foi realizada satisfatoriamente, de acordo com o especificado em contrato
20 Migração Se um sistema ou produto de software (incluindo dados) for migrado de um antigo para um novo ambiente operacional, deve-se assegurar que qualquer produto de software ou dado produzido ou modificado durante a migração esteja de acordo com o padrão Para isso é necessário o desenvolvimento, a documentação e a execução de um plano de migração
21 Migração Os itens contidos nesse plano envolvem Análise e definição dos requisitos de migração Desenvolvimento de ferramentas de migração Conversão dos dados e produtos de software Execução da migração Verificação da migração Apoio para o ambiente antigo no futuro
22 Migração Como o plano de migração também envolve o usuário, o mesmo deve ser notificado do plano e das atividades de migração A notificação inclui: As características do sistema antigo que não são mais suportadas A descrição do novo ambiente Outras características ti de apoio disponíveis, i se houver, quando a característica do sistema antigo for removida
23 Migração Para que a transição seja mais suave, podem ser conduzidas operações paralelas do antigo e do novo ambiente Durante este período, deve ser fornecido, de acordo com o contrato, o treinamento necessário para utilização do novo ambiente Na época agendada para migração, todos os envolvidos devem ser notificados e toda a documentação, logs e códigos relacionados ao ambiente antigo devem ser armazenados em arquivos para posteriores consultas
24 Migração Ao término da operação de migração, devem ser realizadas revisões para avaliar o impacto da mudança para o novo ambiente Os resultados dessas revisões devem ser enviados às autoridades apropriadas para informação, orientação e ação Os dados usados ou associados ao ambiente antigo devem estar acessíveis de acordo com os requisitos de contrato para proteção de dados e auditorias aplicáveis aos mesmos
25 Descontinuação do Software Envolve o desenvolvimento, a documentação e a execução de um plano de descontinuação para remover o apoio ativo dado ao sistema pelas organizações de operação e manutenção
26 Descontinuação do Software Os itens contidos no plano envolvem Interrupção total ou parcial do apoio após um determinado período de tempo Arquivamento do produto de software e da documentação associada Responsabilidade d por quaisquer questões residuais futuras de apoio Transição para o novo produto de software, se aplicável Acessibilidade às cópias de dados arquivadas
27 Descontinuação do Software Como o plano de descontinuação também envolve o usuário, o mesmo deve ser notificado do plano e das atividades de descontinuação A notificação inclui A descrição da substituição ou do upgrade com seus dados d de disponibilidadeibilid d Explicações quanto a por que o produto de software não será mais apoiado A descrição de outras opções de apoio disponíveis, uma vez que o apoio foi removido
28 Descontinuação do Software Para que haja uma descontinuação mais suave, podem ser conduzidas operações paralelas do antigo e do novo ambiente Durante esse período deve ser fornecido, de acordo com o contrato, o treinamento necessário para utilização do novo ambiente Na época agendada para a descontinuação, todos os envolvidos devem ser notificados e toda a documentação, logs e códigos relacionados ao ambiente antigo devem ser armazenados em arquivos para posteriores consultas
29 Descontinuação do Software Os dados usados ou associados ao produto de software descontinuado devem estar acessíveis de acordo com os requisitos de contrato para a proteção de dados e auditorias aplicáveis aos mesmos.