面向对象分析设计
知识点
用例图
主要考察和参与者和用例的识别、用例之间的关系(包含 include、扩展 extend 、泛化)
- 包含关系:必须做的事情(学习课程,必须要检查权限)
- 扩展关系:可做可不做,指向父类
- 泛化关系:指向父类
提示
在用例图和类图中,泛化关系是解题的关键。
类图
主要考察类名、多重度、类之间的关系。
多重度(有点类似 E-R 图中的联系类型)含义如下:
- 1: 表示一个集合中的一个对象对应另一个集合中的 1 个对象。
- 0..*: 表示一个集合中的一个对象对应另一个集合中的 0 个或多个对象。
- 1..*: 表示一个集合中的一个对象对应另一个集合中的一个或多个对象。
- *:表示一个集合中的对象对应另一个集合中的多个对象。
多重度是针对关联关系的,关联关系会在类的两边标明它的多重度。 关联的两端始终有一端是 1,另一端可以是 1,可以是 0.., 可以是 1.., 还可以是 * 。
状态图
展示了一个状态机,描述 单个对象在多个用例中的行为,包括简单状态和组合状态。
转换可以通过事件触发器出发,事件触发后相应的监护条件会进行检查。状态图中的转换和状态是两个独立的概念,如下:图中 方框代表状态,箭头上的代表触发事件。 实心圆点为起点和终点。
状态图主要描述状态之间的转换,主要考察的就是填状态名、填状态转换的条件,具体如图所示。
序列图
序列图,即顺序图、时序图,动态图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。
主要考察 填对象名、消息名,消息就是一个个箭头上传递的,对象作为实体在最上端。
通信图
是顺序图的另一种表示方法,也是由对象和消息组成的图,只不过不强调时间顺序,只强调事件之间的通信,而且也没有固定的画法规则,和顺序图统称为交互图。
活动图
是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程。
活动的分岔和汇合线是一条水平粗线(常考,可以并行运行多少个线程)
主要考察填活动名称。