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

袁中锦 等: 融合中文需求文本语义特征的            UML  活动图自动生成方法                                  1653


                    本文第   1  节介绍  UML  活动图自动生成的国内外相关研究工作. 第             2  节阐释  UML  活动图自动生成问题的数
                 学建模以及融合中文需求文本语义特征的               UML  活动图自动生成方法. 第       3  节通过对比实验验证所提方法的有效
                 性, 并通过消融实验验证需求文本的语义特征对自动生成活动图准确度的贡献. 第                          4  节讨论研究过程中潜在的有
                 效性威胁, 并提出具有针对性的解决方案. 第            5  节总结全文, 并对未来的研究工作进行初步探讨.

                  1   UML  活动图自动生成相关工作
                    鉴于  UML  活动图是需求分析中业务活动动态工作流程建模的重要工具, 当前已有不少研究围绕高质量、高
                 效率的活动图自动生成方法展开. 根据输入格式的区别, 这些方法可以被划分为基于结构化输入的方法和基于非
                 结构化输入的方法两类.
                    基于结构化输入的方法通过限制用户需求的表述形式降低自然语言需求文本的模糊性与二义性. 例如,
                 Gutiérrez 等人  [7] 为描述每个用例制定了特定模板, 然后使用查询/视图/转换            (query/view/transformation, QVT) 标准
                 (http://www.omg.org/spec/QVT/1.1/PDF/) 将这些规范化的用例自动转换为    UML  活动图. Yue 等人  [8] 提出限制性用
                 例建模   (restricted use case modeling, RUCM) 方法, 使用一个用例模板和一系列限制规则对用户的自然语言需求描
                 述进行限制, 并基于      RUCM  方法研发了一个名为       aToucan  的工具  [10] , 用于支持活动图、顺序图等     UML  模型的自
                 动生成. 此外, 商业词汇和规则语义         (semantics of business vocabularies and business rules, SBVR) [18] 也是一种用结构
                 化业务规则来表示用户需求的框架. Iqbal 等人           [9] 开发了一个应用工具     SBVR2ACTIVITY, 自动解析使用     SBVR  规
                 范撰写的用户需求, 根据句法和语义分析结果选择其中的名词、动词等作为                          UML  活动图的组成成分, 自动生成
                 可视化的活动图图形. 虽然这些基于结构化输入的方法能够成功生成符合用户需求的                             UML  活动图, 但它们对需

                 求表述的严格限制要求客户花费时间和精力学习相关表达技巧和表示方法, 以编写符合标准和规范的需求文本,
                 这在实际软件开发过程中是不易实现的.
                    自然语言处理      (NLP) 技术的出现为    UML  活动图自动生成方法提供了使用非结构化的自然语言文本作为输
                 入的可能性. 例如, RETRANS     [12] 借助斯坦福大学提供的一组用        Java 编写的自然语言分析工具        CoreNLP  [19] 对需求
                 文本进行词性分析, 接着通过关键字跟踪来检测需求中的参与者和用例, 从而自动生成                           UML  用例图. 在用例图生
                 成之后, 该方法将用例图中涉及的组件连接起来, 利用类库自动创建对应的                       UML  活动图. 此外, 将   NLP  技术与启
                 发式规则相结合是目前最为常见的一种              UML  活动图自动生成方式. Gulia 等人       [13] 针对需求文本的词性标注和句
                 法分析结果构建了一系列规则. 这些规则能够直接从需求文本中提取构建                           UML  活动图和序列图所需的内容.
                 Alami 等人  [14] 研发了一种半自动化算法, 利用 NLP 工具从阿拉伯语用户需求中自动构建                  UML  活动图. 他们使用
                 一个名为 MADA+TOKAN     [20] 的阿拉伯语 NLP 应用工具包对输入语句进行拆分和标记, 并设计了一套启发式方法
                 以从解析后的需求文本中寻找并提取用于生成活动图的素材. 与之类似, Maatuk                      等人  [15] 也提出一种  NLP  技术与
                 启发式规则相结合的        UML  活动图自动生成方法. 该方法可以根据英文自然语言需求文本自动生成对应的                          UML
                 用例图和活动图. Sharma 等人     [5] 提出的方法利用   NLP 技术分析需求文本的词法和句法, 通过自定义的语法知识模
                 式将需求文本中的语义信息存储在中间框架中, 实现                 UML  活动图和序列图的自动化生成. Abdelnabi 等人         [21] 开发
                 了一套预定义规则, 用于提取面向对象的概念, 如类、属性、方法和关系, 以便利用                         NLP  工具预处理的需求文本
                 自动构建 UML 类图, 并将该方法进一步推广到             UML  用例图和活动图的自动生成中          [15] . 除此之外, 机器学习的高
                 速发展激发了软件工程领域的研究者们将人工智能集成到软件和服务中的广泛兴趣                              [22] . 以  ChatGPT  为代表的大
                 模型已经能够根据自然语言描述的需求文本自动生成与                    PlantUML  工具兼容的文本脚本, 让用户通过         PlantUML
                 工具绘制   UML  活动图. 受上述工作的启发, 本文同样采用            NLP 工具完成对中文需求文本的语法分析, 以消除对输

                 入格式的结构化限制, 贴合真实的需求调研场景.
                    尽管上述方法取得了一些积极的进展, 但它们在获取                  UML  活动图图元素及其关系时仅重点关注了需求文本
                 的语法特征, 而没有更深入地考虑需求文本的语义特征. 例如, 现有方法通常假定客户提供的需求文本均可用于生
                 成  UML  活动图  [5] , 但需求文本中很可能同时包含与业务活动相关和无关的句子, 类似图                  1  中的需求文本    1  和需求
   207   208   209   210   211   212   213   214   215   216   217