Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.ufpe.br/handle/123456789/53849

Share on

Title: Sistema de recomendação de desenvolvedores especialistas para projetos de engenharia de software : um estudo de caso
Authors: ANDRADE, Vinícius de Oliveira
Keywords: Inteligência computacional; Engenharia de software
Issue Date: 22-Aug-2023
Publisher: Universidade Federal de Pernambuco
Citation: ANDRADE, Vinícius de Oliveira. Sistema de recomendação de desenvolvedores especialistas para projetos de engenharia de software: um estudo de caso. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
Abstract: Em projetos de desenvolvimento de software, a alocação eficiente de desenvolvedores a tarefas específicas é de extrema importância, uma vez que essa distribuição pode impactar diretamente o tempo de desenvolvimento e a qualidade do produto final. Objetivando auxiliar os gestores, propomos aqui um processo de recomendação de desenvolvedores para projetos e tarefas com base no conhecimento acumulado por cada especialista (modelo orientado a tópico). Nossa proposta adota uma estratégia personalizada de recomendação. Aqui, o usuário do sistema é o gerente responsável pela alocação e os desenvolvedores são vistos como os “itens” que serão recomendados. Assim, o perfil (efêmero) do usuário será representado pela descrição da tarefa a ser realizada no momento, e os desenvolvedores (“itens”) são representados pela descrição dos trabalhos e atividades que cada um já realizou (dados históricos). Por fim, adotamos a técnica de recomendação baseada em filtragem de conteúdo, que analisa a similaridade entre tarefas a realizar (“perfil” do usuário) e os dados históricos dos desenvolvedores. Essa configuração de estratégia e técnica apresentou os melhores resultados nos testes exploratórios realizados com diferentes abordagens. Foi implementado um sistema protótipo para recomendação de especialistas no contexto de uma empresa de desenvolvimento de software. Esse sistema, implementado em Python, conta com três módulos: (1) Coleta de Informações, que recupera e pré-processa as informações necessárias disponíveis na ferramenta de gerenciamento de tarefas da empresa parceira; (2) Módulo de Recomendação, que analisa as informações coletadas e recomenda os desenvolvedores mais adequados para cada tarefa e projeto; e (3) Módulo de Gerenciamento de Alocação, responsável por gerenciar os cadastros do sistema, registrando e mantendo o controle das alocações de desenvolvedores a tarefas e projetos. As tecnologias utilizadas são: Django, Jira, NLTK, Pandas e Scikit-learn. A validação do protótipo foi realizada durante um período de dois meses de uso, considerando um total de 191 recomendações de atividades. Os resultados foram analisados observando-se quais desenvolvedores recomendados pelo sistema foram de fato alocados pelo gerente para as tarefas de entrada. O protótipo alcançou uma precisão de 65,13%, o que indica que os resultados não são aleatórios, e que o sistema tem potencial para melhorar o processo de alocação de desenvolvedores a tarefas, facilitando a busca pelo profissional mais adequado para cada atividade.
URI: https://repositorio.ufpe.br/handle/123456789/53849
Appears in Collections:Dissertações de Mestrado - Ciência da Computação

Files in This Item:
File Description SizeFormat 
DISSERTAÇÃO Vinícius de Oliveira Andrade.pdf956,94 kBAdobe PDFThumbnail
View/Open


This item is protected by original copyright



This item is licensed under a Creative Commons License Creative Commons