UML建模(六)--活动图

UML建模(六)--活动图,第1张

活动图是一种流程图,用来描述活动的序列,从一个活动到另一个活动的控制流。

活动图的作用:描述用例,描述类的 *** 作。

1、活动图和状态

活动图和状态图都是状态机的一种表现形式。都是对系统中动态活动进行建模。

两种图的不同:

2、活动图和流程图

相似:都是一种流程图。

不同

图符表示:

图符表示:

图符表示:

空形菱形表示

粗线条表示同步条。

在含有泳道的活动图中,清晰的表明了每个活动的执行对象。在活动图中每个活动只可以属于一个泳道。

活动图中可以将活动涉及到得对象通过依赖将其连接在状态或者活动上。对象用矩形框表示

1、管理员添加和删除管理员的活动图:

2、查询充值金额活动图:

3、结账活动图:

1、《 UML图之四——活动图 》

第一步,定义UML活动图的范围

首先应该定义您要对什么建模。单个用户案例力?一个用户案例的一部分?一个包含多个用户案例的商务流程?一个类的单个方法?一旦您定义了您所作图的范围,您应该在其顶部,用一个标注添加标签,指明该图的标题和唯一的标示符。您有可能也想要包括该图的时间甚至作者名。

第二步,添加起始和结束点

每个UML活动图有一个起始点和结束点,因此您也要马上添加它们。在《UML精粹》(UMLDistilled)(参见参考资料),Fowler和Scott认为结束点是可选的。有时候一个活动只是一个简单的结束,如果是这种情况,指明其唯一的转变是到一个结束点也是无害的。这样,当其他人阅读您的图时,他或她知道您已经考虑了如何退出这些活动。

第三步,添加活动

如果您正对一个用户案例建模,对每个角色(actor)所发出的主要步骤引入一个活动(该活动可能包括起始步骤,加上对起始步骤系统响应的任何步骤)。如果您正对一个高层的商务流程建模,对每个主要流程引入一个活动,通常为一个用户案例或用户案例包。最后,如果您正对一个方法建模,那么对此引入一个活动是很常见的。

第四步,添加活动间的转变

我的风格总是应该退出一个活动,即使它是转变到一个结束点。一旦一个活动有多个转变时,您必需对每个转变加以相应标示。

第五步,添加决策点

有时候,您所建模的逻辑需要做出一个决策。有可能是需要检查某些事务或比较某些事务。要注意的是,使用决策点是可选的。例如,在图1中,我可以只是简单地将“接受”和“拒绝”两个转变直接接到“在大学报名(EnrollinUniversity)”活动。"

第六步,找出可并行活动之处

当两个活动间没有直接的联系,而且它们都必需在第三个活动开始前结束,那它们是可以并行运行的。在图1中,您看到是有可能“参加简要介绍(attendoverview)”和“报名研讨班(enrollinseminars)”可以按任意次序进行,但是它们都得在您结束整个流程前完成。到这里UML活动图的绘制就基本完成了。

近期写文档逐渐考虑规范化,带上UML图可让开发方案更为直观,也可理清需求

1,安装画图工具Rational Rose 2007:

https://blog.csdn.net/lovelry/article/details/120538050

2,活动图定义

活动图可以在分析系统业务时用来演示业务流,也可以在收集系统需求的时候显示一个用例中的事件流。活动图显示了系统中某个业务或者某个用例中,要经历哪些活动,这些活动按什么顺序发生。

3,创建活动图

(1) 用于分析系统业务:在浏览器中右击Use Case视图,选择new→activity diagram。

(2) 用于显示用例中的事件流:在浏览器中选中某个用例,然后右击这个用例,选择new→activity diagram。

4,增加泳道

泳道是框图里的竖段,包含特定人员或组织要进行的所有活动。

可以把框图分为多个泳道,每个泳道对应每个人员或组织。

在工具栏选择swimlane按钮,然后单击框图增加泳道,最后用人员或组织给泳道命名。

注意:先创建一个活动图,才会有swinlane

5,增加活动并设置活动的顺序

(1) 在工具栏中选择Activity 按钮,单击活动图增加活动,命名活动。

(2) 在工具栏中选择Transition按钮,把箭头从一个活动拖向另一个活动。

6,增加同步

(1)选择synchronization工具栏按钮,单击框图来增加同步棒。

(2)画出从活动到同步棒的交接箭头,表示在这个活动之后开始并行处理。

(3) 画出从同步棒到可以并行发生的活动之间的交接箭头。

(4) 创建另一同步棒,表示并行处理结束。

(5) 画出从同步活动到最后同步棒之间的交接箭头,表示完成所有这些活动之后,停止并行处理。

以上来源: https://blog.csdn.net/gz153016/article/details/49641847

网上找一个完整的流程图

7,个别符号理解

自身转移(Self-Transitions):状态可以有返回自身状态的转移,称之为自身转移;2S后,Poll input事件执行,转移到自己状态【Waiting】

8,活动图和时序图作用对象的区别

活动图泳道的粒度通常比较大,是一个服务,角色,系统;

时序图对象生命线的粒度比较小,通常是一个类

状态和活动(state activity):状态是一种静止的概念(名词),activity是运动的概念(动词)。可以是由activity获得state,也可以根据state去activity某个 *** 作,比如通过增删改 *** 作(activity)获取到设备信息(state)。通过设备信息去进行网关同步(activity)

状态图

状态(state)是指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态发生变化。

活动图和状态图的比较

状态图和活动图元素很像,基本上就少了泳道

活动图粒度大些:

--描述并行的过程或这行为

--描述一个算法

--描述一个跨越多个用例的活动

状态图粒度小些描述了一个具体对象的可能状态以及他们之间的转换。

状态图的一个状态可以将多个行为表示出来

状态图示例:

可参考其他文章: https://blog.csdn.net/xuxixixi_/article/details/120816384

https://www.cnblogs.com/jingwhale/p/4230235.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11894261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存