Page 223 - 《软件学报》2026年第4期
P. 223
1664 软件学报 2026 年第 37 卷第 4 期
如图 8 中虚线方框部分结果所示, 在根据软件需求文本自动生成 UML 活动图的过程中, 如果去除语义多标
签需求文本分类, 虽然仍能够提取到正确的活动图图元素及其关系, 但是也很可能提取到与业务活动无关的信息,
从而导致最终生成的 UML 活动图正确性较低. 对比图 8 中双线方框部分结果可知, 相较 AutoADGC−SF 方法, 包
含语义多标签需求文本分类的 AutoADGC 方法正确识别并表示了示例需求文本中的同步时序关系. 此外, 在软硬
件条件相同的情况下, 相较于 AutoADGC−SF 的结果, AutoADGC 的结果在冗余性上降低了 38.08%. 这个结果与
正确性指标的结果相符, 进一步验证了需求文本的语义特征有助于保留与业务活动相关的句子, 去除与业务活动
无关的句子, 降低最终生成活动图的冗余性, 提高最终生成活动图的正确性.
3.5.2 对比实验结果与分析
为了回答 RQ2, 本文对比了 AutoADGC 方法与现有 UML 活动图自动生成方法的性能. 图 9 展示了 AutoADGC
[5]
与 GKP4ACTIVITY 、SBVR2ACTIVITY 和 [9] EADGD [13] 这 3 种方法在应用实例上的结果对比. 图 9(a) 中结果表
明, AutoADGC 与 EADGD 方法针对同一应用实例生成的结果基本一致. 这可能缘于图 9(a) 应用实例中的每一句
需求文本都与业务活动相关, 且需求文本语句中仅包含单一的顺序关系, 需求文本语义特征所发挥的作用难以体
现. 这也说明 AutoADGC 方法能够识别软件需求文本中与业务活动相关的内容, 并将其转换为 UML 活动图中的
图元素及其关系. 此外, 图 9(b) 与 (c) 中结果表明, 在有多个活动发起者的情况下, AutoADGC 方法自动生成的
UML 活动图包含泳道图元素, 能够清晰展现每个业务活动与活动发起者的对应关系, 更符合 UML 2.5.1 规范 [23] .
相比 SBVR2ACTIVITY, AutoADGC 中活动图节点的内容描述和边的动作描述更完整.
GKP4ACTIVITY [5] AutoADGC
EADGD [13] AutoADGC 用户
Request material using a purchase request form 使用采购申请表申
(使用采购申请表申请材料)
Initiates withdraw application for 启动撤回安置申请程序 请材料
placement process
(启动撤回安置申请程序) [No (否)] Department has current suppliers 有现有的供应商
(部门有现有的供应商)
输入学生编号 Else it requests bids from
Enters student entry no potential suppliers and [Yes (是)] 会根据所申请的材料 会向潜在的供应商招标
(输入学生编号) evaluates their bids to The purchasing department identifies 种类确定现有的供应商
提交撤销申请 our current supplier for the kind of 并对他们的投标进行评估
determine the best value
Submits to withdraw his application (否则采购部门就会向潜在 (采购部门会确定我们现有的供应商)
(提交撤销申请) 的供应商招标, 并对他们 确定最佳价值
输入卡号文件 的投标进行评估, 以确定
Enters the card number document 最佳价值) Orders the requested material
(输入卡号文件)
(订购所需的材料) 订购所需的材料
(a) (b)
SBVR2ACTIVITY [9] AutoADGC
Insert ATM Validate card 用户 取款机 银行
(插入自动取款机) (验证卡)
当客户从选项菜单中
选择交易类型时
Valid (有效) Invalid (无效)
会启动交易
Enter PIN Prompt PIN entry Return card
(输入 PIN 码) (提示输入 PIN 码) (退卡)
将客户卡上的信息和客户输入的 PIN 码发送给银行
Validate PIN
(验证 PIN 码) 否
执行 PIN 码无效扩展 通过屏幕告知客户
交易失败的原因
Valid PIN (有效 PIN 码) Invalid PIN (无效 PIN 码)
尝试继续交易 询问客户是否希望
Enter amount Prompt amount entry Return card 执行完成交易所需的任何步骤
(输入金额) (提示输入金额) (退卡) (如发放现金或接受信封) 进行另一笔交易
扣留客户的卡
打印收据
Check balance
(查询余额) 终止交易
会询问客户是否
希望进行另一笔交易
Return card
(退卡) 无法选择再次交易
Receive cash
(收到现金)
(c)
图 9 不同 UML 活动图自动生成方法针对同一应用实例自动生成的 UML 活动图结果 1

