# SA4101C(ADLC / Paper 1)四类图 · 完整示例模板 这套文件是 **Paper 1 会考的四种图**的"完整示例",每种图都把该图**特有的所有元素**放进了一张图里。 用法不是背,是**复制 → 改成题目内容**。 对应卷子:真题 1b(用例图)、1c(活动图含实体)、Q2(时序图/分析模型)、Q4b(类图)。 --- ## 一、文件清单 | 文件 | 用途 | |---|---| | `UML模板.drawio` | **主文件**,4 页,draw.io 打开可编辑(推荐) | | `01-用例图 Use Case Diagram.png / .svg` | 预览 + 可直接打印 | | `02-活动图 Activity Diagram with Entities.png / .svg` | 同上 | | `03-时序图 Sequence Diagram (Analysis Model).png / .svg` | 同上 | | `04-类图 Class Diagram.png / .svg` | 同上 | - `.svg` 是矢量,放大不糊,打印首选。 - `.drawio` 用 draw.io 桌面版打开(File → Open),左侧页码就是四个模板。 --- ## 二、每页包含哪些元素(对照判分点) ### 01 用例图 Use Case Diagram | # | 元素 | 说明 | |---|---|---| | 1 | Actor(参与者) | 人按**岗位**画,不按人名 | | 2 | System boundary(系统边界) | 一个方框,里面只放本系统的用例 | | 3 | Use case(用例) | 椭圆,动词短语:Browse Products、Place Order | | 4 | Association(关联) | 角色—用例,**实线无箭头** | | 5 | «include»(包含) | 必然执行的公共步骤,箭头指向**被包含者** | | 6 | «extend»(扩展) | 条件成立才触发,箭头指向**基用例** | | 7 | Generalization(泛化) | 空心三角,Manager ▷ Staff | | 8 | External system actor | 外部系统画成 actor + `«system»`,**最容易漏** | ### 02 活动图(含实体)Activity Diagram with Entities | # | 元素 | 说明 | |---|---|---| | 1 | Swimlane / Partition(泳道) | 三列:Actor / System / Entity | | 2 | Initial node(初始节点) | 实心圆 | | 3 | Action(动作) | 圆角矩形,动词开头 | | 4 | Decision node(判断) | 菱形,**每个出边都要有 guard** `[yes]` `[no]` | | 5 | Merge node(汇合) | 菱形,把分支收回 | | 6 | Object node(对象节点/实体) | 矩形 + `EntityName[state]`,如 `Order[created]` | | 7 | Activity final(结束节点) | 牛眼 | | 8 | 虚线箭头 | 动作 → 它改变的实体状态 | ### 03 时序图(分析模型)Sequence Diagram for the Analysis Model | # | 元素 | 说明 | |---|---|---| | 1 | Lifeline(生命线) | 顶框写 `:ClassName`,下面虚线 | | 2 | Boundary / Control / Entity | 三列分析类:`:FormXxx` / `:XxxControl` / `:Entity` | | 3 | Synchronous message | 实线 + 实心箭头 | | 4 | Return message(返回) | **虚线 + 开口箭头**,最容易漏 | | 5 | 消息编号 | `1:`, `2:` … 与 basic flow 的每一步对应 | | 6 | Activation bar(激活条) | 生命线上的窄矩形 | ### 04 类图 Class Diagram | # | 元素 | 说明 | |---|---|---| | 1 | Class 三栏 | 类名 / 属性 / 操作 | | 2 | Visibility(可见性) | `+` public、`-` private、`#` protected | | 3 | Stereotype | `«boundary»` `«control»` `«abstract»` `«interface»` | | 4 | Association + Multiplicity | `1`、`0..*`、`1..*` 标在线两端 | | 5 | Composition(组合) | 实心菱形:Order ◆— OrderLine | | 6 | Aggregation(聚合) | 空心菱形:Customer ◇— Address | | 7 | Generalization(泛化) | 空心三角:Payment ▷ 子类 | | 8 | Realization(实现) | 虚线 + 空心三角:StripeGateway ⇢ IPaymentGateway | | 9 | Dependency(依赖) | 虚线 + 开口箭头:Form ⇢ Control | | 10 | Association class(关联类) | M:N 拆出来的那个类(OrderLine) | --- ## 三、考场怎么用(3 步) 1. 打开 `UML模板.drawio`,右键页面 → **Duplicate Page**(复制这页当草稿)。 2. 双击每个元素改标签:**用例名/类名一律用题目的原词**(Place Booking、TourGroup…),不要自己起名。 3. 全选 → File → Export as → **PDF**(勾矢量、裁边),按卷面要求命名 `SWAD_SecA_A0123456X`。 > 时间紧就只用 PNG/SVG 打印稿对着抄结构,用考试指定的工具重画。 --- ## 四、画完自检(每张图 6 条) **用例图**:① 外部系统都画了吗 ② include/extend 方向对吗 ③ 有没有混进 login/报表 **活动图**:① 泳道三列对吗 ② 每个 decision 都有 guard 吗 ③ entity 带 `[state]` 吗 **时序图**:① 每条调用都有返回吗 ② 编号连续吗 ③ 有没有画数据库(不要求) **类图**:① boundary/control 是不是只写了操作 ② M:N 拆关联类了吗 ③ 多重性标了吗 --- ## 五、元素英文名速查 Actor · System boundary · Use case · Association · «include» · «extend» · Generalization · Swimlane / Partition · Initial node · Decision node · Guard condition · Merge node · Object node · Activity final node · Lifeline · Synchronous message · Return message · Activation bar · Boundary class · Control class · Entity class · Class · Attribute · Operation · Multiplicity · Composition · Aggregation · Realization · Dependency · Association class > 生成时间:2026-10-27 · 配套讲义:`design-复习/第1讲-用例图-VoyageLink模型答案.png`