软件工程
在期末复习时整理收集了下经常考试的软工各类图的资料,也许对你有所帮助
各类图
系统用例图
https://www.jianshu.com/p/62a84cdc3faa
用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。
用例图包含六个元素,分别是:参与者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。
-
关联关系(Association)
-
包含关系(Include)
- 每次都会发生
-
扩展关系(Extend)
- 一个用例可能有多个扩展点,每个扩展点可以出现多次。但是一般情况下,基础用例的执行不和涉及到扩展用例,只有特定的条件发生,扩展用例才被执行
-
泛化关系(Generalization)
系统类图
https://www.jianshu.com/p/57620b762160
限制符
+表示public
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示抽象
多重性
边上写上数量关系,如:
- 1
- 0..*:0~n
- 1..*:1~0
- *:n
关系
- 泛化
- 类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系
- 空心三角形+实线表示。
- 实现
- 表示一个class类实现interface接口(可以是多个)的功能
- 棒棒糖表示法,实线表示
- 矩形表示法,使用空心三角形+虚线表示
- 表示一个class类实现interface接口(可以是多个)的功能
- 关联
- 当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系,如企鹅需要‘知道’气候的变化
- 实线箭头表示
- 聚合
- 一种弱的‘拥有’关系,A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期
- 如鸟群有鸟
- 空心的菱形+实线箭头表示
- 组合
- 强的‘拥有’关系,严格的部分和整体关系
- 实心的菱形+实线箭头表示
- 依赖
- 对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系
- 虚线箭头表示
数据流图DFD
https://www.jianshu.com/p/2bf96cb928b3
基本组成成分
外部实体 加工 数据流
基本图形符号
→:箭头,表示数据流;
〇:圆或椭圆,表示加工;
= :双杠,表示数据存储;
□:方框,表示数据的源点或终点。
步骤
- 构建顶层数据流图
- 把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。
- 构建0层数据流图(细化顶层数据流图)
- 把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。
- 逐层细化数据流图
时序图/事件跟踪图
https://www.jianshu.com/p/c5209bde7287
又名序列图、循序图、顺序图,是一种UML交互图
它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
生命线
命名标准:
1.实体名:类名
2.:类名
3.实体名
控制焦点
矩形
消息(Message)
不同对象之间的交流载体,从一个对象的生命线指向另一个对象的生命线。
-
同步消息(Synchronous Message):消息被发送后,发送者停止活动等待反馈
-
异步消息(Asynchronous Message):消息被发送后,发送者继续自己的活动不等待反馈
-
返回消息(Return Message):从过程调用返回
-
自关联消息(Self-Message):对象方法的自身调用以及对象内方法之间的相互调用(箭头类型不是固定的)
交互操作符
- alt(Alternative):与if...else...或switch对应
- opt(Optional):可能发生也可能不发生的片段
- par(Parallel):并行发生
- loop [value]:与for 或foreach对应,[value]表示循环次数
ER图
又称实体-联系方法
符号意义
长方形-实体,椭圆/圆角矩形-属性,棱形-联系,
属性可以加在实体和联系上
线标
线上得标出1对1,1对n,以及n对m
设计盒图
又称N-S图
状态流程图
程序流程图
https://www.jianshu.com/p/4a339e558b5f:有PAD图