UML九种图概述

来源:互联网 发布:淘宝信用卡代付套现 编辑:程序博客网 时间:2024/04/30 21:47

  UML中最重要的就是那九种图了,下面我们来总结一下每种图的基本知识。

  

  一、用例图

    要素:角色(Actor)、用例(Use Case)、关系

    用例图的关联关系又分为四种,如下图

    

     关系:关联关系(Association)、包含关系(Include)、扩展关系(Extend)、泛化关系    (Generalization)

    

     用例图示例:

    


    二、类图对象图对比

      类图:是描述类、接口、协作以及他们之间关系的图,用来显示系统中各个类的静态结构。

      要素:元素:类(Class)、接口(Interface)、协作(Collaboration)、关系

      类图的关系又分为四种,如下图:

       

      关系:依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系          (Realization)

       

      对象图:描述的是参与交互的各个对象在交互过程中某一时刻的状态。


      类图与对象图的相同点

         1、类图和对象图都用来反应系统的静态过程。

         2、对象图可看作类图在某一时刻的实例。

         3、对象图的符合和关系与类图相同。

     

类图与对象图的不同点

            

          

    三、 活动图状态图的对比

      活动图:描述活动的顺序,展现从一个活动到另一个活动的控制流。

元素有动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流。


      状态图:是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及事件发生时       状态的转移条件。

      元素:状态、转换、事件和活动。

      状态图与活动图的联系:

                       


  状态图与活动图的区别:

                                    


    四、序列图协作图对比

      序列图:描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。
      元素:对象(Objce)、生命线(Lifeline)、消息(Message)和激活(Activation)。


      协作图:描述了和对象结构相关的信息。协作图的一个用途是表示类操作的实现。
      元素:对象(Object)、链(Link)和消息(Message)。


      序列图和协作图的联系:         

         a、两种图都规定责任
         b、两种图都支持消息
         c、两种图都是衡量工具        


      图和协作图的区别:

               


    五、部署图构件图对比

      部署图:描述了运行软件的系统中硬件和软件的物理结构。

      元素:节点(Node)和关联关系(Association)

      部署图中每个配置必须存在于某些节点上。部署图也可以包含包或子系统。


      构件图: 描述了软件的各种组件和它们之间的依赖关系。

      元素:组件(Component)、接口(Interface)和依赖(Dependency)。

      每个组件实现一些接口,并使用另一些接口。


      部署图和构件图的联系:

        部署图和构件图合称为实现图,都从一个非常高的层次上描述系统。                     

 

      部署图和构件图的区别:

 


包图(不属于UML九种图的范围)

    什么是包?

      包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。

    包的作用?

     1)对语义上相关的元素进行分组; 
      2)定义模型中的“语义边界”; 
      3)提供配置管理单元; 
      4)在设计时,提供并行工作的单元; 
      5)提供封装的命名空间,其中所有名称必须惟一


    包与包之间的关系:

           

    包图:由包和包之间的关系组成。

    元素:可以拥有其他元素,比如类、接口、组件、节点、协作、用例和图,甚至可以是其他包。

    包图示例:

                 


    通过对UML的学习,我认识到了UML的强大,希望在以后的学习过程中能对UML有更深层次的理解。



1 0
原创粉丝点击