Tipos de manutenção de software
Manutenção corretiva:
A manutenção corretiva de um produto de software pode ser essencial para retirar alguns bugs observados enquanto o sistema está em uso ou para melhorar o desempenho do sistema.
Manutenção adaptativa:
Isso inclui modificações e atualizações quando os clientes precisam que o produto seja executado em novas plataformas, em novos sistemas operacionais ou quando precisam que o produto faça interface com novo hardware e software.
Manutenção de melhorias:
Um produto de software precisa de manutenção para suportar os novos recursos que os usuários desejam ou para alterar diferentes tipos de funcionalidades do sistema de acordo com as demandas do cliente.
Manutenção preventiva:
Este tipo de manutenção inclui modificações e atualizações para evitar problemas futuros do software. Tem como objetivo atender a problemas, que não são significativos neste momento, mas podem causar sérios problemas no futuro.
Engenharia reversa: Técnica utilizada na manutenção de software
Engenharia reversa é o processo de extrair conhecimento ou informações de projeto de qualquer coisa feita pelo homem e reproduzi-la com base nas informações extraídas.
A engenharia reversa de software: é o processo de recuperar o projeto e a especificação de requisitos de um produto a partir de uma análise de seu código.
A Engenharia Reversa está se tornando importante, uma vez que vários produtos de software existentes carecem de documentação adequada, são altamente desestruturados ou sua estrutura foi degradada por uma série de esforços de manutenção.
Por que engenharia reversa?
Fornecimento adequado de documentação de sistema.
Recuperação de informações perdidas.
Auxilia na manutenção.
Facilidade de reutilização de software.
Descobrir falhas inesperadas.
A engenharia reversa de software é usada no projeto de software: Permite que o desenvolvedor ou programador adicione novos recursos ao software existente com ou sem conhecer o código-fonte.
No que se atentar durante a manutenção de software
Não apenas ao tipo de manutenção a ser realizada, e sim também com a área do profissional que fará a Manutenção de software. E se o problema corresponde ao software em si. Por exemplo:
Problemas de performance
Se o problema for performance, poderia primeiro ver onde os seus servidores estão hospedados. Se estiverem na sua própria empresa isto pode afetar sim de várias formas. É a internet que não possui um link dedicado, cai de vez em quando. É o mesmo servidor que pode estar atendendo diferentes demandas. Também uma serie de outros fatores.
Uma arquitetura monolítica “onde você têm toda a estrutura dentro de um servidor só “. Desde um update num software especifico do seu sistema pode estar causando problemas, até a quantidade de usuários logados ao mesmo tempo.
Geralmente o que resolveria, seria pegar seu código fonte, bancos de dados e migrar para nuvem.
Melhoria: Exibição de relatórios
Hoje em dia existem excelentes ferramentas, algumas delas o seu pessoal de TI não precisa ser o grande especialista para desenvolver alguns tipos de relatórios.
Uma destas é o Power BI ela é uma ferramenta paga, porém é incrível para a analise de dados e Business Intelligence.
Modificar o software para implementar melhores relatórios feitos pelo desenvolvedor dentro da empresa é coisa do passado. Fica bem mais caro do que utilizar o Power BI. Nós estamos falando de fazer um relatório em minutos ou horas com o Power BI. Enquanto o desenvolvedor demorá dias para codificar um relatório apenas com programação pura.
Erro no aplicativo
Se a sua aplicação for sob medida, o melhor dos casos seria você procurar a empresa que desenvolveu o app.
Caso não seja possível eles atenderem você. Precisa se atentar na tecnologia envolvida no seu aplicativo para encontrar o profissional certo. Exemplo, um desenvolvedor Ruby on Rails, jamais vai conseguir resolver num tempo hábil um erro no seu sistema Net Core e vice-versa. Nesse caso você precisa cobrar da terceirizada de TI, que os desenvolvedores precisam ser especialistas em Net Core. Rapidamente o seu sistema será colocado no ar.
Da mesma forma não adianta tentar resolver num tempo hábil, um problema num banco de dados Oracle com um profissional especialista em Microsoft SQL Server.
Documentação do sistema
Quanto mais documentado estiver o sistema, mais fácil e rápido o profissional consegue receber o conhecimento para finalizar a tarefa de manutenção. O que abaixa bastante os custos envolvidos para a manutenção nos sistemas.
Versionamento de software
Formando parte da documentação, a cada modificação, versionar o que foi feito pode apontar a pontos de atenção durante a manutenção.
Codificação do software
Fazer uso das boas práticas de codificação junto com as melhores ferramentas de gerenciamento de projetos. Pode ajudar bastante na legibilidade e entendimento do código fonte.
Ferramentas maravilhosas para estes objetivos são: O Azure devops da Microsoft e o JIRA. Elas servem tanto pra a codificação quanto para o versionamento, documentação e gestão ágil do projeto.
Smart Quality e a manutenção de software na sua empresa
Caso você precise de ajuda com a manutenção do software da sua empresa, conte conosco. Na Smart Quality estamos preparados para ajudá-lo, entre em contato clicando no botão abaixo.