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

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


                    活动发起者是发起业务活动的主体, 必然具备名词属性. 因此, 本文通过算法                      3  提取主谓关系中的名词或名词
                 短语作为活动发起者. 以图        6  中需求文本   1  第  3  句的第  2  个短语“系统管理员就可以成功登入系统首页”为例, 算
                 法  3  先运用  NLP  技术对该短语进行分词、词性标注和依存句法分析以获取需求文本的语法特征, 然后在动词或
                 介词前找到一个与之相邻的名词性主语“管理员”, 随后对该活动发起者描述进行补全, 最终得到完整的活动发起
                 者描述“系统管理员”. 此外, 算法       3  以短语中的谓语动词或介词作为起始点, 将其与其后的短语成分均加入动作描
                 述集合中, 作为活动图节点四元组动作描述属性的内容. 例如, 以图                    6  中需求文本   1  第  3  句的第  2  个短语中动词
                 “登入”为起始点, 其对应的活动图节点动作描述为“登入系统首页”.
                    鉴于部分需求文本描述中存在主谓关系缺失或主语为代词的现象, 算法                        4  将按照算法   2  获取的活动图节点连
                 接次序, 对算法    3  获取的活动图活动发起者序列进行遍历. 若当前活动图节点缺少活动发起者信息, 算法                          4  将根据
                 上下文之间的语义相关性, 推断并指定前一个节点的活动发起者为当前节点的活动发起者. 若当前节点的前一个
                 节点也缺少活动发起者信息, 算法           4  将以其后一个节点的活动发起者作为当前节点的活动发起者. 若对齐所有节
                 点的活动发起者与动作描述后, 活动发起者中仍存在人称代词, 则依据表达习惯, 使用“用户”替换第一人称代词.

                 算法  4. UML  活动图活动发起者对齐.
                 输入: 通过算法    3  获取的活动图活动发起者序列         AS [as 1 ,as 2 ,...,as n ];

                 输出: 对齐后的活动图活动发起者序列            AS.
                 1. for  i ← 2 to  n
                 2.  if  as i == “” then
                 3.     as i ← as i−1
                 4.  end if
                 5. end for
                 6. for  i ← (n−1) to  1
                 7.  if  as i == “” then
                 8.     as i ← as i+1
                 9.  end if
                 10. end for
                 11. for  i ← 1 to  n
                 12.  if  as i  是人称代词 then
                 13.    as i ← “用户”
                 14.  end if
                 15. end for
                 16. return  AS

                    在从需求文本获得绘制         UML  活动图节点和边所需的全部文本向量后, AutoADGC              方法采用名为     PlantUML
                 的开源工具将文本向量转换为可视化图形. PlantUML              将通过上述算法      4  提供的文本信息确定       UML  活动图的结
                 构和内容, 在秒级时间内生成图形化的            UML  活动图结果.
                  3   实验验证

                    本节利用实际软件开发项目中的软件需求对本文设计的                    UML  活动图自动生成方法进行实证研究, 以检验本
                 文方法的有效性与实用性. 下面将详细介绍本文所使用的实验数据, 说明实验评价指标和对比方法, 阐述实验方法
                 及模型参数设置, 并给出实验结果及其分析.
   214   215   216   217   218   219   220   221   222   223   224