UML

。_饼干妹妹 提交于 2020-02-06 21:53:05

UML即Unified Model Language,是一种建模语言,也是标准建模语言

工具安装:

 

  https://sourceforge.net/projects/staruml/files/staruml/5.0

UML中的图可以分成两大类

  ·结构图:UML结构图表示系统的静态方面,描述系统的主要结构因此而稳定的那部分,静态结构图主要包括

    1.类图:类图描述系统中的类,以及各个类之间的关系

      class Person{   private int id;   private String name;   private int age;}

       public String getName(){    return name;   }      public int getAge(){    return age;   }      public int getId(){     return id;   }}

      

      类之间的关系:

      1、泛化关系(Generalization)

           说明:这种关系就是面向对象语言中的继承关系,逻辑上可以用"is a"表示。

            代码体现:子类继承父类。

            UML符号:一条实线+空心箭头

      2、实现关系(Realization)

           说明:和泛化关系相似,逻辑上也是用"is a"表示。区别在于实现关系继承一个抽象类(abstract、interface),  而泛化关系继承个具体类。 

         代码体现:实现接口或继承某个抽象类。

              UML符号:一条虚线+空心箭头。

      3、组合关系(Composition):整体和部分是强依赖关系,即使整体不存在了,部分也不存在了

            说明:是整体与部分的关系,但部分不能脱离整体而独立存在。逻辑上能用"has a"表示。

               代码体现:成员变量。

               UML符号:一条实线+实心菱形。

      4、聚合关系(Aggregation):整体和部分不是强依赖关系,即使整体不存在了,部分依然存在

             说明:是整体与部分的关系,部分能脱离整体而独立存在。逻辑上能用"has a"表示。

                代码体现:成员变量

                UML符号:一条实线+空心菱形

      5、关联关系(Association

             说明:是整体与部分的关系。逻辑上能用"has a"表示。

                 代码体现:成员变量。

                 UML符号:双向关联,一条实线或一条实线+两个箭头;单向关联,一条实线+一个箭头。

      6、依赖关系(Dependency)

             说明:是一种使用关系,即一个类的实现需要另一个类的协助。逻辑上能用"use a"表示。尽量不要使用双向依赖。

                 代码体现:局部变量、方法的参数和静态方法的调用。

                 UML符号:一条虚线+箭头。

    

    2.对象图:对象图与类图类似,它是类图的实例化,显示类的多个实例化,不是实际的类,描述对象间的关系,用来建立系统原型
    3.组件图:组件图用来描述系统的物理结构及相互间的关系,模型化和文档化了一个系统的架构
    4.部署图:
部署图用来建模系统的物理部署,如计算机和设备,及它们之间的关联关系

  ·行为图:UML中的行为图主要包括:

      1.用例图:用例图描述角色以及角色与用例之间的连接关系。说明使用这个系统的人都有谁,以及这些人使用这个系统能做些什么

           ·用例元素包括;角色(使用者),用例(实现的功能),关系(关联,依赖,泛化,实现)

 

    

 

 

    2.时序图:时序图用来显示参与者执行某项功能时所要经历的时间顺序

     怎么画虚线?先正常的画好实现,然后,在右边调整为return,就是虚线啦

    3.协作图:协作图与时序图类似,也是一种交互图,如果强调时间顺序,就使用时序图,强调上下级关系,就选择协作图。

      

 

 

    4状态图:状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件

      

 

 

 

 

 

 

    5活动图:活动图用来描述一个系统中的控制流

     

 

 

 

额外添加一个图:泳道图

  泳道是将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。

  除了以上的对线性流程进行分区以外,使用泳道表示法可以更清晰地表示并发。

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!