Page 213 - 《软件学报》2026年第4期
P. 213

1654                                                       软件学报  2026  年第  37  卷第  4  期


                 文本  2. 无关句容易导致自动生成的         UML  活动图出现节点冗余或节点遗漏的情况. 此外, 需求文本在语义层面的
                 时间活动关系与自动生成活动图的图元素类型、图元素关系紧密相连, 直接影响到活动图的完整性、正确性和冗
                 余性. 因此, 研究如何将需求文本的相关性、时序性语义特征融入                    UML  活动图自动生成过程, 以提高活动图生成
                 的准确率, 是一项极具必要性和挑战性的工作.
                  2   融合中文需求文本语义特征的            UML   活动图自动生成方法

                    为了自动生成高完整性、高正确性和低冗余性的                   UML  活动图, 本文提出了融合中文需求文本语义特征的
                 UML  活动图自动生成方法       AutoADGC. 该方法的基本思想是将中文需求文本的相关性、时序性语义特征提取转
                 化为多标签中文需求文本分类, 利用中文需求文本的语法特征和语义特征实现                          UML  活动图图元素及其关系提取
                 过程的自动化. 在给出       AutoADGC  的方法流程之前, 首先对       UML  活动图的相关概念以及        UML  活动图自动生成
                 问题的数学建模予以介绍.
                  2.1   问题建模
                    本文研究的     UML  活动图遵循    UML 2.5.1  规范  [23] , 可以看作一种有向图  [24] . 形式上, 有以下定义.
                    定义  1 (UML  活动图节点). UML    活动图的任意一个节点都可用四元组             node = (id, ptt,atv,typ) 表示. 其中,  id
                 表示当前节点的唯一标识,         ptt  表示当前节点的责任所有者或动作发出者,            atv 表示当前节点的动作描述,        typ 表示
                 当前节点的类型.
                    本文研究的     UML  活动图节点类型包括初始节点、动作节点、决策节点、合并节点、分叉节点、连接节点
                 和结束节点共     7  种. 其中, 初始节点表示业务流程的开始; 动作节点显示多种业务活动; 决策节点表示条件分支中
                 互斥发生的活动分支; 合并节点表示互斥活动分支的汇合; 分叉节点代表多个活动分支开始并行执行; 连接节点代
                 表多个活动分支结束并行执行; 结束节点表示业务流程的结束. 非动作节点的动作描述为空. 表                             1  展示了  UML  活
                 动图各类节点对应的入度和出度.

                                          表 1 UML   活动图各类节点对应的入度和出度

                                  节点类型                     入度                     出度
                                  初始节点                      0                       1
                                  动作节点                      1                       1
                                  决策节点                      1                    n (n ⩾ 2)
                                  合并节点                    n (n ⩾ 2)                 1
                                  分叉节点                      1                    n (n ⩾ 2)
                                  连接节点                    n (n ⩾ 2)                 1
                                  结束节点                      1                       0

                    定义  2 (UML  活动图边). UML  活动图的任意一条边都可用四元组             edge = id,node org ,node dst ,rlt  表示. 其中,  id
                                                                             (
                                                                                             )
                 表示当前边的唯一标识,        node org  和  node dst  分别表示当前活动转换的源节点和目标节点,     rlt 表示当前活动转换对应
                 的转换条件或其他补充说明.
                    定义  3 (UML  活动图). 一个  UML  活动图   G  是一个有序的二元组      (AN,AE). 其中,  AN = {node i |1 ⩽ i ⩽ N } 是一
                 个由  UML  活动图节点组成的非空有穷集合, 称作            UML  活动图节点集合,     N  表示节点总数.   AE = edge j |1 ⩽ j ⩽ E  }
                                                                                            {
                 是由  UML  活动图边组成的非空有穷集合, 称作           UML  活动图边集合,    E  表示边总数.
                    以一项包裹快递业务为例          [4] , 其对应的  UML  活动图如图  3  所示. 图  3  右侧显示了该  UML  活动图的部分图示
                 与其形式化语义表示的对应关系.
                    基于上述    UML  活动图表示法可知, 活动图自动生成的关键是从需求文本中识别并提取                        UML  活动图节点四
                 元组和边四元组中各个属性对应的文本向量. 由于很多词语在不同语境中含义不同, 而句子是意图明确的独立语
                 义单元, 本文以句子为软件需求文本的最小单位. 因此, UML               活动图自动生成问题可以写成公式             (1).
   208   209   210   211   212   213   214   215   216   217   218