本發(fā)明涉及軟件開發(fā),具體涉及一種基于uml類圖和大語言模型的java代碼生成系統(tǒng)。
背景技術(shù):
1、統(tǒng)一建模語言u(píng)ml廣泛應(yīng)用于軟件工程中,用于描述系統(tǒng)的結(jié)構(gòu)和行為。uml類圖可以幫助開發(fā)人員清晰地表示系統(tǒng)的類、屬性、方法及類之間的關(guān)系。傳統(tǒng)的將uml模型轉(zhuǎn)換為代碼的方法主要依賴于開發(fā)人員手動(dòng)編寫代碼,或使用簡(jiǎn)單的代碼生成工具。然而,這些工具通?;谔囟ǖ哪0搴鸵?guī)則,但缺乏對(duì)復(fù)雜類圖結(jié)構(gòu)和語義的深度理解,導(dǎo)致生成的代碼往往不符合開發(fā)需求,且難以擴(kuò)展和維護(hù)。有的方法通過解析xml格式的uml模型生成代碼,但現(xiàn)有的uml工具生成的xml文件通常包含大量冗余和復(fù)雜的信息,增加了從設(shè)計(jì)到實(shí)現(xiàn)的工作負(fù)擔(dān)。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供了一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),解決現(xiàn)有技術(shù)無法快捷準(zhǔn)確地將uml類圖轉(zhuǎn)換為java代碼以提高軟件開發(fā)效率的技術(shù)問題。
2、一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),包括格式轉(zhuǎn)換模塊、數(shù)據(jù)集構(gòu)建模塊、微調(diào)模塊及代碼生成模塊;
3、所述格式轉(zhuǎn)換模塊用于將導(dǎo)入的uml類圖轉(zhuǎn)換為標(biāo)準(zhǔn)格式;
4、所述數(shù)據(jù)集構(gòu)建模塊用于收集標(biāo)準(zhǔn)格式的uml類圖文件及對(duì)應(yīng)的java代碼并構(gòu)建數(shù)據(jù)集;
5、所述微調(diào)模塊用于利用數(shù)據(jù)集對(duì)大語言模型進(jìn)行微調(diào)并根據(jù)評(píng)估策略評(píng)估微調(diào)后的大語言大語言模型的準(zhǔn)確性、代碼結(jié)構(gòu)及質(zhì)量;
6、所述代碼生成模塊中部署了訓(xùn)練好的大語言模型,用于將標(biāo)準(zhǔn)格式的uml類圖文件生成java代碼。
7、進(jìn)一步地,所述格式轉(zhuǎn)換模塊包括解析子模塊及統(tǒng)一子模塊,所述解析子模塊用于解析uml類圖,所述解析過程包括提取類、屬性、方法、修飾符及類間關(guān)系;所述統(tǒng)一子模塊用于將解析得到的數(shù)據(jù)填入模板獲取標(biāo)準(zhǔn)格式的xml文件。
8、進(jìn)一步地,所述數(shù)據(jù)集構(gòu)建模塊包括uml類圖文件收集子模塊以及代碼生成子模塊,所述uml類圖文件收集子模塊用于收集轉(zhuǎn)換為標(biāo)準(zhǔn)格式的uml類圖,所述代碼生成子模塊用于基于未微調(diào)的大語言模型自動(dòng)生成java代碼,再與用戶交互將生成的java代碼進(jìn)行規(guī)范化處理,并規(guī)范化后的代碼與相應(yīng)的uml類圖文件一一對(duì)應(yīng)獲取映射數(shù)據(jù)集。
9、進(jìn)一步地,所述微調(diào)模塊包括訓(xùn)練子模塊以及測(cè)試子模塊,所述訓(xùn)練子模塊用于根據(jù)訓(xùn)練集對(duì)大語言模型進(jìn)行微調(diào)并根據(jù)評(píng)估策略評(píng)估訓(xùn)練后的大語言模型,所述測(cè)試子模塊用于根據(jù)測(cè)試集對(duì)微調(diào)后的模型進(jìn)行測(cè)試,測(cè)試過程包括:利用微調(diào)前、微調(diào)后的大語言模型將測(cè)試集中的uml類圖文件生成java代碼,根據(jù)兩個(gè)模型生成java代碼的能力判斷微調(diào)后大語言模型的性能,所述訓(xùn)練集和測(cè)試集從數(shù)據(jù)集中獲取。
10、進(jìn)一步地,所述評(píng)估策略的評(píng)估方面包括:類圖中的一個(gè)類存在于源代碼中;類的每個(gè)屬性和方法;每個(gè)方法的具體實(shí)現(xiàn);元素的修飾符;類間關(guān)系。
11、進(jìn)一步地,包括訓(xùn)練狀態(tài)和工作狀態(tài),處于訓(xùn)練狀態(tài)時(shí),格式轉(zhuǎn)換模塊用于生成數(shù)據(jù)集構(gòu)建所需數(shù)據(jù),數(shù)據(jù)集構(gòu)建模塊及微調(diào)模塊正常運(yùn)行,代碼生成模塊暫停運(yùn)行;處于工作狀態(tài)時(shí),格式轉(zhuǎn)換模塊用于將需要轉(zhuǎn)換的uml類圖文件轉(zhuǎn)換為標(biāo)準(zhǔn)格式,代碼生成模塊正常運(yùn)行,數(shù)據(jù)集構(gòu)建模塊及微調(diào)模塊暫停運(yùn)行。
12、進(jìn)一步地,所述代碼生成模塊實(shí)時(shí)接收用戶反饋,根據(jù)用戶反饋分析生成代碼的準(zhǔn)確率,當(dāng)準(zhǔn)確率低于閾值時(shí),進(jìn)入訓(xùn)練狀態(tài)。
13、本發(fā)明的有益效果包括:有效提高了從uml類圖到j(luò)ava代碼實(shí)現(xiàn)的自動(dòng)化程度,并使用dom4j庫(kù)和freemarker模板引擎將uml類圖文件轉(zhuǎn)化為統(tǒng)一格式的xml文件,以利于大語言模型生成java代碼;并通過制作類圖xml文件和對(duì)應(yīng)java代碼的映射數(shù)據(jù)集微調(diào)大語言模型,確保了大語言模型生成的java代碼符合類圖規(guī)范。
14、克服了由于大語言模型對(duì)uml語言的理解有限和uml類圖的復(fù)雜性和多樣性,導(dǎo)致大語言模型無法直接從uml類圖生成可用的java代碼,也無法保證生成代碼的正確性和一致性的技術(shù)難點(diǎn)。
1.一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,包括格式轉(zhuǎn)換模塊、數(shù)據(jù)集構(gòu)建模塊、微調(diào)模塊及代碼生成模塊;
2.根據(jù)權(quán)利要求1所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,所述格式轉(zhuǎn)換模塊包括解析子模塊及統(tǒng)一子模塊,所述解析子模塊用于解析uml類圖,所述解析過程包括提取類、屬性、方法、修飾符及類間關(guān)系;所述統(tǒng)一子模塊用于將解析得到的數(shù)據(jù)填入模板獲取標(biāo)準(zhǔn)格式的xml文件。
3.根據(jù)權(quán)利要求1所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,所述數(shù)據(jù)集構(gòu)建模塊包括uml類圖文件收集子模塊以及代碼生成子模塊,所述uml類圖文件收集子模塊用于收集轉(zhuǎn)換為標(biāo)準(zhǔn)格式的uml類圖,所述代碼生成子模塊用于基于未微調(diào)的大語言模型自動(dòng)生成java代碼,再與用戶交互將生成的java代碼進(jìn)行規(guī)范化處理,并規(guī)范化后的代碼與相應(yīng)的uml類圖文件一一對(duì)應(yīng)獲取映射數(shù)據(jù)集。
4.根據(jù)權(quán)利要求1所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,所述微調(diào)模塊包括訓(xùn)練子模塊以及測(cè)試子模塊,所述訓(xùn)練子模塊用于根據(jù)訓(xùn)練集對(duì)大語言模型進(jìn)行微調(diào)并根據(jù)評(píng)估策略評(píng)估訓(xùn)練后的大語言模型,所述測(cè)試子模塊用于根據(jù)測(cè)試集對(duì)微調(diào)后的模型進(jìn)行測(cè)試,測(cè)試過程包括:利用微調(diào)前、微調(diào)后的大語言模型將測(cè)試集中的uml類圖文件生成java代碼,根據(jù)兩個(gè)模型生成java代碼的能力判斷微調(diào)后大語言模型的性能,所述訓(xùn)練集和測(cè)試集從數(shù)據(jù)集中獲取。
5.根據(jù)權(quán)利要求1所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,所述評(píng)估策略的評(píng)估方面包括:類圖中的一個(gè)類存在于源代碼中;類的每個(gè)屬性和方法;每個(gè)方法的具體實(shí)現(xiàn);元素的修飾符;類間關(guān)系。
6.根據(jù)權(quán)利要求1所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,包括訓(xùn)練狀態(tài)和工作狀態(tài),處于訓(xùn)練狀態(tài)時(shí),格式轉(zhuǎn)換模塊用于生成數(shù)據(jù)集構(gòu)建所需數(shù)據(jù),數(shù)據(jù)集構(gòu)建模塊及微調(diào)模塊正常運(yùn)行,代碼生成模塊暫停運(yùn)行;處于工作狀態(tài)時(shí),格式轉(zhuǎn)換模塊用于將需要轉(zhuǎn)換的uml類圖文件轉(zhuǎn)換為標(biāo)準(zhǔn)格式,代碼生成模塊正常運(yùn)行,數(shù)據(jù)集構(gòu)建模塊及微調(diào)模塊暫停運(yùn)行。
7.根據(jù)權(quán)利要求6所述的一種基于uml類圖和大語言模型的java代碼生成系統(tǒng),其特征在于,所述代碼生成模塊實(shí)時(shí)接收用戶反饋,根據(jù)用戶反饋分析生成代碼的準(zhǔn)確率,當(dāng)準(zhǔn)確率低于閾值時(shí),進(jìn)入訓(xùn)練狀態(tài)。