UML之3——图(简介) .

来源:互联网 发布:高斯平滑滤波算法 编辑:程序博客网 时间:2024/06/07 06:09
  基本元素描述了事物,关系描述了事物间的关系。在UML中,通过关系把多个事物连接在一起,构成了图。UML共定义了几种图:●类图 ●时序图 ●对象图 ●活动图 ●用例图 ●状态图 ●包图 ●构件图 ●协作图 ●部署图
        大致可以分为以下几类



        为了更好的说明这几种图,同时用UML图来描述一台洗衣机。


        一台洗衣机应该具备的属性:
   品牌,比如海尔。
   模式,比如全自动,半自动。
   序列号,比如AA11111111
   容量,比如5L
   ……
   一台洗衣机操作包括:
   装入衣物
   装入洗衣粉
   开电源
   关电源
   ……
        一台洗衣机的功能:浸泡,洗涤,漂洗,脱水
        人使用洗衣机来洗衣服。

类图:

        类(class):一类或一组具有类似属性和共同行为的事物。

对象图:
        某台具体的洗衣机就是洗衣机类的一个对象。比如:小明家的海尔洗衣机

用例图:
       用例(use case):从用户的观点对系统行为的一个描述。用来从用户的观察角度收集系统需求。用例图表达系统的外部事物(参与者)与系统的交互,它表达了系统的功能,即系统所提供的服务。整个软件项目的开发可以采用Use Case 驱动的方式进行。

状态图:
        在任一给定的时刻,一个对象总是处于某一特定的状态。状态图主要表现一个对象所经历的状态序列,引起状态或活动转移的事件,以及因状态或活动转移而伴随的动作。

时序图:
        在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。时序图表达的正是这种基于时间的动态交互。重点是完成某个行为的对象类和这些对象类之间所传递的消息的时间顺序。

时序图的图例:

        洗衣机的例子:
    定时器(timer)
    注水的进水管(water piper)
    装衣服的洗涤缸(drum)

        洗衣过程:

    1. 浸泡开始前,先通过进水管向洗涤缸中流水;

    2. 洗涤缸保持5分钟静止状态;

    3. 在浸泡之后,停止注水;

    4. 洗涤开始的时候,洗涤缸往返旋转15分钟;

    5. 洗涤完毕后,通过排水管排掉洗涤后的水;

    6. 洗涤缸停止旋转;

    7. 漂洗开始时,重新开始注水;

    8. 洗涤缸继续往返旋转洗涤;

    9. 15分钟后停止向洗衣机中注水;

    10. 漂洗结束时,通过排水管排掉漂洗衣物的水;

    11. 洗涤缸停止旋转;

    12. 脱水开始时,洗涤缸顺时针方持续旋转5分钟;

    13. 脱水结束时,洗涤缸停上旋转;

    14. 洗衣过程结束。

 


协作图:
        协作图通过对象之间的连接和它们相互发送的消息来显示参与交互的对象。


        协作图的图例

PS:交互图的应用:
        时序图和协作图都是交互图,它们既是等价的,又是有区别的。
        时序图和协作图都能等价的表现系统运行中对象通过消息发生的交互行为。
        时序图表示了时间的消息序列,便于分析交互的时序,但没有表示静态对象关系,时序图可以有效地帮助人们观察系统的顺序行为。
        协作图着重表示一个协作中的对象之间的联系和消息。
活动图:
        活动图实质上是一种流程图,只不过表现的是从一个活动到另一个活动的控制流。活动图描述活动的序列,并且支持对带条件的行为和并发行为表达。


构件图:
       组件图代表系统的一个物理实现块,代表逻辑模型元素如类、接口的物理打包。

部署图:
       显示基于计算机系统的物理体系结构。