经常使用 UML 总结

这是我参与 8 月更文挑战的第 5 天,活动详情查看: 8月更文挑战web

为何要作需求分析?

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

用例图

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

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

2、组成元素

参与者:使用该系统的人或事物,以人形图标表示app

用例:表明系统某项完整的功能,用椭圆表示oop

关系:定义用例之间的关系,有泛化关系,扩展关系,包含关系post

3、泛化关系

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

4、扩展与包含的区别

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

类图

1、类图的主要元素

类、接口、关系code

2、类的主要元素

类名、属性和方法orm

公共类型用 + 表示,私有用 - 表示,保护用 # 表示

对应 TypeScript 里的 public private protected

3、类图都有哪些关系

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

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

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

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

    • 关联关系的名称:描述该关系的性质,是个动词短语,代表源对象正在目标对象上执行动做
    • 关联关系的角色:一个类对另外一个类所表现的职责,角色名称是名词或者名称短语
    • 关联关系的多重性:有多少对象能够参与该关联,1 表示 1 个对象,1..n 表示 1 到 n 个对象,* 表明许多个对象

    在这里插入图片描述

  5. 聚合关系:总体和部分的关系,两个类处于不一样的层次上,一个表明总体,一个表明部分,好比汽车由轮胎以及其它零件组成,用空心菱形箭头表示,其中菱形指向总体,箭头指向部分

在这里插入图片描述

  1. 组合关系:部分的生命周期依赖于总体,好比公司与部门,用实心菱形箭头表示,其中菱形指向总体,箭头指向部分

在这里插入图片描述

4、关联、聚合、组合之间的差异

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

时序图

1、做用

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

2、组成元素

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

3、选项与抉择的区别

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

活动图(流程图)

1、做用

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

2、活动图的组成元素

  • 动做状态,圆角矩形
  • 分支与合并,空心小菱形,分支包括一个入转换和两个带条件的出转换
  • 分叉与汇合,分叉用来描述并发线程,粗直线表示
  • 泳道:哪些活动是由哪些对象进行的
相关文章
相关标签/搜索