UML

UML建模

一个项目的构建是公司与客户的交接,客户需求,文档,系统设计后再写程序,而组织不同的人,部门需要一个规范,这个规范是UML,现在我们开始学习UMl的规范

类图

  • 用于描述类的文件,类的属性方法等,同时还有类的各种关系
  • 属性:(public +), (private -), (protected #)
  • 关系
    • 继承:子类指向父类,类与接口都能用
    • 实现:类实现接口,由类指向接口
    • 依赖:类A使用类B但局部生效,如类B作为函数参数传入,A指向B,A依赖B
    • 关联:与依赖相似,但不是局部生效,如类B作为成员变量在类A中,A指向B,A关联B
    • 聚合:与关联相似,但生命周期不同??? //球员和球队
    • 组合:与关联相似,生命周期相同 //人和心脏

用例图

  • 官方表述:参与者,用例,边界关系构成
  • 我的理解:用例(use cause)将程序包装为功能描述,参与者是与这些功能交互的角色,边界可把不同功能包装在一起
  • 用例图也有四种类型
    • 关联: 参与者与用例的关系
    • **泛化:**参与者之间或用例之间,就是继承关系,所以只在相同类型里面
    • **包含:**用例之间,将复杂的用例拆解,如维修拆解为维修哪些?删除,添加,修改
    • **扩展:**用例之间,A extends B A延展B功能,所以A指向B,B还拥有A的功能

状态图

  • 官方表述:描述对象可能的状态,以及改变状态的事务

![Screenshot 2024-03-13 at 03.01.05](/Users/leojackasher/Downloads/Screenshot 2024-03-13 at 03.01.05.jpeg)

活动图

  • 有点类似与高中计算机学的那种流程图
Screenshot 2024-03-13 at 03.05.08

时序图(顺序图)

  • 描述各模块调用,方法,程序执行流程
  • 以JavaEE MVC分层为例

![Screenshot 2024-03-13 at 03.10.46](/Users/leojackasher/Downloads/Screenshot 2024-03-13 at 03.10.46.jpeg)

  • 这张图很好描述了这种程序模块的调用
  • 那么展示一下时序图是什么样子的

IMG_0164

组件图

  • 直接上图

![Screenshot 2024-03-13 at 03.25.05](/Users/leojackasher/Downloads/Screenshot 2024-03-13 at 03.25.05.jpeg)

部署图

  • 用的很少
  • 和这组件图差不多,变成服务器的样子了

UML
http://example.com/2024/04/07/UML/
作者
Jack Asher
发布于
2024年4月7日
许可协议