A Manutenção de Software
Por: Bruno Rodrigues • 24/9/2021 • Artigo • 1.802 Palavras (8 Páginas) • 84 Visualizações
Manutenção de Software
Bruno Rodrigues
Curso de Engenharia da Computação – Centro Universitário Salesiano de São Paulo (UNISAL) – Unidade São José
Campinas – SP– Brasil
Bruno_har@hotmail.com
Abstract. Software maintenance is a vital phase of the SDLC, it is the most problematic phase of the entire life cycle, having the potential to become more costly than the development itself, requiring even more time, effort and money, its scope encompasses all types of changes made to the software after its development or release, its objective is to improve, correct flaws and adapt to changes in the environment.
Resumo. A manutenção de software é uma fase vital do ciclo de vida do software, se trata da fase mais problemática de todo o ciclo de vida, tendo o potencial para se tornar mais custoso que o próprio desenvolvimento, exigindo ainda mais tempo, esforço e dinheiro, seu escopo engloba todo tipo de alteração feita no software após seu desenvolvimento ou liberação, tem como objetivo a melhoria, correção de falhas e adaptação as mudanças do ambiente
1. Introdução
Após algum tempo depois de a liberação de um software em qualquer tipo de ambiente, é bem improvável que seus requisitos continuem exatamente os mesmos de quando o software foi inicialmente desenvolvido, para que um software não se torne obsoleto com o passar do tempo é necessário que o mesmo seja continuamente melhorado e adaptado para cumprir com novas exigências e para que sua função inicial continue a operar de forma prática independente do quanto seu ambiente mudou dês de sua liberação.
Este artigo tem como objetivo abordar os principais pontos da manutenção de software, sendo eles a fase da manutenção no ciclo de vida de um software, as categorias em que se encaixam a manutenção, custo e problemas da manutenção, a manutenibilidade de um software e as diferentes tarefas da manutenção.
2. Importância da manutenção de software
Todas as modificações e atualizações feitas após a entrega do software podem ser categorizadas como manutenção, tornando a manutenção de software uma parte vital do ciclo de vida do software, existem várias razões pelas quais as modificações são necessárias, das principais podemos listar:
- Condições de mercado - políticas como tributação e restrições mudam ao longo do tempo, podendo gerar a necessidade de modificação para que o software passe a cumprir com novas regras.
- Cliente - Com o tempo, o cliente pode solicitar novos recursos ou funções no software, a necessidade de modificação também pode ser fruto de um alinhamento ruim ou falta de comunicação com o cliente na fase de planejamento.
- Modificações de plataforma - se algum hardware e / ou plataforma (como sistema operacional) com qual o software interage mudar, serão necessárias alterações para manter a adaptabilidade.
- Mudanças na Organização - Se houver qualquer mudança no nível de negócios no cliente final, como redução da força da organização, aquisição de outra empresa, organização se aventurando em novos negócios, pode haver necessidade de modificação no software original.
3. Tipos de Manutenção de software
De acordo com a ISO/IEC 14764, há quatro tipos de manutenção de software:
- Manutenção Corretiva – A manutenção corretiva de software trata dos erros e falhas que podem afetar várias partes de sua funcionalidade, incluindo o design, a lógica e o código. Essas correções geralmente vêm de relatórios de erros que por usuários ou clientes, geralmente é aplicada na forma de pequenas atualizações rápidas e semirregulares.
- Manutenção Adaptativa – As mudanças adaptativas se concentram na infraestrutura do software, ela é feita em resposta a novos padrões, sistemas operacionais, novo hardware ou até novas ameaças à segurança do software, para manter o programa compatível e adaptado a seu ambiente.
- Manutenção Preventiva – Este tipo de manutenção inclui modificações e atualizações para evitar problemas futuros do software. Seu objetivo é atender a problemas, que não são significativos neste momento, mas podem causar sérios contratempos no futuro.
- Manutenção Perfectiva - A manutenção perfectiva melhora a funcionalidade e usabilidade do software, inclui refinar e alterar recursos existentes, bem como adicionar novos.
4. História da Evolução de Software
A evolução de software, abordada por Meir M. Lehman em 1969, lida com o processo pelo qual softwares passam para se adaptarem a um ambiente em mudança. O objetivo da pesquisa do Lehman era formular uma teoria científica da evolução do software.
Após consolidar sua pesquisa Lehman formulou sua teoria como “As leis de evolução de software”, hoje em dia mais conhecidas como “As Leis de Lehman”, elas descrevem um equilíbrio entre os fatores que impulsionam novos desenvolvimentos e os fatores que retardam o progresso, de acordo com Lehman essas leis se aplicam de forma invariante a todo software escrito para realizar alguma atividade do mundo real, já que como ele deve se comportar está fortemente ligado ao ambiente em que é executado, e tal software precisa se adaptar aos diversos requisitos e circunstâncias desse ambiente.
4.1. Leis de Lehman
As leis de Lehman apresentam a ideia de que a manutenção de software é algo que evolui com o tempo, e que as decisões de manutenção são auxiliadas pelo entendimento do que acontece com o software ao longo do tempo, as leis criadas por Lehman são:
1. Mudança contínua:
“Um sistema de informação que é usado deve ser continuamente adaptado, caso contrário se torna progressivamente menos satisfatório”.
2. Complexidade crescente:
“À medida que um programa é alterado, sua complexidade cresce a menos que um trabalho seja feito para mantê-la ou diminuí-la”.
...