如何绘制 UML 活动图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何绘制 UML 活动图相关的知识,希望对你有一定的参考价值。
第一步,定义活动图的范围
首先应该定义您要对什么建模。单个用户案例力?一个用户案例的一部分?一个包含多个用户案例的商务流程?一个类的单个方法?一旦您定义了您所作图的范围,您应该在其顶部,用一个标注添加标签,指明该图的标题和唯一的标示符。您有可能也想要包括该图的时间甚至作者名。
回页首
第二步,添加起始和结束点
每个活动图有一个起始点和结束点,因此您也要马上添加它们。在 《UML精粹》(UML Distilled)(参见 参考资料),Fowler 和 Scott认为结束点是可选的。有时候一个活动只是一个简单的结束,如果是这种情况,指明其唯一的转变是到一个结束点也是无害的。这样,当其他人阅读您的图时,他或她知道您已经考虑了如何退出这些活动。
回页首
第三步,添加活动
如果您正对一个用户案例建模,对每个角色(actor)所发出的主要步骤引入一个活动(该活动可能包括起始步骤,加上对起始步骤系统响应的任何步骤)。如果您正对一个高层的商务流程建模,对每个主要流程引入一个活动,通常为一个用户案例或用户案例包。最后,如果您正对一个方法建模,那么对此引入一个活动是很常见的。
回页首
第四步,添加活动间的转变
我的风格总是应该退出一个活动,即使它是转变到一个结束点。一旦一个活动有多个转变时,您必需对每个转变加以相应标示。
回页首
第五步,添加决策点
有时候,您所建模的逻辑需要做出一个决策。有可能是需要检查某些事务或比较某些事务。要注意的是,使用决策点是可选的。例如,在 图 1中,我可以只是简单地将“接受”和“拒绝”两个转变直接接到“在大学报名(Enrollin University)”活动。"
回页首
第六步,找出可并行活动之处
当两个活动间没有直接的联系,而且它们都必需在第三个活动开始前结束,那它们是可以并行运行的。在 图 1中,您看到是有可能“参加简要介绍(attendoverview)”和“报名研讨班(enroll in seminars)”可以按任意次序进行,但是它们都得在您结束整个流程前完成。
图 1.一个在学校首次报名的 UML 活动图
UML活动图类似与流程图,将一个业务的过程描述出来。
如下图,可参考trufun.net的在线帮助,中文uml帮助手册,有uml案例
本回答被提问者采纳正确的序列和活动图 (UML)
【中文标题】正确的序列和活动图 (UML)【英文标题】:Correct sequence and activity diagrams (UML) 【发布时间】:2014-03-02 19:13:16 【问题描述】:我正在处理我教科书中的练习题,并希望你们能“评分”我对这两个问题的答案。我附上了一张带有问题和图表的图片,我将在下面重新输入问题:
1) 画出用户用来取款的应用程序的时序图。在此过程中,应用程序向 Web 服务发送两件事。一、用户信用卡信息二、索款/新余额。
2) 绘制某人注册网站的活动图。他们必须首先请求一个用户名,如果该用户名没有被拒绝,他们必须接下来提交一封电子邮件。如果该电子邮件没有被拒绝,那么他们会收到一封确认电子邮件。在任何拒绝或发送确认电子邮件后,应用程序将关闭。
【问题讨论】:
【参考方案1】:第一个作品真的很不错!
通知中只有一些变化:
Quit
显示为一个大字母大小的实心黑色圆圈。你应该写 Quit 或 End 或类似的东西。
初始节点与开始点相同。用词开始或类似的东西。 Submit Name
是一个动作(可以将其显示为圆形,工具将它们显示为圆形块),应该在初始节点之后进行。
您不需要显示时间方向 - 向下是默认时间方向。当然,您可以将其作为评论,但您不必这样做。
至于内容,它是完全正确的。你可以自豪 - 这是我第一次在这里看到正确内容的评估图表。
请下次使用一些图表工具 - 可怜我们的眼睛:-)
【讨论】:
【参考方案2】:活动图基本上是一个流程图,表示从一个活动到另一个活动的流程。系统的活动可以描述为系统的操作。它表示活动的顺序。
控制流从一个操作转移到另一个操作。此流程可以是顺序的、分支的或并发的。这就是它与流程图的不同之处。它包括这些附加功能分支、并行流。 在绘制图表之前,您必须确定什么是活动、关联和条件。在这里 我确定的活动是
用户将输入一个用户名,它应该验证
用户将输入一个电子邮件,它应该验证
邮件需系统确认
我假设如果用户输入了无效的姓名或无效的电子邮件,系统将显示一条消息并考虑用户的选项,退出系统。 与电子邮件一样,如果电子邮件未确认,则用户可以选择输入新电子邮件或通过确认继续当前电子邮件。
绘制活动图时还要使用起始和终止首字母
【讨论】:
以上是关于如何绘制 UML 活动图的主要内容,如果未能解决你的问题,请参考以下文章