先看拿分稳定性,不要只看自己喜不喜欢
下午题和上午选择题不一样,它更看重步骤、表达和图表填写。你喜欢某个方向,不代表它就是你的稳分题。比如有同学觉得 UML 名词好背,但一到类图关系、多重度、include 和 extend 就混;也有人怕数据库,其实 ER 转关系模式、范式判断反而能按套路拿分。
比较稳的选题原则是:能读懂题干,能按固定步骤输出,错了也能拿部分分。DFD 和数据库通常适合愿意练步骤的人;UML 适合概念边界清楚的人;算法和程序设计适合代码基础较好、能看懂伪代码的人。
| 方向 | 适合人群 | 常见失分点 |
|---|---|---|
| DFD | 能耐心读业务流程、愿意画边界的人 | 父子图不平衡、数据流命名太随意 |
| 数据库设计 | 愿意按 ER 到关系模式步骤做的人 | 外键位置、范式和联系属性混乱 |
| UML | 概念清楚、能区分类图/用例图/顺序图的人 | 关系类型和多重度写错 |
| 算法与程序设计 | 代码基础较好、能跟踪变量变化的人 | 只看结果,不写过程和边界情况 |
DFD 题不要怕图,先守住输入输出边界
DFD 题表面看是画图,实际考的是业务边界和数据流。老师讲 DFD 时会反复提醒:父图里这个加工有哪些输入输出,子图展开以后,对外的输入输出要能对上。只要你守住父子图平衡,不凭空增加外部数据流,也不漏掉关键数据流,基础分就比较稳。
DFD 题的另一个关键是命名。数据流名字最好是名词或名词短语,处理过程名字通常带动词味道。很多失分不是完全不会,而是把处理过程写成数据,把数据流写成动作,阅卷时很难给足分。
DFD 题的读题顺序
先圈外部实体:谁给系统数据,谁从系统拿结果。
再圈主要处理:系统内部做了哪些加工。
最后核对父子图边界:输入输出有没有多、少、反向。
数据库题适合按模板练,但答案不能模板化
数据库设计题确实有套路:实体、属性、联系、主键、外键、联系表、范式。可考试不是让你背一段固定话,而是把具体业务关系落到关系模式里。比如一对多外键放多端,多对多单独建联系表,一对一要看参与约束和业务习惯。
如果你能把“学生选课”“客户订单”“部门员工”这些经典场景讲清楚,数据库题的迁移能力会比较强。真正需要小心的是细节:联系本身的属性放哪里,联合主键怎么设计,候选键和主键是否混用,第三范式到底在消除什么依赖。
| 看到什么 | 优先怎么想 | 容易错在哪里 |
|---|---|---|
| 一对多 | 外键放多端 | 把外键放到一端导致重复字段 |
| 多对多 | 单独建联系表 | 把多个值塞进一个字段 |
| 联系有属性 | 属性放联系表 | 误放到任一实体表 |
| 传递依赖 | 考虑第三范式 | 只背定义不找依赖链 |
UML 题适合概念清楚的人,不适合临场猜图
UML 不是看图标长得像不像,而是看图解决什么问题。用例图看参与者和系统功能,类图看类、属性、操作和关系,顺序图看对象之间按时间顺序传消息,活动图看流程分支和并发。你如果能先判断图的用途,再填元素,会比直接背图形符号稳很多。
UML 最容易混的是关系。关联、聚合、组合、泛化、实现,含义不一样。老师常说:组合是整体和部分生命周期强绑定,聚合弱一些,泛化看继承,实观看接口实现。不要所有空心菱形、实心菱形、三角箭头混成一锅。
一个比较稳的复习安排
如果时间不多,建议先选两类主攻题,而不是四类全都平均用力。比如 DFD 加数据库,是很多考生比较容易形成步骤感的组合;如果你代码基础好,可以把程序设计作为第二主攻;如果 UML 概念掌握得清楚,也可以把 UML 作为补充分。
考前练题时不要只看答案,要练“看题干后写第一步”。DFD 第一笔先找外部实体,数据库第一步先找实体和联系,UML 第一眼先判图的用途。第一步稳了,后面的分就不容易散。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- ER 图一对多联系转换成关系表时外键放在哪里?ER 图 / 关系模式转换
- 瀑布模型和原型模型怎么区分?软件工程 / 瀑布模型
- UML 时序图主要用来描述什么?UML / 时序图
- 抽象工厂模式为什么适合创建一组相关产品?抽象工厂模式 / 产品族