常用 UML 总结

为什么要做需求分析?

为了便于和客户、策划沟通,通过文档的形式来展示自己对客户需求的理解程度,免得做偏了,做出来的不是客户或策划需要的。
开发成本上,优先级等方面考虑
弄清楚用户要解决什么问题,从用户提供的,用户未提供但潜在存在的等方面全面地理解、挖掘、分析出用户真实、准确的需求

用例图

一、用例图是什么场景下使用

从客户的角度来描述系统功能,在需求分析文档里使用

二、组成元素

参与者:使用该系统的人或事物,以人形图标表示
用例:代表系统某项完整的功能,用椭圆表示
关系:定义用例之间的关系,有泛化关系,扩展关系,包含关系

三、泛化关系

表示同一业务目的(父用例)的不同技术实现(各个子用例),用三角箭头从子用例指向父用例
比如支付包含了分期支付,支付宝支付,贷款支持等,但同时也可以用来表示基于某个参与者有更多的用例。

四、扩展与包含的区别

包含:一个用例可以包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分,采用虚线箭头加 include 指向被包含的用例
扩展:在完成某个功能的时候偶尔会执行另外一个功能,用虚拟箭头加 extend 指向被包含的用例。

类图

一、类图的主要元素

类、接口、关系

二、类的主要元素

类名、属性和方法
公共类型用 + 表示,私有用 - 表示,保护用 # 表示
对应 TypeScript 里的 public private protected

三、类图都有哪些关系

  1. 泛化关系:类与类,接口与接口之间的继承关系,比如圆形继承于形状类,用实线空心箭头指向父类

  2. 实现关系:类与接口之间的实现关系,用虚线空心箭头指向父类

  3. 依赖关系:一个系统依赖另一个系统的服务,比如自行车通过打气筒类来充气,用虚线箭头指向被依赖的类,不会为某辆自行车专门配个打气筒

  4. 关联关系:存在固定的对应关系,比如主人和自行车,公司与员工等,用实线箭头指向被关联的类。

    • 关联关系的名称:描述该关系的性质,是个动词短语,表明源对象正在目标对象上执行动作
    • 关联关系的角色:一个类对另一个类所表现的职责,角色名称是名词或者名称短语
    • 关联关系的多重性:有多少对象可以参与该关联,1 表示 1 个对象,1…n 表示 1 到 n 个对象,* 代表许多个对象
      在这里插入图片描述
  5. 聚合关系:整体和部分的关系,两个类处于不同的层次上,一个代表整体,一个代表部分,比如汽车由轮胎以及其它零件组成,用空心菱形箭头表示,其中菱形指向整体,箭头指向部分
    在这里插入图片描述

  6. 组合关系:部分的生命周期依赖于整体,比如公司与部门,用实心菱形箭头表示,其中菱形指向整体,箭头指向部分
    在这里插入图片描述

四、关联、聚合、组合之间的差别

首先组合、聚合是关联关系的一种,关联的两个类是属于同一层级,而聚合、组合是不同层级,是整体与部分的关系,另外组合关系里的部分的生命周期依赖于整体。
表示方式也不同,关联是用实线箭头指向被关联类,聚合是用空心菱形箭头,空心菱形指向整体,箭头指向部分,而组合则是用实心菱形箭头表示,实心菱形指向整体,箭头指向部分。

时序图

一、作用

描述对象之间传递消息的时间顺序,即用例中的行为顺序。其中纵轴是时间轴,横轴是代表在协作中各个独立的对象

二、组成元素

  • 对象
  • 生命线
  • 消息
  • 激活
  • 对象的创建和销毁(X)
  • 组合片段:
    - 抉择(ALT)两个或更多消息序列之间的互斥的选择,相当于 if else,在片段中设置一个临界来指示该片段可以运行的条件。比如空间配置有配制第三方跳转则跳转,没有则继续
    - 选项(Opt)包含一个可能发生或不发生的序列,比如获取相册,通知,微博等动态数据是根据是否配制该应用来决定的
    - 循环(Loop)片段重复一定次数,可以在临界中指示片段重复的条件
    - 并行(Par)并行处理,片段中的事件可以交错。比如发起相册,通知等接口的请求是互相没有依赖,可以并行的
    - 中断(Break)

三、选项与抉择的区别

选项表示可能会发生,也可能不会发生,一般用于只有一个 if 的场景
抉择则用在多个 if 或者有 else 的场景

活动图(流程图)

一、作用

描述系统的活动,判定点和分支

二、活动图的组成元素

  • 动作状态,圆角矩形
  • 分支与合并,空心小菱形,分支包括一个入转换和两个带条件的出转换
  • 分叉与汇合,分叉用来描述并发线程,粗直线表示
  • 泳道:哪些活动是由哪些对象进行的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值