Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/53849

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorBARROS, Flávia de Almeida-
dc.contributor.authorANDRADE, Vinícius de Oliveira-
dc.date.accessioned2023-12-04T15:07:23Z-
dc.date.available2023-12-04T15:07:23Z-
dc.date.issued2023-08-22-
dc.identifier.citationANDRADE, 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.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/53849-
dc.description.abstractEm 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.pt_BR
dc.description.sponsorshipFACEPEpt_BR
dc.language.isoporpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectInteligência computacionalpt_BR
dc.subjectEngenharia de softwarept_BR
dc.titleSistema de recomendação de desenvolvedores especialistas para projetos de engenharia de software : um estudo de casopt_BR
dc.typemasterThesispt_BR
dc.contributor.authorLatteshttp://lattes.cnpq.br/1580359132681549pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.levelmestradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/5390541720896559pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxIn software development projects, the efficient allocation of developers to specific tasks is of utmost importance, as this distribution can directly impact the development time and the quality of the final product. To assist managers in this endeavor, we propose a developer recommendation process for projects and tasks based on the accumulated knowledge of each specialist (topic-oriented model). Our proposal adopts a personalized recommendation strat- egy. Here, the system user is the manager responsible for the allocation, and the developers are seen as the "items" to be recommended. Thus, the user’s (ephemeral) profile is represented by the description of the task to be performed at the moment, and the developers ("items") are represented by the description of the work and activities each of them has already performed (historical data). Finally, we adopt the content-based recommendation technique, which an- alyzes the similarity between the tasks to be performed ("user" profile) and the historical data of the developers. This configuration of strategy and technique yielded the best results in the exploratory tests conducted with different approaches. A prototype system for expert recommendation was implemented in the context of a software development company. This system, implemented in Python, comprises three modules: (1) Information Collection, which retrieves and preprocesses the necessary information available in the partner company’s task management tool; (2) Recommendation Module, which analyzes the collected information and recommends the most suitable developers for each task and project; and (3) Allocation Management Module, responsible for managing the system’s records, registering and main- taining control of developer allocations to tasks and projects. The technologies used include Django, Jira, NLTK, Pandas, and Scikit-learn. The validation of the prototype was carried out during a two-month period of usage, considering a total of 191 activity recommendations. The results were analyzed by observing which developers recommended by the system were actually allocated by the manager to the input tasks. The prototype achieved an accuracy of 65.13%, indicating that the results are not random and that the system has the potential to improve the process of allocating developers to tasks, facilitating the search for the most suitable professional for each activity.pt_BR
Aparece nas coleções:Dissertações de Mestrado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO Vinícius de Oliveira Andrade.pdf956,94 kBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons