UML 建模
下面把 UML 建模(下午试题三)相关的知识点系统整理成一份完整文档,结构参照 DFD 和 ER,从 UML 整体定位、六大关系、类图、用例图、序列图,到考试题型、答题方法和检查清单,最后给出背诵口诀。 UML 建模 · 系统整理 一、UML 在软考中的定位 UML 建模是下午试题三(15 分必答),考法以补充类名、补充多重度、补充用例关系、补充消息名为主,极少要求从零画整张图。 软件设计师涉及的 UML 图按用途分为三类: 静态建模:类图、对象图、用例图。 动态建模:序列图(时序图/顺序图)、通信图、状态图、活动图。 物理建模:构件图、部署图。 下午题高频图种是类图和用例图,序列图次之;状态图和活动图偶尔出现,通常只要求补状态名或转换条件。上午选择题则可能涉及图的分类(静态/动态/物理)和接口、部署图的使用阶段等边角知识。 二、UML 类图的六大关系(核心考点) 类图是 UML 的核心,描述系统的静态结构——类的属性、方法以及类与类之间的关系。六大关系必须从符号、语义、代码表现、强度排序四个维度同时掌握。 1. 六种关系总表 关系 线条与端点符号 箭头/菱形方向 语义 代码表现 依赖 虚线 + 开口箭头 指向被依赖的类 临时使用,一方变化“波及”另一方 方法参数、局部变量、返回值 关联 实线(可带开口箭头) 有箭头时指向被关联类 长期结构关系,“知道并持有” 成员变量 聚合 实线 + 空心菱形 菱形在整体端 弱拥有,部分可脱离整体独立存在 成员变量,外部注入 组合 实线 + 实心菱形 菱形在整体端 强拥有,部分生命周期由整体控制 成员变量,整体内部创建 泛化(继承) 实线 + 空心三角 三角尖端指向父类 “is-a”,子类继承父类 extends(Java) 实现 虚线 + 空心三角 三角尖端指向接口 类实现接口契约 implements(Java) 符号速记:依赖虚线开口,关联实线直连;聚合空心菱,组合实心菱;泛化实线空心三角,实现虚线空心三角。菱形永远在整体端。 ...