华南理工大学经验分享用例图自动生成方法有哪些?

首先,我们需要了解人工绘制用例图的步骤:

步骤一:确定系统边界

步骤二:确定参与者

步骤三:确定每个参与者所对应的用例

步骤四:确定用例之间的关系

如何根据以上步骤自动生成用例图呢?目前,大部分方法基于需求文档分析自动生成用例图。基于需求文档的用例图自动生成方法的研究,主要是通过自然语言处理(NatureLanguageProcess,NLP)的方式,利用分词、词性标注、语义分析等方法,结合句式、规则匹配等方法,从自然语言中提取用例图元素及其关系。

我们可以总结出以下六种基于需求文档分析的用例图自动生成方法:

方法一:基于句式规定和提取规则的图元素提取方法

句式规定是撰写需求文本的规定。需求文本编写者必须按照规定的句式表达需求。例如,编写者想表达“管理员可以查询学生成绩”,若句式规定为<用户>可以使用系统进行<操作>,则必须将该需求写成:“管理员可以使用系统进行学生成绩查询”。之后,该方法再按照用例图元素提取规则,采用正则匹配的方式来切割需求语句并提取用例图元素。这种方法[1]解决了因使用自然语言来表达需求而造成需求描述歧义、不完整、不准确进而导致需求文档分析结果不准确的问题。但是由于句式规定死板,这种方法只能分析根据规定书写的需求文档,从而解决用例图自动生成问题。一旦更换书写风格或者书写规则,该方法就无法提取图元素。

方法二:基于事件表或商业词汇表的图元素提取方法

该方法将业务词汇和商务规则元素映射到用例图元素,能够从业务词汇表生成UML用例图。图2为事件表-用例图的映射示例。但是,该方法能否被成功使用取决于需求文档中是否包含完整的事件表。

图2事件表-用例图的映射示例

方法三:基于自然语言处理的图元素提取方法

基于自然语言处理的图元素提取方法是目前使用最广泛的方法,其主要思路是根据用户故事或其他自然语言描述的需求文本,半自动或自动提取图元素。例如,SUGAR工具通过解析自然语言需求来识别用例、参与者、类等图元素,并且能够结合RationalRose工具在Java中生成所有静态UML模型。除此之外,SUGAR工具还可以通过自然语言处理的方法分析需求文本,并建立一个以语义网络为代表的集成语篇模型来处理文本,然后使用这个语义网络自动构造一个UML图。

方法四:基于用户故事的图元素提取方法

基于用户故事的图元素提取方法是根据自然语言所描述的用户故事自动生成概念模型的方法。这种方法要求需求文档中必须包含用户故事。

方法五:基于启发式的图元素提取方法

基于启发式的图元素提取方法主要是通过引入新的启发式算法来辅助实体-关系(ER)[2]的建模过程,并将其应用于自然语言的自动处理及向实体-关系(ER)模型的转换。ER-Converter是目前已经实现的工具。

方法六:基于领域本体[3]的图元素提取方法

基于领域本体的图元素提取方法利用自然语言处理和领域本体技术从文本需求中提取UML图。例如,较为常用的RAPID工具能够帮助需求分析师分析文本需求,通过自然语言处理工具消除模棱两可的需求并且识别不完整需求,主要思路是通过句法重建将复杂句子分割成简单句子,从而提取出所有可能信息。

以上方法各有局限性,基于句式规则的方法依赖大量规则,可移植性差;基于事件表或商业词汇表的方法和基于用户故事的方法要求文档中必须含有事件表、词汇表或用户故事,适用范围小;基于启发式的方法依赖已经实现的规则,普适性较差。总的来说,规则可以提高用例图自动生成的准确性,但是过多的规则会导致方法普适性降低。如果希望自己的研究更具普适性,就要避免过多的规则,减少对撰写过程的要求。同学们可以根据自己的需求选择合适的方法哦!

参考文献:

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

[2]OmarN,HannaJRP,McKevittP.Heuristic-basedentity-relationshipmodellingthroughnaturallanguageprocessing[C]//Proc.ofthe15thArtificialIntelligenceandCognitiveScienceConference(AICS-04).ArtificialIntelligenceAssociationofIreland,2004:302-313.

[3]ChenJ,GuJ.ADOL:anovelframeworkforautomaticdomainontologylearning[J].TheJournalofSupercomputing,2021,77(1):152-169.

THE END
1.uml统一建模9种图简要概念(英语名称)1.用例图(Use Case Diagram) - 用于描述系统的功能需求,展示系统中的参与者(Actor)与用例(Use Case)之间的关系,如关联(Association)、泛化(Generalization)等关系,帮助确定系统边界和功能范围。 2. 类图(Class Diagram) - 展现系统中的类(Class)、接口(Interface)以及它们之间的关系,包括关联(Association)、聚合(Aghttps://blog.csdn.net/2301_76668232/article/details/144366554
2.这7种UML图的画法每个程序员都应该掌握~在这三个阶段中,大量使用符合 UML 规范的模型图,其中常用的有 7 种,包括类图、序列图、组件图、部署图、用例图、状态图和活动图。 在需求分析阶段,使用用例图和领域模型图描述用户需求和业务场景。在架构设计阶段,使用组件图和部署图描述软件系统的组成部分和部署情况。在详细设计阶段,使用类图、序列图和状态图https://zhuanlan.zhihu.com/p/622532437?utm_id=0
3.创建UML用例图在 用例图 中,将关联连接形状拖到绘图页上。 将关联形状的一个终结点粘附到执行组件形状上的连接点。 将另一终结点粘附到用例形状上的连接点。 另请参阅 有关用例图 (以及使用 Microsoft Visual Studio 创建用例图) 的过程的详细信息,请转到UML 用例图:指南。https://support.microsoft.com/zh-cn/office/92cc948d-fc74-466c-9457-e82d62ee1298
4.一文带你学会UML用例图腾讯云开发者社区一文带你学会 UML--用例图 用例图的含义 由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。 其中用例和参与者之间的对应关系又叫做通讯关联(Communication Association)。 用例图的作用 用例图是需求分析中的产物,主要作用是描述参与者与和用例之间的关系,帮助开发人员https://cloud.tencent.com/developer/article/1873256
5.uml用例图怎么画?看完你就知道了UML用例图是一种简单表现用户系统交互形式的图示,用于描述系统内用户和与之相关的用例之间的关系,包含系统、参与者、用例和显示这些元素关系等模型,可从用例图中获知系统不同种类的用户和用例,也经常配合其它图表使用。然而uml用例图怎么画呢?跟随迅哥一起来看看吧~~ https://m.liuchengtu.com/tutorial/umlyonglitu.html
6.详解UML用例图画法&用例说明方式人人都是产品经理本文主要结合实际使用,介绍UML用例图的画法以及用例的说明方式。希望对你有所启发。 一、概述 用例图是编写需求说明时经常用到的需求表达方式,用于向开发、测试同事说明需求中用户与系统功能单元之间的关系。但是很多刚接触用例的新人,在准备用例说明时并不清楚参与者与用例之间应该如何表达,网上教程五花八门,但感觉部分https://www.woshipm.com/pmd/3516753.html
7.UML—用例图,UseCase用例图是描述用例、参与者以及它们之间关系的图。 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为。 用例图定义和描述了系统的外部可见行为,是分析、设计直至组装测试的重要依据。 用例图由如下几个概念组成: 参与者actor:角色,系统的用户; https://www.jianshu.com/p/3cde67aed8e9
8.UML图的几种类型,全给你总结在这了!参与者与用例之间的关系,主要包括关联、归纳、包含、拓展和依赖。 UML用例图模板 (2)序列图 序列图通过描述对象之间发送消息的时间顺利显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,序列图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。序列图包括参与者、生命线、激活框https://boardmix.cn/article/umltapy/
9.UML1、1UML UML 面向对象技术教面向对象技术教程程第三章第三章 用例及用例图用例及用例图练习题及参考答案练习题及参考答案练习题:练习题:l试画出学院班级管理系统的用例图。试画出学院班级管理系统的用例图。 用例有:登录;找回密码;查看、修改、删除、录入班级基本用例有:登录;找回密码;查看、修改、删除、录入班级https://www.renrendoc.com/paper/205718851.html
10.UML与Rose建模实用教程PDF下载Java知识分享网本书四部分,共21章,其中,第一部分包括软件工程与面向对象方法、UML概述、Rational Rose概述,第二部分包括UML概念模型、UML中的事物、UML中的关系、用例图、包图、类图、协作图、顺序图、状态图、组件图、活动图、部署图,第三部分包括统一软件开发过程,需求分析,系统分析,系统设计,系统实现、测试及部署,第四部分包括http://www.java1234.com/a/javabook/javabase/2021/0708/20430.html
11.产品经理常用UML图之「用例图」,附8张优质实例图!操作步骤:Step1:新建流程图,添加UML图形或UML用例图到图形区 Step2:拖拽使用UML用例图到图形中使用 Step3:标注内容,建立关系即可如果你想让自己的用例图更美观一些,可以把图形填充不同颜色、相同的图标大小相同(复用功能很好用哦)、上下图形保持对齐等。Step1:新建流程图,添加UML图形或UML用例图到图形区 Stehttps://baijiahao.baidu.com/s?id=1744571690227198548&wfr=spider&for=pc
12.UML建模工具VisualParadigm(VPUML)使用教程:绘制用例图UML建模工具Visual Paradigm(VP-UML)使用教程:绘制活动图 用例图可帮助你创建系统功能模型以及与系统功能交互的角色。你可以在UML建模工具Visual Paradigm中绘制用例图以记录用例的事件流。本文接下来主要介绍如何在UML建模工具Visual Paradigm绘制用例图。 创建用例图 https://blog.51cto.com/quanju/1553433