Fechar

Alessandro Garcia fala sobre degradação de sistemas de software na sexta (27)

Na série de lives da pós-graduação, professor apontará ferramentas para o reparo e melhoria dos sistemas

Sistemas de software evoluem com o tempo e muitos têm décadas de vida útil. Em alguns casos, devido a uma série de fatores, eles entram num estágio de degradação de qualidade muito alto, um processo chamado degradação do design de software. Esse é o tema principal do seminário “Degradação e Refatoração de Projetos de Software”, que será apresentado pelo professor Alessandro Garcia, nesta sexta-feira (27), às 15h, ao vivo pelo canal do Departamento de Informática (DI) no YouTube e pela página no Facebook.

“Vou abordar a importância de estudar o fenômeno da degradação dos sistemas de software. Se não há entendimento do processo de degradação e não são tomadas as ações adequadas, muitos sistemas acabam tendo que ser descontinuados e todo o investimento que foi feito pelas empresas desenvolvedoras de software acaba se perdendo”, afirmou Garcia.  

Programas com alto nível de degradação são chamados de software legado. Um exemplo seria um programa antigo, que utiliza tecnologias obsoletas e que já é mantido há vários anos. Entretanto, as empresas frequentemente não podem se desfazer dele por vários motivos. Apesar de o software legado estar mal estruturado e com péssimas condições para manutenção e adição de funcionalidades, pode não ser viável descontinuá-lo. Os motivos incluem a questão do alto investimento que foi requerido previamente e questões culturais, como a resistência dos usuários do software a mudanças. A troca do sistema pode gerar falta de confiança nos usuários.

“Muitas vezes a equipe de desenvolvimento não tem outra solução senão entender o processo de degradação de software, revelando as causas que induziram o sistema a se tornar um sistema legado. Ademais, é necessário aplicar boas práticas que foram aprendidas ao longo da história do projeto de software para ajudar no reparo, na melhoria desse sistema legado”, explicou Garcia.

Só nos EUA existem mais de 600 milhões de linhas de código de softwares legados sob manutenção. E isso requer um alto esforço e rigor das equipes envolvidas na manutenção desses sistemas, a fim de promover uma maior longevidade do software. Portanto, Garcia destaca que o entendimento e monitoramento do desenho (design) de software é de extrema relevância ao longo de sua evolução. Caso contrário, manter código legado de forma apropriada e eficiente gera muito custo e os desenvolvedores que cuidam dele têm muita dificuldade para reestruturar aquele software.  

Outro ponto da palestra será discutir as limitações das ferramentas que dão apoio ao engenheiro de software para combater a degradação e evitar que o software se torne um sistema legado. Elas permitem que ele veja apenas os problemas que estão ocorrendo naquele momento, ignorando toda a informação acumulada ao longo do tempo no projeto de software. As informações deste histórico são importantes para que a equipe de desenvolvedores consiga reparar acertadamente partes mal estruturadas do legado.

“Por fim vou falar de estudos recentes do meu grupo de pesquisa, que tem nos permitido entender melhor esse fenômeno de degradação do desenho do software. Nossos estudos permitem informar desenvolvedores de ferramentas que façam essa análise de histórico dos projetos de software, identificando as causas que levaram os problemas de degradação a acontecer”, adiantou o professor.

LEIA TAMBÉM:

Artigo de Lifschitz e Hermann será publicado na BMC Bioinformatics

Feijó faz live sobre profissional híbrido em Jogos e Entretenimento Digital

DI promove debate interdisciplinar sobre inteligência artificial e emoções