文章目录
前言
本系列文章为观看b站视频以及b站up主@zst_2001
系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。
视频链接:视频链接(注:文章中有关图片、以及网友的相关评论与总结等内容未标明出处均出自该视频,感谢大家的分享!)
b站up主页:b站up
章节提要
一、用例图
补充知识
(注:下图来自前言中up主视频)
用例图中的关系
包含关系:
(注:下图来自前言中up主视频)扩展关系:
(注:下图来自前言中up主视频)泛化关系:
(注:下图来自前言中up主视频)
(注:下图来自前言中up主视频)
UML图分类:
(注:下图来自前言中up主视频)UML的设计视图包含了类、接口和协作,其中,设计视图的静态方面由 类图 和 对象图 表现;动态方面由 交互图、 状态图 和 活动图 表现。
交互图包括:序列图(顺序图、时序图)、通信图(协作图)、交互概览图 和 计时图。
真题链接
- UML中有4种事物:结构事物、行为事物、分组事物和注释事物。类、接口、构件属于 结构 事物;一个依附于一个元素或一组元素之上对其进行约束或解释的简单符号为 注释 事物。
- 面向对象技术中,组合关系表示 整体与其部分之间的一种关系。
泛化 是一个类与它的一个或多个细化类之间的关系,即一般与特殊的关系。- 关联 是一种结构关系,描述了一组链,链是对象间的连接。两个类之间 可以有多个由不同角色标识的 关联。
- UML中关联的多重度是指 一个类的实例能够与另外一个类的多少个实例相关联。
- 在UML用例图中,参与者表示 人、硬件或者其他系统可以扮演的角色。
(注:下图来自前言中up主视频)- 业务用例和参与者一起描述 组织支持的业务过程,而业务对象模型描述 业务结构以及结构元素如何完成业务用例。
二、类图和对象图
补充知识
- 实现关系:对于接口来说的。
- 泛化关系:是对于类来说的。泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能或者重写父类功能。
- 多重度:是指两个类之间的关系。
- 类图名称前符号含义:
(注:下图来自前言中up主视频)
- UML类图中,圆圈代表接口。
(注:下图来自前言中up主视频)
真题链接
- 对象图展现了 某一时刻一组对象以及它们之间的关系。
- UML中接口可用于 声明对象类所需要的服务。
三、顺序图(序列图)
补充知识
- 顺序图是动态图,表现的是对象之间的交互关系。
- 序列图(顺序图):
(注:下图来自前言中up主视频)消息箭头指向被调用方法的类。
真题链接
- 序列图(顺序图) 用于展现系统中 一个用例和多个对象的行为。描述了以时间顺序组织的对象之间的交互活动。
- UML图中,序列图 中 异步消息并不引起调用者终止执行而等待控制权的返回。
四、 活动图
补充知识
活动图:表现整个流程的处理情况分支状况。
带甬道的活动图。
(注:下图来自前言中up主视频)
并发(合并)分岔、并发(合并)汇合
真题链接
- 对一个复杂用例中的业务处理流程进行进一步建模的最佳工具是UML 活动图。
五、状态图
补充知识
- 活动图:表现整个流程的处理情况分支状况。
- 状态图:也是动态图:描述的是状态的变迁,以状态为节点; 箭线:代表的是事件。
- 状态 和 活动:
(注:下图来自前言中up主视频)
(注:下图来自前言中up主视频)- 转换 和 事件:
(注:下图来自前言中up主视频)
(注:下图来自前言中up主视频)
真题链接
- 状态图 用于 描述一个对象在多个用例中的行为 、用于 某些具有多个状态的对象而不是系统中大多数或全部对象、用于 描述一个对象之间的交互、可以用于 用户界面或控制对象。可以没有终态。
- 组合状态(超状态):含有子状态的状态称为组合状态。
- UML中状态图用于对系统、类或用例的动态方面建模时,通常是对 反应型对象 建模。
- (注:下图来自前言中up主视频)
六、通信图
真题链接
- 通信图(协作图) 用于展现 系统中对象之间的消息流及其顺序。
补充
构件图(组件图)
(注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))
真题链接
- 构件图(组件图) 用于展现 组件之间的组织和依赖。
部署图
(注:下图来自前言中up主视频)
真题链接
- 部署图通常在 实施 阶段使用。
- 通常采用UML中的 部署图 来表示待开发软件系统中组件和硬件之间的物理关系。
- 在UML图中,部署图 用于展示所交付系统中软件和硬件之间的物理关系。
- UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用 用例图 最适合。而展示交付系统的软件组件和硬件之间的关系的图是 部署图。
- UML图中,部署图 中 部署组件之间的依赖关系类似于包依赖。
七、解题技巧
问题一
- 若题目中给出对用例的汉字说明,则填写的用例名称必须为英文。
- 如果题目中UML图中类的名称为英文,就找题目描述中的英文,这些英文就为类的名称。
- << extend>>题目中字眼:如果…。
- << include>>一般具有顺序关系,存在小的(子用例)完成后,进行大的(基用例)。
- 类名一般为名词;英文单词往往是类名。
- 根据题目中已有的类名/用例名来填别的空,例如,如果题目中的类名都是英文则填空是也填英文比较合适;如果题目中的某些用例是动宾短语则填空也填动宾短语(先动词后名词)。
问题二
- 基本事件流(典型事件流):必须要做的事件。
- 备选事件流(候选事件流):可选做的事件(一般含有 “如果”/“若” 等字眼)。
- 0…* 等价于 * ;还有一种多重度 1…*。
问题三/四
- 如果题目中UML图中类的名称为英文,就找题目描述中的英文,这些英文就为类的名称。
(注:下图来自前言中up主视频)
八、案例分析
1、案例1
正确答案:
1)A:艺术家,B:歌曲,C:乐队,D:歌手,E:音轨,F:唱片(填写时填写类名)
2)(看对端填本端)
3)(因为由题意可知音轨要与它上一条音轨和下一条音轨建立联系,所以音轨与自己还有一个联系)
4)最短事件序列:按任意键->选择歌曲->播放D
2、案例2
正确答案:
1)
2)
3)状态模式
CLevel的对象
计算飞行里程数,根据里程数判断是否需要调整会员级别(跳转到不同的状态)。