Gerenciando ciclos de manutenção evolutiva apoiado pela ferramenta Controla - Revista Engenharia de Software Magazine 49
Aborda o tema gerência de ciclos de manutenção evolutiva de um sistema de controle acadêmico apoiado pela ferramenta Controla. Neste sentido, este artigo demonstra o quanto é importante gerenciar os ciclos de manutenção evolutiva de um software.
Aborda o tema gerência de ciclos de manutenção evolutiva de um sistema de controle acadêmico apoiado pela ferramenta Controla. Neste sentido, este artigo demonstra o quanto é importante gerenciar os ciclos de manutenção evolutiva de um software, pois a maior parte dos custos da engenharia de software está associada à evolução e manutenção.
Em que situação o tema é útil:
O tema é muito importante no cenário atual, pois existe um grande investimento de capital por parte das organizações em seus ativos de negócio, incluindo software. Gerenciar essa evolução é uma forma de permitir que essas empresas continuem tendo o valor desses ativos mantidos.
Resumo DevMan:
A maior parte dos custos da engenharia de software está associada à evolução e manutenção de software. Cerca de 50% do tempo gasto na fase de manutenção é dedicada às atividades de compreensão do software, ou seja, existe a necessidade de explicitar como o software funciona e como ele é internamente estruturado. Neste sentido, este artigo demonstra o quanto é importante gerenciar os ciclos de manutenção evolutiva de um software.
Autores: Lessandro Notaroberto Pyrâmides e Marco Antônio Pereira Araújo
Após a implantação de sistemas, eles sofrem alterações constantes para permanecerem úteis. Surgem novos requisitos e ocorrem mudanças em requisitos existentes. Essa evolução é um processo natural de todo software.
Gerenciar a evolução é uma tarefa importante para as organizações atuais devido a todo investimento de capital realizado. Os sistemas são ativos de negócio importantes para as empresas. O investimento em mudanças permite que as empresas continuem tendo o valor desses ativos mantidos.
A maior parte dos custos da engenharia de software está associada à evolução e manutenção de software (ler Nota 1). Cerca de 50% do tempo gasto na fase de manutenção é dedicada às atividades de compreensão do software, ou seja, existe a necessidade de explicitar como o software funciona e como ele é internamente estruturado.
Para que a manutenção evolutiva ocorra de forma planejada, é essencial que todos os requisitos tenham sido adequadamente documentados e gerenciados. A gerência de requisitos é um processo importante da engenharia de requisitos que permite identificar, rastrear e controlar os requisitos e suas mudanças.
Nota 1. Tipos de manutenção
As ações ligadas à atividade de manutenção de software foram classificadas de acordo com sua natureza em três categorias: corretivas, adaptativas e perfectivas.
· Manutenções do tipo corretivas visam corrigir defeitos de funcionalidade, o que inclui acertos emergenciais de programa. Pfleeger (2001) expõe um exemplo desse tipo de manutenção, que consiste em um usuário apresentando um problema de impressão em um relatório. O número de linhas impresso por folha é muito grande, o que causa sobreposição de informações. O problema foi identificado como uma falha no driver da impressora, provocando a necessidade de se alterar o menu do relatório para aceitar um parâmetro adicional que determina o número máximo de linhas impressas por folha.
· Manutenções do tipo adaptativas referem-se a adequar o software ao seu ambiente externo. O exemplo apontado por Pfleeger (2001) ilustra bem essa categoria. Suponha um gerenciador de banco de dados, que faz parte um sistema maior de hardware e software. Em uma atualização do gerenciador, os programadores perceberam que as já existentes rotinas de acesso a disco precisavam agora de mais um parâmetro adicional. Essa manutenção corresponde a uma manutenção adaptativa, uma vez que teve por finalidade adequação do software ao seu ambiente e não a correção de um defeito.
· Manutenções do tipo evolutivas têm por objetivo acrescentar novos recursos de funcionalidade ao software, normalmente em razão de solicitações dos usuários. Significam ainda re-projetar partes de um software, de forma a tornar mais simples a compreensão e utilização do mesmo. Como exemplo, pode-se citar o pedido do usuário por um novo relatório com informações que até então não podiam ser obtidas do banco de dados.
A união das categorias adaptativa e perfectiva é sugerida por Pigoski, que propõe uni-las em uma única denominada aprimoramentos. Essa classificação estaria de acordo com organizações que geralmente utilizam o termo manutenção para se referir à execução de pequenas mudanças no software, enquanto o termo desenvolvimento é usado para os demais tipos de modificações."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast