简介
UML(统一建模语言)
由于其简单,通义又能够表达软件设计中的动态和静态信息
UML的词汇表包含了3中构造块:事物、关系、图。
事物是对模型中最具有代表性的成分的抽象,关系把事务结合在一起,图聚集了相关的事务。
一、事物
- 分类
- 构造事务–>(静态)
- 行为事务–>(动态)
- 分组事务
- 注释事务
构造事物
- 是UML中的名词,它们通常是模型的静态部分
- 图形
行为事物
- 是UML模型中的动态部分
- 是模型的动词描述了行为
- 图形
分组事物
- 是UML的组织部分
- 图形
注释事物
- UML中的解释部分
- 图形
例题
二、关系
有四种关系:
- 依赖 - 关联 - 返还 - 实现
依赖
- 是两个事物间的语义关系
- 独立事物发生变化会影响依赖事物的语义
- 例如:
- B为独立事物
- A为依赖事物
- B改变会影响到A
关联
- 它描述了一组链,链是对象间的连接。它描述了整体和部分的关系
- 在关联图上可以标多重度和角色
例如:
- 关系描述为(交叉看):
- 一位雇主有0个或0名员工
- 一位员工有0个或1名雇主
- 聚集是一种特殊的关联
1. 聚集分为1. 聚合:部分和整体的生命周期不一致,整体消失了,部分还存在
2. 组合:部分和整体生命周期一致,整体消失了,部分也随之消失
- 单项关联
- 理解:依赖是偶然的,临时的。
- 例如:人需要氧气,氧气并不依赖于人
- 关联名
- 呼吸为此关联的关联名
- 关联类
- 需要满足条件:
- 多对多联系,
- A的实例可以重复B的实例
- 例如:一个学生可以重复借一本书
- 需要满足条件:
- 关联的整体格式:
- 例题
泛化
父类泛化子类,子类继承父类
- 例如
、
实现
- 形状
- 常用于
例题
注意:此题答案存在争议
三、UML中的图
- 图是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)连通图
- 软考需要学习的图:
- 静态建模:类图、对象图、用例图
- 动态建模:序列图(顺序图、时序图)、通信图(协作图)、状态图、活动图
- 物理建模:构件图(组件图)、部署图
- 交互图:序列图(顺序图、时序图)、通信图(协作图)
类图
- 类图展示了一组对象、接口、写作和它们之间的关系
- 对系统**静态建模**是的三种方式
- 对系统的词汇建模
- 对简单的协作建模
- 对逻辑数据库模式建模
- 类的图形
- 权限修饰符号
- +:public
- -:private
- #:protectea(受保护的)
- ~:pac****kage(包的)
- 权限修饰符号
- 例题
答案:CA
对象图
- 展现了某一时刻、一组对象以及它们间的关系
- 对系统静态建模
- 例题
用例图
- 展现了一组用例参与者以及它们间的关系
- 对系统**静态建模**,主要支持系统的行为
- 对系统建模的两种方式
- 对系统的语境建模
- 对系统的需求建模
- 包含关系(include)
- 用例和用例间的关系
- 符号:
3. 例如:A包含B
4. 例如:当图书管理员需要删除图书操作时,包含了查询图书的步骤。
- 扩展关系(extend)
- 用于表示用例和用例之间的关系
- 解释:一个用例执行的时候,可能发生一些特殊或可选的情况,这种情况就是这个用例的扩展
- 符号:
4. 例如:B扩展A
5. 例如,借书预期后会出现罚款的扩展。
- 包含和扩展的区分
- 包含:一定执行
- 扩展:可能执行
- 泛化关系
- 参与者与参与者之间的关系
- 父类泛化子类
- 例如:商家和会员都是用户的子类
- 例题:
序列图(顺序图、时序图)
- 描述了以时间顺序组织的对象间的交互活动
- 序列图不同于通信图的特征
- 序列有对象生命线
- 有控制焦点
- 一张序列图只描述一个用例
- 序列图中:实现是看指向自己的方法
- 例图
- 消息分类
- 消息
- 返回消息
- 同步消息(调用消息)
- 一部消息
- 同步和异步
- 同步:需要等待
- 一起执行
- 对象销毁符号:X
- 例图
- 例题
通信图(协作图)
- 展现了对象间**消息流及其顺序**
- 强调收发信息的对象的结构组织
- 通信图有**顺序号**,
- 表示一个消息的时间顺序
- 序列图和通信图之间可以相互转换
- 例图
- 例题
状态图
- 展现了一个**状态机,它由状态、转换、事件和活动组成。**
- 状态图只描述一个对象间的交互
- 转换又称迁移
- 活动也称动作
- 转移包括两个状态,源状态和目标状态
- 活动可以在状态内执行,也可以在转换时执行
- 事件触发转移
- 组合状态别名:超状态
- 嵌套状态别名:子状态
- 状态图是对反应型对象建模
- 格式:
状态
- 一个状态代表了系统一种行为模式
- 形状有:
- 初态
- 终态
- 注意:初态必须有一个,终态可有0个或多个
- 状态图形为一个圆角矩形,其中包含了三部分
- 状态名(必须有)
- 变量(可选)
- 活动表(可选)
- 转换
- 线上事物发生时,状态转换开始
活动
- 是由若干个动作组成的
- 活动表语法格式:
- 事件名(参数表)/动作表达式
事件
- 它是对引起系统做动作和从一个状态转向另一个状态的抽象
- 例如:用户使用电视遥控器,
- 电视剧的状态从关机到开机
- 如果箭头线上没有标记事件,则
- 源状态的内部活动执行完后自动触发转换
例图
- 步骤:
- 触发事件并且有水》》开关从关转换为开并且开始烧水
例题
上题解释:C选项并没有说当前状态是B2,所有可能是B1,B3,B4,这样的话就不会触发B2到C3
上题答案为:C
上题:42为:条件;43为:转换
扩展:
事件事件
活动图
- 是一种特殊的状态图
- 展现了从一个活动到另一个活动的流程
- 强调对象间的流程
- 对系统建模时,分为两类
- 对工作流建模
- 对操作流建模
- 例图
例题
构件图(组件图)
展现了构件(组件)间的组织和依赖
- 半圆为需接口
- 满圆为供接口
- 关系:需依赖于供
- 符号
部署图
- 是用来对面向对象系统的物理方面的建模
- 展现了运行时处理结点以及其中构件(制品)的配置
- 展现了系统软件和硬件之间的关系
- 部署图是在实施阶段使用的
- <>表示制品
- 例题
四、总和
例题:
五、杂题
答案:41为:1;42为:3;43为:2