{"title":"在使用复杂网络的Java单片项目代码中发现模块化","authors":"Marcos C. Brito Jr, Leando A. Silva","doi":"10.5753/brasnam.2023.229554","DOIUrl":null,"url":null,"abstract":"Projetos monolíticos podem trazer aos desenvolvedores de sistemas grandes dificuldades quando necessário a manutenção ou ampliação de escopo de um projeto. Modularizar projetos para ter classes mais definidas e módulos menores para trabalhar podem trazer benefícios como o tempo de desenvolvimento do projeto e produtividade para a equipe. Este trabalho propõe o uso de redes complexas utilizando a biblioteca NetworkX em Python utilizando o algoritmo de modularidade gulosa, para a análise estática de um código escrito em Java com a finalidade de descobrir módulos a partir de análise de dependências entre classes, indicando a melhor forma de encontrar os agrupamentos a serem tomados como módulo de código.","PeriodicalId":106457,"journal":{"name":"Anais do XII Brazilian Workshop on Social Network Analysis and Mining (BraSNAM 2023)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Descoberta de modularidade em códigos de projetos monolíticos em Java utilizando redes complexas\",\"authors\":\"Marcos C. Brito Jr, Leando A. Silva\",\"doi\":\"10.5753/brasnam.2023.229554\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Projetos monolíticos podem trazer aos desenvolvedores de sistemas grandes dificuldades quando necessário a manutenção ou ampliação de escopo de um projeto. Modularizar projetos para ter classes mais definidas e módulos menores para trabalhar podem trazer benefícios como o tempo de desenvolvimento do projeto e produtividade para a equipe. Este trabalho propõe o uso de redes complexas utilizando a biblioteca NetworkX em Python utilizando o algoritmo de modularidade gulosa, para a análise estática de um código escrito em Java com a finalidade de descobrir módulos a partir de análise de dependências entre classes, indicando a melhor forma de encontrar os agrupamentos a serem tomados como módulo de código.\",\"PeriodicalId\":106457,\"journal\":{\"name\":\"Anais do XII Brazilian Workshop on Social Network Analysis and Mining (BraSNAM 2023)\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-08-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Anais do XII Brazilian Workshop on Social Network Analysis and Mining (BraSNAM 2023)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5753/brasnam.2023.229554\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Anais do XII Brazilian Workshop on Social Network Analysis and Mining (BraSNAM 2023)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5753/brasnam.2023.229554","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Descoberta de modularidade em códigos de projetos monolíticos em Java utilizando redes complexas
Projetos monolíticos podem trazer aos desenvolvedores de sistemas grandes dificuldades quando necessário a manutenção ou ampliação de escopo de um projeto. Modularizar projetos para ter classes mais definidas e módulos menores para trabalhar podem trazer benefícios como o tempo de desenvolvimento do projeto e produtividade para a equipe. Este trabalho propõe o uso de redes complexas utilizando a biblioteca NetworkX em Python utilizando o algoritmo de modularidade gulosa, para a análise estática de um código escrito em Java com a finalidade de descobrir módulos a partir de análise de dependências entre classes, indicando a melhor forma de encontrar os agrupamentos a serem tomados como módulo de código.