• UML统一建模语言


    UML包含3种构造块:事物、关系、图。

    • 事物:模型中代表性成分的抽象
    • 关系:把事物结合在一起
    • 图:聚集了相关的事物

    事物

    结构事务:模型的静态部分,包括类、接口、协作、用例、主动类、构件、制品、结点
    行为事物:模型的动态部分,包括交互、状态、活动
    分组事物:模型的组织部分,包括包
    注释事物:模型的解释部分

    关系

    依赖:A变化会影响B
    关联:描述了一组链,链是对象之间的连接。两个类之间可以有多个不同角色标识的关联。

    • 聚集:部分和整体生命周期不一致。整体消失了,部分仍然存在
    • 组合:部分和整体生命周期一致。整体消失了,部分也要消失

    泛化:子元素共享父元素的结构和行为,父类泛化子类,子类继承父类
    实现:一个类元指定由另一个类元保证执行的契约
    关联的多重度:一个类的实例能够与另一个类的多少个实例相关联

    • 静态建模:类图、对象图、用例图
    • 动态建模:序列图、通信图、状态图、活动图
    • 物理建模:构件图、部署图

    序列图、通信图被称为交互图。
    类图:一组对象、接口、协作和它们之间的关系
    用例图:一组用例、参与者已经它们之间的关系
    对象图:某一时刻一组对象以及它们之间的关系
    序列图(顺序图):以时间顺序组织对象之间的交互活动

    类图

    描述一组对象、接口、协作和它们之间的关系。
    类图包括:

    • 接口
    • 协作
    • 依赖、泛化和关联关系

    类中权限修饰符包括:

    • +:public公有的
    • -:private私有的
    • #:protected受保护的
    • ~:package包的


    类图用于对系统的静态设计视图建模,支持系统的功能需求。以下三种方式使用类图:

    • 对系统的词汇建模
    • 对简单的协作建模
    • 对逻辑数据库模式建模

    对象图

    展示某一时刻一组对象以及它们之间的关系。
    给出系统的静态设计视图和静态进程视图。
    描述对象的静态快照。对象是类图中所建立事物的实例。
    对象图包括对象和链。

    用例图

    用例图用于对系统的静态用例视图建模,支持系统的行为。两种使用方式:

    • 对系统的语境建模
    • 对系统的需求建模

    展现一组用例、参与者以及它们之间的关系。
    参与者:系统交互的外部实体,包括使用者、与系统交互的外部系统、基础设备。
    用例:一个类,代表一类功能而不是使用该功能的某一具体实例。
    关联:参与者和参与者之间。
    包含、扩展:用例和用例之间。
    扩展:一个用例执行的时候,可能会发生一些特殊的情况或可选的情况,这种情况就是这个用例的扩展用例。
    泛化:子类继承父类,父类泛化子类。

    交互图

    对系统的动态方面建模。
    有一组对象和它们之间的关系组成,包含它们之间可能传递的消息。
    表现为序列图、通信图、交互概览图和计时图

    • 序列图:强调消息时间顺序
    • 通信图:强调接收和发送消息的对象的结构组织

    一般包含对象、链和消息

    序列(顺序)图

    强调对象之间信息的时间顺序,用于展示系统中一个用例和多个对象的行为。
    是场景的图形化表示,描述以时间顺序组织的对象之间的交互活动。

    • 参加交互的对象放在图的上方,水平排列
    • 通常,发起交互的对象放在左边,下级对象依次放在右边
    • 1.2.1:create():发送消息调用SR的create()方法,该方法须在SR中实现。

    序列图有对象生命线:垂直的虚线,表示对象在一段时间内存在。
    序列图有控制焦点:瘦高的矩形,表示一个对象执行一个动作所经历的时间段。

    通信(协作)图

    强调收发消息的对象的结构组织。展现对象之间的消息流及其顺序。

    • 通信图有路径:链的末端附上一个路径构造型。
    • 通信图有顺序号:消息前加数字前缀。

    序列图和通信图是同构的,可以相互转换。
    image.png

    状态图

    展现一个状态机:由状态、转换、事件和活动组成。
    关注系统的动态视图。对反应型对象建模。描述一个对象在多个用例之间的行为。
    状态:系统的行为模式,规定系统对事件的响应方式。

    • 响应包括:做动作、改变状态

    状态图定义的状态有:初态、终态、中间状态

    • 初态:·黑圆点
    • 终态:黑圆点外加一个圆,可以没有,也可以有多个。
    • 状态:圆角四边形,必有状态名,可选状态变量、可选活动。

    状态中活动表的语法格式:事件名(参数表)/动作表达式
    事件:引起系统做动作或转换状态的控制信息:事件(监护信息)/动作

    • 事件触发转换(迁移)
    • 如果没有事件名,则会自动触发转换。
    • 转换包括两个状态:源状态、目标状态。

    动作可以在状态内执行,也可以在状态转换时执行。
    三种标准事件:entryexitdo

    • entry:进入状态,立即执行
    • exit:退出状态、立即执行
    • do:内部活动、占有限时间、可以中断

    活动图

    特殊的状态图:展示系统内从一个活动到另一个活动的流程。
    专注于系统的动态视图,强调对象间的控制流程。
    包括:活动状态、动作状态、转换、对象。
    常用方式:

    • 对操作流建模
    • 对操作建模

    构件图


    展现了一组构件之间的组织和依赖。
    构件图专注于系统的静态实现视图。
    将构件映射为一个或多个类、接口和协作。
    image.png

    部署图

    面向对象系统的物理方面建模,展现制品的配置。
    对静态部署视图建模,与构件图相关。
    展现系统的软件和硬件的关系,在实施阶段使用。

  • 相关阅读:
    前端环境 本机可切换node多版本 问题源头是node使用的高版本
    KT148A语音芯片按键版本一对一触发播放功能描述_V4
    分布式/微服务---第九篇
    传感器特点汇总
    动手学深度学习—使用块的网络VGG(代码详解)
    编程面试_字符串
    从源码里的一个注释,我追溯到了12年前,有点意思。
    3D激光slam:LeGO-LOAM---基于广度优先遍历的点云聚类算法及代码分析
    离线安装python
    [暑假]Vue框架里面 一些属性和配置项的作用
  • 原文地址:https://blog.csdn.net/m0_49303993/article/details/134483255