技术综述| UML活动图自动生成技术研究现状简述
来源: 黄翰/
华南理工大学
910
2
0
2022-09-09

11. 面向对象——UML活动图(Activity Diagram)

在全球信息化进程日益加速的背景下,计算机软件已经融入我们生活的方方面面。然而,受限于当下的软件开发水平和生产能力,想要制作一款高水平的软件产品是很不容易的。Davis的研究[1]表明,随着软件开发的深入,修复错误的成本会增加,如图1所示。需求分析是软件开发中至关重要的一环,尤其是对于大型或复杂的系统而言。而活动图作为需求分析中的重要工具,可以帮助业务参与者在软件建模过程中梳理系统结构和功能特点。因此,实现由需求文本生成活动图,对提高需求分析的效率和软件质量具有重要意义。

图示

描述已自动生成

图1 软件开发不同阶段的相对缺陷修复成本

根据《UML模式与应用》[2]的定义,活动图是统一建模语言(Unified Modeling Language, UML)中的一种视图模型。它从系统元素动态交互的角度用图形化的形式表示用户在业务流程中的行为逻辑,如图2所示。然而,目前活动图生成主要依靠人工绘制,需要花费大量时间和精力。因此,在软件工程领域越来越多的学者开始从事活动图半自动或自动生成的相关研究。

图2 《UML 和模式应用》中的活动图举例

如何根据需求文档自动生成活动图呢?首先,我们需要了解人工绘制活动图的步骤:

步骤 1:从需求文本中识别出由业务流程组成的各种活动和动作。

步骤 2:识别与活动或动作相关联的参与者。

步骤 3:从各种动作中识别控制转换流。

步骤 4:添加泳道分区,为动作进行责任分组。

在了解人工绘制的流程后,如何根据以上步骤自动生成活动图呢?根据当前国内外活动图生成的相关研究,我们可以总结出以下三类研究方法:基于启发式需求规范要求的活动图生成研究、基于中间制品转换的活动图生成研究、基于自然语言处理的活动图生成研究。

图3 活动图自动生成研究现状

基于启发式需求规范要求的活动图生成研究

基于启发式需求规范要求的活动图生成研究是指基于结构化实词和规则,通过对需求文档撰写进行严格句式规定,从而制定图元素转换规则,实现UML图形化生成。例如,Gutiérrez等人[3]提出一种根据特定用例格式自动生成活动图的方法,对每个用例提出特定的格式编写要求,然后使用查询/视图/转换(Query/View/Transformation, QVT)关系语言定义转换模型进行活动图生成。欧阳柳波等人[4]提出一种根据特定结构的需求用例自动化建模方法,解决因歧义、不完全、不准确而导致分析结果不准确的问题。

基于中间制品转换的活动图生成研究

基于中间制品转换的活动图生成研究是指根据UML相关的先验制品提出的模型转换方法,例如由用例图生成活动图。Han等人[5]提出一种基于用例图模型的活动图自动转换方法,实现了从用例映射到活动图符号的模型转换。Almendros-Jiménez等人[6]提出一种将用例规约转换为活动图符号的方法,将需求文本(用例规约)与系统行为(活动图)联合建模,并通过一个互联网图书购物系统进行效果展示。

基于自然语言处理的活动图生成研究

基于自然语言处理的活动图生成研究是指根据用户故事或其他自然语言描述的需求文本,使用自然语言处理工具半自动或自动提取出图元素。例如Alami等人[7]提出一种使用自然语言处理工具从阿拉伯用户需求文本种生成活动图的半自动化方法。该方法使用自然语言处理工具对阿拉伯需求文本进行拆分和标记后,通过一系列泛化的语法规则提取活动图组件(对象、消息和工作流转换)。Maatuk等人[8]提出了一种基于自然语言技术和启发式规则生成UML用例图和活动图的方法。该方法分为四个阶段:1)需求文本的重构与规范化;2)自然语言处理;3)运用映射规则提取UML元素;4)UML 图生成。该方法使用了分词、词性标注、依赖解析等自然语言技术,避免了人工处理需求文本的过程。

以上三类活动图生成方法各有局限性。基于启发式需求规范要求的活动图生成方法依赖固定格式的需求文本,受限于不同的需求用例输入要求,实际应用价值低。基于中间制品转换的活动图生成方法要求必须具备先验的相关制品才可以进一步生成对应的活动图模型,适用范围小。而基于自然语言处理的活动图生成研究符合软件开发过程的实际需求特点,适用范围广,可移植性好,是目前智能算法研究中心的研究重点之一。

目前,智能算法研究中心的研究人员初步实现了基于需求描述的活动图自动生成工具。该工具可以根据需求文本快速生成对应的活动图,辅助用户进行需求分析,提高软件开发效率。

图4 活动图自动生成工具自动生成功能展示

此外,该工具还提供人机交互修改功能,可以在快速为软件设计师提供高质量活动图初稿的同时,支持用户对初稿内容进行编辑和修改以满足实际的绘图需求。

图5 活动图自动生成工具人机交互修改功能展示

总的来说,相关的先验语言知识可以提高活动图自动生成的准确性,但是过度依赖规则会降低方法的普适性。如果你希望自己的研究更具普适性,可以借助自然语言处理相关技术,避免对需求文档撰写设置过多的硬编码规则。同学们可以根据自己的需求选择合适的方法哦!

参考文献

[1] A. M. Davis, Software Requirements: Objects, Functions, and States. Prentice Hall, 1993.

[2] Larman C. Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and Interactive Development. Pearson Education India, 2012.

[3] J. J. Gutiérrez, C. Nebut, M. J. Escalona, et al, "Visualization of use cases through automatically generated activity diagrams", in International Conference on Model Driven Engineering Languages and Systems, 2018, pp. 83-96.

[4] 欧阳柳波, 郭海林, "基于领域需求结构化描述的自动分析建模方法", 计算机工程与应用, vol. 52, no. 20, pp. 52-57, 2016.

[5] Y. A. Khan, M. El-Attar, "Automated transformation of use case maps to UML Activity Diagrams", in International Conference on Software Technologies (ICSOFT), 2012, pp. 184-189.

[6] J. M. Almendros-Jiménez, L. Iribarne, "Describing use cases with activity charts", in International Symposium on Metainformatics, 2004, pp. 141-159.

[7] N. Alami, N. Arman, F. Khamyseh, "A semi-automated approach for generating sequence diagrams from Arabic user requirements using a natural language processing tool", in International Conference on Information Technology (ICIT), 2017, pp. 309- 314.

[8] A. M. Maatuk, E. A. Abdelnabi, "Generating UML Use Case and Activity Diagrams Using NLP Techniques and Heuristics Rules", in International Conference on Data Science, E-learning and Information Systems, 2021, pp. 271-277.

总编:黄翰

责任编辑:袁中锦

文字:黄俊聪

图片:黄俊聪

校稿:何莉怡

时间:2022年6月21日


登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 联系我们
联系我们: