UML建模语言、设计原则、设计模式( 三 )



  • UML建模语言、设计原则、设计模式

    文章插图
  • 注意:判定活动(即:菱形)不是分支 , 判定活动+控制流才是分支
  • 合并:可以理解为控制权的融合(多个活动的控制权给到了一个活动),就是分支的逆向 。要求:多个控制输入流、一个控制输出流,符号表示如下:

    • UML建模语言、设计原则、设计模式

      文章插图
  • 分叉与会合(都需要同步条参与)
    • 分叉:用于将一个控制流分为两个或多个并发运行的分支,要求:必须是一个控制输入流、两个及以上的控制输出流,符号表示如下:

      • UML建模语言、设计原则、设计模式

        文章插图
    • 会合:用于将两个或多个控制流合并到一起形成一个单向的控制流,要求:多个控制输入流、一个控制输出流 , 符号表示如下:

      • UML建模语言、设计原则、设计模式

        文章插图
    泳道
    • 定义:表明每个活动是由哪些对象负责完成的(换言之:表示活动的发起者是谁 , 对象不一定非要是人 , 可以是系统、会员........),也可以说是:一个对象进行了哪些活动 。当然:可以换个名字就更好理解了,即:分区(一个区域中有哪些活动状态)
    • 泳道分类:水平泳道和垂直泳道,和前面的同步条是一样的,水平和垂直没什么区别,也是画图方向的问题,符号表示如下:

      • UML建模语言、设计原则、设计模式

        文章插图
      • 实例:

        • UML建模语言、设计原则、设计模式

          文章插图
    子图 / 子活动图
    • 在前面的表格中提到过 , 就是动作(活动是动作的集合体,类似Java中的对象 ---抽象---->类,很多动作 ------抽象------>活动),可以理解为:是对某个活动画的补充图 , 只不过这个补充图是较为详细的逻辑表现(类似一个活动需要引入的粗糙点的流程图)
    • 定义:对某个活动进行的续图说明 , 符号表示就是一个倒着的“扫把”(下图这种颜色的图是我在官网下载的文档中嫖的,版本是2.5.1)

      • UML建模语言、设计原则、设计模式

        文章插图
        • 左边活动中有一个倒着的扫把就表示这个活动要引入一个子图,而右边就是引入的子图内容
    • 注意:动作和活动这两个不能说完全等价(钻字眼儿),用上图举例:
      • 如果左边的活动里面的一部分流程描述 / 活动组成内容刚好在另一个真正的活动图中分毫不差地体现了,而左边这个活动需要引入,那么此时就可以说子图就是活动,即:动作等价于活动
      • 如果左边的活动里面需要的部分流程描述 / 活动组成内容没有找到其他活动图来完全贴合其描述,那么就是需要新画一个子图来对左边的活动进行简略描述,继而在左边活动中引入,则:此时子图是动作,而不是真正的活动,即:动作不等价于活动
    扩展区域 / 扩充区 / 扩展区
    • 定义:将一个需要体现在活动图中的循环过程进行提?。ú恍枰逑衷诨疃贾械模?可以直接使用活动节点来略写),有点类似于子图 , 但是扩展区的关键就是提取的是一个活动中的循环过程,但不是把循环过程重新弄成一个活动图,而是就在当前活动图中
    • 符号表示如下(左为简单写法 , 右为完整写法):

      • UML建模语言、设计原则、设计模式

        文章插图
    • 实例:

      • UML建模语言、设计原则、设计模式

        文章插图
    1.2.3、类图、对象图
    定义(人话):就是表示一个类 / 接口的组成结构
    ? 对于属性:看修饰符是什么(public、private、static等)、数据类型是什么、属性名叫什么、是否有默认值
    ? 对于方法:看修饰符是什么(public、private、static等)、返回值是什么、方法名是什么、参数类型和名字是什么

    推荐阅读