由于《软件工程》这门课上没有UML建模的知识,这次没有接着学习其课程,参考的是其他教材。
UML活动图及其建模
UML活动图
一个UML活动图表示一个过程中的多个顺序活动和并行活动。UML活动图一般包含动作、分区、分叉点、连接点和对象节点。
- 一旦一个动作完成,紧接着会有一个自动向外的转换。
- 活动图能够既表示控制流也能够表示数据流。
- 动作:完成某些事物,在完成后自动转换。
- 分区:表示参加过程的不同参与者。
- 分叉点:一个输入转换和多个输出的并行转换或对象流。
- 连接点:多个输入转换或对象流,一个输出变换,直到所有输入都达到输出才发生。
- 对象节点:由动作产生或使用的节点。
这里参考别人找到的最标准的画法:最标准的UML(活动图)画法_小文学Python的博客-CSDN博客_活动图怎么画
其他UML活动图表示
当某个活动需要在另一个活动中展开,可以用靶子符号。
当表示条件分支时,用决策符号,与之相对应的是合并符号,决策是选择分开,合并将分支流会和。
当需要时间触发动作或取消请求时,可以用信号。
准则
UML状态图及其建模
UML状态图
UML状态图和活动图一样都是动态视图,状态图用来描述事物(事务、用例、人)和事件的状态。状态图显示了对象的生命周期:对象经历的事件,对象的转换和对象的状态。状态图不必描述所有的事件,如果发生的事件未在图中,则说明其不影响状态机关注的内容。
- 转换用箭头表示,是两个状态之间的关系。
- 状态用圆角矩形表示,是对象在发生某个事件之前的情形。
- 事件是一件值得注意的事情的发生。
如何应用UML状态图
首先,我们应该明白状态无关对象和状态依赖对象。如果一个对象对某事件的相应总相同,则认为该对象对此事件为状态无关。如果对于所有事件,某对象的相应都相同,则该对象为状态无关对象。而,状态依赖对象对不同事件的相应根据对象的状态或模式而不同。因此,应该对有复杂行为的状态依赖对象而不是状态无关对象建立状态图。
可以从两种方面运用状态机:
- 对复杂的事件交互对象建模
- 对操作协议和语言规范的合法序列建模
以下是通常为状态依赖对象的常见对象:
更多UML状态机建模