您的位置:首页 > 其它

UML——活动图,状态图

2015-11-11 19:05 176 查看
为了能更好的使用UML对软件系统建模,需要从系统的结构和行为两个方面来描述系统。其中的行为是通过行为图和交互图来描述的。UML中的行为图包括活动图和状态图。

状态图

状态图主要用来描述一个特定对象的所有可能状态及由于各种事件的发生而引起的状态之间的转移。对象在事件的触发下,从一个状态变成另一个状态。大多数面向对象技术都使用状态图来描述对象在他的生命周期中状态的变化过程。状态图虽然很有用,但是不要对系统中的每个类都画出它的状态图,这样做会花费大量的时间和精力,而且也没必要。事实上,开发人员往往只关心某些关键类的行为,此时为这些类建立状态图可以帮助理解所研究的问题。

状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。

状态机:就是状态转移图。举个最简单的例子。人有三个状态健康,感冒,康复中。触发的条件有淋雨(t1),吃药(t2),打针(t3),休息(t4)。所以状态机就是健康-(t4)->健康;健康-(t1)->感冒;感冒-(t3)->健康;感冒-(t2)->康复中;康复中-(t4)->健康,等等。就是这样状态在不同的条件下跳转到自己或不同状态的图。



活动图

活动图类似流程图,不同之处在于它支持并行活动,是支持多线程编程的有力工具。它是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。



【机房收费系统活动图】



看到这两个图,大家会问这两种图有啥区别与联系呢?
区别:



联系:
对同一个行为,可以使用状态图和活动图从不同的角度来描述。
行为图主要用于分析、设计阶段描述对象的行为。一般状态图适合描述单个对象的状态变化情况。活动图则适合描述一个工作过程,多个对象之间的合作。活动图描述的过程一般要跨越多个用例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: