浅谈UML——九种图(二)

前言

   看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语。每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用。那么如何阅读?如何绘制?请看下去:

1 行为图

   用来描述系统的动态模型和对象之间的关系。

1.1 状态图

   类定义了对象的共性,每一个对象实例则表述了个性,状态描绘了对象的动态生命周期。举个例子:“人”就是一个类,而“你”“我”“他”等都是“人”这个类的一个实例,“站着”“躺着”等都是对象的一个状态,从不同角度描述,就可能有多种状态。

   在对象整个周期中,它的状态是会发生变化的,而状态就是指在对象生命周期中满足某些条件、执行某些活动或等某些事件的一个条件和状况。 

 


1.2 活动图

   活动图强调了活动到活动的控制流,是一种表述过程机理、业务 过程以及工作流的技术 ,它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。它可以用来和传统的流程图相比,十分相似。但它与流程图的主要区别在于,活动图能够支持并发行为。




1.3 交互图

1.3.1 顺序图(时序图)

   描述了按照时间的先后顺序对象之间交互动作过程。主要强调消息的时间顺序,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,教下级对象依次放在右边。然后把这些对象发送和接收的消息沿着Y轴方向按时间顺序从上到下放置,方便阅读。

          


1.3.2 合作图(协作图)

   协作图强调参加交互的对象的组织,在协作图中,首先将参加交互的对象作为图的顶点,然后用这些对象之间的边线表示为图的边,再使用对象发送和接收的消息来修饰这些边。

                                          顺序图和协作图对比

相同点 对同一个例子(对象一样)
不同

1、协作图可以看到组织关系。

2、顺序图可以看到生命周期。

3、侧重点不同。

a、顺序图侧重时间顺序。

b、协作图侧重对象之间的关系。

联系

1、二者在语义上等价。

2、二者可以相互转化。


2 实现图

2.1 构件图

   在面向对象软件开发范型中,类是最为基础的“模块化”元素,它封装了属性和成员方法,就像是物理世界的“分子”。但是,对于复杂的软件系统来说,往往拥有成百上千的各种类,因此,对于系统理解而言、复用而言,类的粒度太小了,因此引入了一个较粗粒度概念——“构件”,是一种泛指概念。

 


构件和类的对比
表示逻辑抽象,可以有直接的属性和操作。
构件 表示物理抽象,一般情况下,构件一般只拥有只能通过其接口访问的操作。



2.2 部署图

   部署图和构件图都是对系统的物理方面建模的重要手段,它们之间最大的不同在于:构件图用来帮助开发人员了解系统的物理组织结构,部署图则用来帮助安装、部署人员掌握系统的拓扑结构。部署图的粒度比构件图的粒度大。

结语

     通过学习UML,对面向对象的建模有了一定的了解,UML是我们从业余向专业的一个转折点,深刻的明白了,图的重要性,对于以后的C#、设计模式的学习有了一定的帮助。接下来加油!菜鸟一枚,如若有不合适的地方,望大神斧正!

                                  若安好,便是晴!

posted @ 2015-10-20 09:23  小小小同  阅读(167)  评论(0编辑  收藏  举报