课后作业UML总结
九种常见UML图的总结
常用的静态图:用例图、类图、包图、对象图、部署图
常用的动态图:顺序图,协作图,状态图,活动图
1. 用例图(Use Case Diagram):
- 用于描述系统的功能需求,展示系统与外部实体(称为参与者)之间的交互关系。
用例图的三大组成元素:参与者、用例、参与者与用例之间的关系。
参与者与用例之间的关系(4种):关联、归纳(泛化)、包含、拓展和依赖。
2. 类图(Class Diagram):
- 描述系统中的类、类之间的关系以及类的属性和方法。是静态结构的一种表示。
类图的两个重要元素:类,以及类之间的关系。
类的关系(6种):依赖关系、继承/泛化关系、实线关系、关联关系、聚合关系、组合关系。
3. 时序图(Sequence Diagram):
- 展示对象之间的交互,特别是在一段时间内的顺序。显示方法的调用、对象的创建和消息的传递。
4. 协作图(Collaboration Diagram):
- 类似于时序图,展示对象之间的交互,但更侧重于对象之间的协作关系。
通信图组成元素:对象、链接、消息。
通信图和时序图有点类似。但时序图着重于时间顺序,而通信图则关注的是对象之间的组织关系,通信图中的时间顺序可以从消息序号中获得。在语义上这两个图是等价的可以互相转换而不会丢失信息。
5. 状态图(Statechart Diagram):
- 描述对象在其生命周期内所经历的状态以及状态之间的转换。对于有状态的对象,特别有用。
状态图主要由状态、转换、事件、动作、活动5部分组成。
6. 活动图(Activity Diagram):
- 描述系统中的业务过程或操作流程。强调活动、动作和流程的顺序。
组成元素:起点、终点、活动名称、判断条件、分支与合并、接收信号、发送信号、泳道(其实和流程图很相像)
7. 组件图(Component Diagram):
- 描述系统的物理架构,展示系统中的组件以及它们之间的关系。用于组件化系统。
8. 部署图(Deployment Diagram):
- 描述系统在物理硬件上的部署结构,展示系统的节点和节点之间的连接。
部署图的组成元素:结点、构件(因此部署图也经常和构件图一起使用)、接口、连接。
9. 对象图(Object Diagram):
- 展示类图中特定实例的静态结构。通过展示对象之间的关系,更具体地表示系统的实例化。
对象图的组成元素:对象、链。
一、基本概念
1. 活动节点
用来表示一个活动。
2. 初始节点和活动终点
实心圆表示初始节点(只有一个),圆圈内加一个实心圆来表示活动终点(可有多个)。
3. 转换
一条带箭头的直线来表示。 一旦前一个活动结束马上转到下一个活动(无触发转换)。
4. 分支与监护条件
分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。
5. 分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。
汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。
六、时序图:描述系统中的时间顺序以及时间之间的关系。说明系统中有哪些时间点,这些时间点之间的关系是什么。
1.时序图的概念
时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图;
时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作 或者 引起状态机改变的触发事件;
时序图表示 : 参与交互的对象在时序图顶端水平排列, 每个对象的底端绘制了一条垂直虚线, 对象A像对象B发送消息, 用一条带箭头的实线表示, 该实线起始于对象A底部的虚线, 终止于对象B底部的虚线; 实线箭头水平放置, 越靠近顶端越早被发送.
时序图轨迹 : 时序图提供了随时间推移的, 清晰的 可视化的轨迹;
2. 时序图组成
时序图组成 : 时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);
(1) 对象(Object)
对象 : 时序图中的对象在交互中扮演的角色就是对象;
对象的符号 : 时序图中的对象与对象图中的表示方法一样, 使用矩形将对象名称包含起来, 并且对象名称下有下划线;
对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进行创建;
– 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;
– 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;
(2) 生命线(Lifeline)
生命线 : 生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象的底部都有生命线;
生命线作用 : 生命线是一个时间线, 从时序图顶部一直到底部都存在, 其长度取决于交互的时间;
对象的生命线 : 对象与生命线结合在一起就是对象的生命线, 这个概念包含对象图标 以及 对象下面的生命线图标 如上图;
(3) 激活(Activation)
激活(Activation) : 代表时序图中对象执行一项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表示该对象被占用以完成某个任务;
去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;
激活的表示 : 当对象处于激活时期, 生命线可以拓宽为矩形, 这个矩形条成为激活条;
激活去激活的时机 :
– 激活 : 对象激活是在激活条的顶部激活;
– 去激活 : 激活条的底部去激活, 通常发生在一个消息离开对象生命线;
(4) 消息
消息概念 : 定义 交互 和 协作 中 交换信息 的类, 对 对象之间的 通信内容 建模;
消息动作 :
– 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过 发送 和 接收 消息 进行通信;
– 产生结果 : 消息可以触发操作, 唤起信号, 或使目标对象创建 或 销毁;
消息的异步和同步通信 :
– 异步通信 : 消息是信号的时候, 发送信号之后, 等待对方触发相应方法, 这是明确的 命名的 对象间的异步通信;
– 同步通信 : 直接调用对象的方法, 执行方法返回结果, 这种具有返回控制机制的操作是同步通信;
时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;
七、协作图:描述系统中的对象之间的通信以及通信之间的关系。说明系统中有哪些对象之间需要进行通信,这些通信之间的关系是什么。
八、组件图:描述系统中的组件以及组件之间的关系。说明系统中有哪些组件,这些组件之间的关系是什么。
九、配置图:描述系统中的配置以及配置之间的关系。说明系统中有哪些配置项,这些配置项之间的关系是什么。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix