Page 221 - 《软件学报》2026年第4期
P. 221
1662 软件学报 2026 年第 37 卷第 4 期
PlantUML 工具绘制 UML 活动图, 以比较基于 ChatGPT4 的方法和 AutoADGC 在 UML 活动图自动生成方面的
表现.
表 3 UML 活动图质量指标的计算方法
指标名称 中间变量 计算公式
N ca
节点完整性 CM as =
N ra CM as +CM ae
完整性 ( CM ad ) CM ad =
2
N cr
边完整性 CM ae =
N rr
N ca
节点正确性 CR as =
N ta CR as +CR ae
正确性 ( CR ad ) CR ad =
2
N cr
边正确性 CR ae =
N tr
N ia
节点冗余性 RD as =
N ta RD as +RD ae
冗余性 ( RD ad ) RD ad =
N ir 2
边冗余性 RD ae =
N tr
3.3 实验方法
为了探究需求文本的语义特征对 AutoADGC 性能的影响, 本文设计了变体方法 AutoADGC−SF. 该方法移除
了语义多标签需求文本分类模型, 仅利用需求文本的语法特征从中文需求文本中提取 UML 活动图图元素及其关
系. 在方法名称中, “SF”是语义特征 (semantic feature) 的首字母缩写. 在相同的软硬件环境下, 本文分别使用
AutoADGC 和 AutoADGC−SF 方法根据相同的软件需求文本自动生成 UML 活动图. 之后, 根据第 3.2 节中所述的
评价指标, 对这两种方法所得 UML 活动图的完整性、正确性和冗余性进行比较. 在实验过程中, 受邀的 3 位软件
工程师根据收集的 100 份中文需求文本独立绘制 UML 活动图, 并就所有绘制结果进行讨论以达成共识, 最终形
成一致的绘制结果. 这份绘制结果将被作为实验中的参考活动图.
为了验证 AutoADGC 方法的有效性, 本文将 AutoADGC 方法与其他 UML 活动图自动生成方法进行比较.
其中, 从文献 [5,9,13] 中收集文中所提方法的应用实例, 并将这些实例中的输入文本作为本文方法的输入, 比较
通过本文方法获取的 UML 活动图与通过文献方法获取的 UML 活动图. 文献 [15] 没有给出应用实例, 但提供
了方法的实现细节, 因此本文根据文献 [15] 的描述复现了文中方法. 上述对比方法均仅适用于英文需求文本,
而本文提出的方法目前仅支持对中文需求文本进行分析. 为解决语言不统一的问题, 本文先采用谷歌翻译将英
文需求文本翻译成中文, 再使用 AutoADGC 方法对其进行解析和提取. 此外, 本文还利用大模型 ChatGPT4 生
成与中文需求文本匹配的 PlantUML 脚本, 并由 PlantUML 工具根据该脚本绘制 UML 活动图, 以供比较分析.
3.4 参数设置
为了训练语义多标签需求文本分类模型, 本文将已标注的需求文本句子分为训练集、验证集和测试集. 三者
的内容互不重叠. 根据文献 [36] 中的最佳实践, 将训练集、验证集和测试集之间的数据分割比例设定为 8:1:1, 旨
在进一步降低信息泄漏风险, 同时更准确地反映模型效能. 本文采用 12 层的 ALBERT-Base-Chinese 作为预训练
语言模型, 模型的向量维度为 768, 总参数数量为 24M. 该模型采用 Adam [37] 优化器进行训练, 学习率为 5E−5, 批量
大小为 16, 最大输入序列长度为 64.
本文实验的硬件环境为 Intel(R) Core(TM) i9-10900K CPU、3.70 GHz 主频、128 GB 内存, 软件环境为
Python 3.8.10. 本文选用 HanLP 工具包 (https://github.com/hankcs/HanLP/) 作为中文需求文本处理工具, 并借助
Transformers 3.4.0 [38] 、Keras 2.3.1 [39] 和 TensorFlow 2.2.0 [40] 框架实现语义多标签需求文本分类模型.
3.5 实验结果与分析
为评估融合中文需求文本语义特征的 UML 活动图自动生成方法 AutoADGC 的有效性, 本文将具体回答以

