UML学习笔记&期末复习

image.png

学习地址:https://www.w3cschool.cn/uml_tutorial/

介绍

概念

  • UML 是 OMG 在1997年1月提出了创建由对象管理组和 UML1.0 规范草案;
  • UML 是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言
  • UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现;
  • UML 是不同于其他常见的编程语言,如 C + +,Java中,COBOL 等,它是一种绘画语言,用来做软件蓝图;
  • UML 不是一种编程语言,但工具可用于生成各种语言的代码中使用 UML 图;
  • UML 可以用来建模非软件系统的处理流程,以及像在一个制造单元等

软件开发的时候,系统设计师/系统架构创师给出UML设计图,程序员将来要根据UML设计图进行编码/开发。

基本元素

三个基本模块:事务,关系,图。

  • 四种事务

    1. 结构事务:类,接口,协作,用例,活动类,组件,节点。
    2. 行为事务:交互,状态机。
    3. 分组事务:包
    4. 注释事务:注释。
  • 四种关系

    依赖,关联,实现,泛化

  • 十种图
    用例图,类图,对象图,包图,部署图,活动图,状态图,序列图,协作图,组件图

事务

结构事物,行为事物,分组事物,注释事物

结构事务

结构事物是模型中的静态部分,用以呈现概念或实体的表现元素

  • 类,Class

image.png

  • 接口,Interface

image.png

  • 协作,Collocation

image.png

  • 用例,Use Case

image.png

  • 组件,Component

image.png

  • 节点,Node

image.png

行为事物

行为事物指的是 UML 模型中的动态部分,代表语句里的 “动词”,表示模型里随着时空不断变化的部分,

  • 交互

image.png

  • 状态机

image.png

分组事物

可以把分组事物看成是一个"盒子",模型可以在其中被分解。目前只有一种分组事物,即包(package)。结构事物、行为事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。

image.png

注释事物

注释事物可以被定义为一种机制来捕捉UML模型元素的言论,说明和注释。注释是唯一一个注释事物。

image.png

关系

显示元素是如何彼此相关联,此关联描述的一个应用程序的功能

依赖

image.png

协作

image.png

泛化

泛化可以被定义为一个专门的元件连接关系与一个广义的元素,
它基本上描述了在对象世界中的继承关系,是一种一般化-特殊化的关系;
image.png

实现

image.png

image.png

用例图

用例图(Use Case Diagram):站在系统用户(系统角色)的角度分析系统存在哪些功能。

image.png

组成:

  • 参与者
  • 系统边界
  • 用例
  • 关联

类图

类图(Class Diagram):描述类的信息(包括属性、方法),以及类和类之间的关系信息。
image.png
image.png

组合关系和聚合关系:

  • 处于聚合关系的两个类生命周期不同步,则是聚合关系;
  • 处于组合关系的两个类的生命周期同步;
    • 聚合关系,当A创建的时候,B不一定创建;当A消亡时,B不一定消亡。
      class A {private B;} class B {...}
    • 组合关系,当创建一个A对象时,也会创建一个B对象;当A对象消亡时,作为A的属性的B对象也会消亡。
      class A {private B b = new B();} class B {...}

image.png

时序图

时序图(Sequence Diagram):描述程序的执行过程,方法的调用过程,方法的返回值等信息。(程序是一步一步怎么执行的,怎么调用的。)
image.png

协作图

也称为通信图,描述了对象与对象之间的协作/合作关系
image.png

组成:

  • 对象:对象,即类的实例,是为了共同完成某个目标的群体,通信图中主要描述在完成目标过程中,对象所参与的那部分活动。
  • 链:链由一个或多个相连的线(直线或弧线)形成,链的两端是消息发送者和消息接收者,并且消息发送者与消息接收者可以是一样的。
  • 消息
    • 简单消息:指示消息类型未知或不重要的消息,可默认都使用简单消息替代。
    • 同步消息:表示前一个消息处理完成后才能处理下一个消息。
    • 异步消息:表示处理流不需要等到消息完成或传递反馈后才继续执行。
    • 反身消息:对象自身内部的消息处理。

image.png

交互图中的时序(顺序)图和协作图的区别:

  • 协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。
  • 顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。
  • 顺序图按照时间顺序布图,而协作图按照空间组织布图。
  • 顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

活动图

能够捕捉到该系统的动态行为,用来显示消息流从一个活动到另一个活动图。
image.png

状态图

主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件。
状态图可以捕获对象、子系统和系统的生命周期,可以告知一个对象可以拥有的状态,并且事件(如消息的接收,时间的流逝、错误、条件为真等)会怎样随着时间的推移来影响这些状态。

image.png

组件图

又称为构件图,描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。
组件图 = 构件 + 接口 + 关系 + 端口 + 连接器
组件图给提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。
image.png

部署图

部署图描述的是系统运行时的结构,展示了硬件的配置及其软件如何部署到网络结构中。
部署图通常用来帮助理解分布式系统,一个系统模型只有一个部署图。
部署图是用来描述一个系统的静态部署视图。

image.png
例子:
image.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值