Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº  2.098


Aluno: Vinícius de Oliveira Andrade
Orientadora: Profa. Flávia de Almeida Barros
Título: Sistema de Recomendação de Desenvolvedores Especialistas para Projetos de Engenharia de Software: um Estudo de Caso
Data: 22/08/2023
Hora/Local: 14h às 16h – Virtual – Interessados em assistir entrar em contato com o aluno
Banca Examinadora:
Prof. Alexandre Cabral Mota (UFPE / Centro de Informática)
Prof. André Câmara Alves do Nascimento (UFRPE / Departamento de Computação)
Profa. Flavia de Almeida Barros (UFPE / Centro de Informática)


RESUMO:

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.

Palavras-chave: Alocação de especialistas. Sistema de recomendação. Engenharia de software.

Comentários desativados

Sobre este site

Portal institucional do Centro de Informática – UFPE

Encontre-nos

Endereço
Av. Jornalista Aníbal Fernandes, s/n – Cidade Universitária.
Recife-PE – Brasil
CEP: 50.740-560

Horário
Segunda–Sexta: 8:00–18:00