参考视频:
6 分钟学会 UML 类图_哔哩哔哩_bilibili
5 分钟学会 UML 时序图(顺序图、序列图)_哔哩哔哩_bilibili
3 分钟学会 UML 活动图_哔哩哔哩_bilibili
6 分钟学会 UML 用例图_哔哩哔哩_bilibili
是真的讲的非常好!!!
显示流程或数据处理中涉及的活动。展现了从一个活动到另外一个活动的控制过程。
表示活动图的开始
*一个活动图中只有一个开始节点
表示需要执行的任务,通过动词进行描述
通过不同的条件来执行不同的子流程/子流程执行后合并
分叉出的子流程是并行的
等待所有异步流程都执行完成后再合并成同一个流程执行
• 凸多边形(Convex polygon)- 发送信号/输出事件(sending signal / output event)
• 凹多边形(Concave polygon)- 接收信号/输入事件(receiving signal / input event)
e.g
附加的带着字母的小方块是输入或输出的引脚(pin)- 是对象节点的特殊符号
而在箭头中间的方框代表对象(object),其所在的流代表对象流(object flow),代表着指定的信息在各行动中流动
用折叠的箭头指向一个行为,箭头上应写明条件(为什么是异常)
时间事件将会在其底下的时间表达式(time expression)为”真”时流动
*一个活动图中可以有多个不同的结束节点
展现流程中不同角色的交互关系
显示系统与其环境之间的交互。
矩形
内部的任何事情都会在矩形内出现,外部的任何事情都不会矩形内出现
火柴人
1)参与者都是外部对象
2)有主要参与者和次要参与者的区别,主要参与者做出动作后次要参与者才会响应,主要参与者在左边,次要参与者在右边
3)每个参与者都至少与一个用例进行交互
椭圆
描述系统功能要用到的元素
参与者与用例之间的实线
e.g 登录 ---<
扩展用例在基本用例满足某些条件时才会触发
e.g 登录 <---<
显示参与者和系统之间以及系统组件之间的交互。
组成:参与者,对象,生命线
实线:请求消息 虚线:回复消息
选择框:在两个或多个消息间进行选择
激活框:生命线上的第一条消息到最后一条消息
e.g2
显示系统中的对象类和这些类之间的关联。
- private
+public
# protected(只能由同一个类或者子类访问)
~ package/default (用的少)
部分可以存在整体之外
部分不能存在于整体之外
显示系统如何对内部和外部事件作出反应。
状态机图表示对象可能处于的状态以及状态之间的转换
它显示了状态变化序列(a sequence of state change)的起点和终点
行为模型(Behavioral Model)
识别事件(Identifying Events)
是指:在某个时间点发生的离散信号(discrete signal)
• 由内部或外部类之间的通信引起
• 可能导致状态变化
• 可能触发动作(trigger actions)
• 可能有相关的条件(associated conditions)
必须发生事件(有时称为触发器(trigger))来强制对象从一个活动状态转换到另一个活动状态
被动状态(passive state)是一个对象的所有属性的当前状态,一般不会改变
• 例如: Student类的属性
• 学生ID,姓名,入学日期,.....
活动状态(active state)表示对象在经历持续转换或处理时的当前状态。
• 例如: 学生类的状态
• 新生,入学,休学,毕业(New, Enrolled, Suspended, Graduated)
通常用一个空心圆圈来表示
通常用一个的双圈来表示
表示状态之间的转换,通常用带箭头的连线来表示,箭头指向目标状态。
转换通常具有事件、条件、动作等属性,以描述触发转换的事件、条件和执行的动作。
•是什么导致了转换发生?
• 事件(event)
• 事件期间的条件被满足(Condition met during an event)
• 行动可能在过渡期间(即状态转换时)执行(Actions(活动中的单个原子步骤(single atomic step) may be executed during transition)
共有3类活动(activity)
• 进入时/行动(entry / action)
• 执行时/活动(do / activity)
• 退出时/行动(exit / action)
其中:
• 进入/动作: 是离散的动作(action),在进入状态时只执行一次
• do/activity: 整个状态生命周期的连续活动(只要这个状态还在,这个活动就不停)
• exit/action: 离散动作,在状态退出时只执行一次
用于定义状态转换是否发生的条件。它们通常与转换关联,以确定在何种情况下可以从一个状态切换到另一个状态
种方法是使用超状态(superstate)的概念,它封装了许多独立的状态。这个超状态看起来像高级模型中的单个状态,但它会展开,在单独的图中显示更多细节
它分为超状态和子状态(Superstate / Substate),每个状态的活动都是独立的
感觉找的这个答案不太对啊