UML中的状态图、交互图、类图

1.状态图

    UML中状态图侧重于描述某个对象在生命周期中的状态变化,包括对象在各个不同的状态间的跳转以及触发这些跳转的外部事件。状态图的组成元素包括状态、事件、转换、活动、动作。在实际的项目中,并不是所有的系统都必须要创建状态图,一般只对复杂的对象使用状态图。状态图中的状态转移可以由三部分组成:事件[条件]/动作

    事件导致对象从一个状态变换到另一个状态,但有时也没有事件而自动发生对象的状态转移,这时对象可能在一个状态下完成某些活动后自动转移到其他状态。上面蓝色的括号中的条件是控制转移发生的条件,如:借书[证件有效]/出库。

    活动图和状态图的区别:在分析用例、理解业务流程时、处理多线程应用等情况下,一般使用活动图;活动图描述的是从活动到活动的控制流。在描述一个对象在生命周期中的状态变化时,使用状态图;状态图描述的是某个对象的状态到状态之间的转移。

2.交互图     

    交互图用于系统的动态建模,它描述的是对象之间的交互过程。UML提供了另种交互图:一种是按时间顺序反映对象交互关系的顺序图(上篇文章已经介绍过);另一种是集中反映各个对象之间通信关系的合作图。

    交互图主要包括对象和消息两类元素,创建交互图的过程实际上就是向对象分配责任的过程。在顺序图中重点反映的是消息的时间顺序,而在合作图中,重点反映的是对象之间的关系。下面是Android多线程断点续传下载器中的UML协作图(合作图):

     如果已经绘制了对象之间的Link线,那么想要添加ForwardStimulus或ReverseStimulus的话,可以首先选中要添加的那个XXStimulus,然后单击已经绘制好的Link线,即可添加上。然后双击已经绘制的XXStimulus,即可在矩形框中添加相关说明信息或者调用信息。


3.类图

    类图描述系统的静态结构,表示系统中类与类之间的关系。类之间的关系有关联、聚合、组合、泛化等。类图中的类由一个矩形表示,该矩形被分为3个部分,最上面的是类名,中间部分是类的属性,最下面的部分是类的操作。类的命名最好是使用应用领域的术语,以便于开发人员与用户的理解和沟通。类的属性和操作是可以省略的。

    关联关系:类之间的一种连接联系,可以是双向的也可以是单向的。两个有关联的类之间可以相互发送消息。它用一根连接类的实线表示,如果是双向关联的话,两端是没有箭头的。如果关联是双向的,可以使用黑三角表示某一个关联的方向。如果一个关联需要记录一些信息,可以引入一个关联类来记录这些信息,关联类通过一根虚线与关联连接。

    聚合关系:表示类之间具有整体和部分的关系。如果一个整体不存在或者被撤销了,它的部分还在,这种聚合用空心菱形表示。


    组合关系:也是一种整体和部分的关系。如果整体不存在了,部分也要随之消失。它用实心菱形表示。

     泛化关系:是一般与特殊的关系,也叫做继承关系。子类除具有父类的属性和操作外,还可以有一些自己特殊的属性和操作。








    









展开阅读全文

没有更多推荐了,返回首页