Recommender systems for UML class diagrams. - TOLEDO, Saulo Soares de. (2016)
Modelos UML são usados de várias formas na engenharia de software. Eles podem modelar desde requisitos até todo o software, e compreendem vários diagramas. O diagrama de classes, o mais popular dentre os diagramas da UML, faz uso de vários elementos UML e adornos, tais como abstração, interfaces, atributos derivados, conjuntos de generalização, composições e agregações. Atualmente, não há maneira fácil de encontrar este tipo de diagrama com base nestas características para a reutilização ou a aprendizagem por tarefas de exemplo. Por outro lado, Sistemas de Recomendação são ferramentas e técnicas que são capazes de descobrir os elementos mais adequados para um usuário, dentre muitos outros. Existem várias técnicas de recomendação, que usam informações dos elementos de várias maneiras, ao uso da opinião de outros usuários. Sistemas de recomendação já foram utilizados com sucesso em vários problemas de engenharia de software. Este trabalho tem como objetivo propor e avaliar (i) uma representação baseada em conteúdo para diagramas de classe e as preferências do usuário,(ii) um novo algoritmo de recomendação baseado no conhecimento, (iii) a aplicação deste algoritmo e outros dois outros do estado da arte para a recomendação de diagramas de classe UML e (iv) uma avaliação destas abordagens contra uma sugestão aleatória. Para atingir este objetivo, foi realizado um estudo de caso com estudantes de ciência da computação e egressos. Depois de comparar os algoritmos, os nossos resultados mostram que, para o nosso conjunto de dados, todos eles são melhores do que uma recomendação aleatória.