9.4.3 数据流图案例:信用卡与证券交易系统
这一节进入完整案例。字幕中的重点不是“订单处理系统”,而是通过信用卡管理系统 CCMS 和证券交易服务平台,演示如何补实体、补加工、补数据流、改正错误数据流,以及如何处理新增外部实体的变更。
案例题的固定结构
数据流图下午题常给一段较长的系统说明,然后给顶层图和 0 层图。问题通常围绕四类填补:
| 问题类型 | 常见分值 | 要求 |
|---|---|---|
| 补外部实体 | 3 分 | 根据题干识别人、组织、外部系统 |
| 补数据流 | 若干分 | 写清数据流名称、起点、终点 |
| 改错数据流 | 若干分 | 指出错误数据流,并给出正确起点终点 |
| 补加工名 | 若干分 | 根据功能段落概括加工 |
如果题目要求写数据流,务必同时写“名称、起点、终点”。只写名称往往不够。
信用卡管理系统 CCMS 的实体识别
信用卡案例中,题干围绕非信用卡客户、信用卡客户、银行等对象展开。
| 实体 | 为什么是实体 |
|---|---|
| 非信用卡客户 | 系统外部提交信用卡申请表,接收确认函或拒绝函 |
| 信用卡客户 | 系统外部提交激活请求、查询或修改个人信息、查询交易信息 |
| 银行 | 接收信用卡申请信息并返回验证结果,是外部组织机构 |
实体识别的关键是系统边界。客户和银行都在 CCMS 外部,与系统交换数据。
信用卡案例中的缺失数据流
根据父子图平衡和题干说明,可以定位缺失数据流。
| 数据流 | 起点 | 终点 | 依据 |
|---|---|---|---|
| 信用卡申请表 | 非信用卡客户 | CCMS/信用卡申请加工 | 非信用卡客户填写并提交申请表 |
| 激活请求 | 信用卡客户 | CCMS/信用卡激活加工 | 信用卡客户提交激活请求 |
| 交易信息 | CCMS/交易信息查询加工 | 信用卡客户 | 客户查询并核实交易记录和金额 |
注意方向。申请表不是系统发给客户,而是客户提交给系统;激活请求也是客户发给系统,激活通知才是系统返回给客户。
信用卡案例中的加工名
题干通常按功能分段,每段总起句就是加工名的重要线索。
| 加工 | 题干线索 | 输入/输出提示 |
|---|---|---|
| 信用卡申请 | 非信用卡客户填写申请表,系统发送确认函或拒绝函 | 申请表、确认函、拒绝函 |
| 信用卡激活 | 信用卡客户提交激活请求,系统发送激活通知 | 激活请求、激活通知 |
| 信用卡客户信息管理 | 客户查询或修改个人信息 | 查询/修改个人信息、个人信息 |
| 交易信息查询 | 客户查询并核实交易记录和交易金额 | 交易记录查询请求、交易信息 |
加工名可以写成“信用卡申请”“信用卡激活”“客户信息管理”“交易信息查询”这类名动或动宾结构。
错误数据流的改正
本案例中有两类典型错误:
| 错误 | 为什么错 | 正确方向 |
|---|---|---|
| 信用卡申请表方向错误 | 申请表由非信用卡客户填写提交,不是系统输出 | 非信用卡客户 -> 信用卡申请/CCMS |
| 激活请求方向错误 | 激活请求由信用卡客户发起,激活通知才由系统返回 | 信用卡客户 -> 信用卡激活 |
判断方向时不要只看图,要回到题干里的动词:“提交”“填写”通常从外部实体流向系统;“通知”“返回”“发送结果”通常从系统流向外部实体。
证券交易平台案例的思路
字幕后半段还讲了证券交易服务平台。这个案例的重点是:题干增加了一个现实约束,证券交易实际上应由证券交易中心完成,因此需要在 DFD 中新增外部实体和数据流。
| 题干线索 | DFD 映射 |
|---|---|
| 客户服务助理提交开户信息 | 客户服务助理是外部实体,开户信息是数据流 |
| 开户后客户信息存入客户记录 | 客户记录是数据存储 |
| 账户信息包含余额并存入账户记录 | 账户记录是数据存储 |
| 客户存款/取款会修改账户余额 | 需要到账户记录的数据流 |
| 实际证券交易在证券交易中心完成 | 证券交易中心是新增外部实体 |
新增外部实体时,不能只把实体名字写上去。还要说明它与哪些加工或系统之间新增了哪些数据流,例如把交易信息发送给证券交易中心,并接收交易处理结果。
案例题作答模板
实体:
E1 = ______,依据:______
加工:
P1 = ______,对应题干第 __ 段功能描述
数据流:
名称:______
起点:______
终点:______
依据:题干“______”
错误数据流:
原错误:______
正确改为:______ -> ______
理由:______这个模板的目的不是让答案变长,而是防止漏写起点、终点和依据。
例题
本节小结
完整案例题要按题干逐句映射。补实体看人、组织、外部系统;补加工看功能段落总起句;补数据流必须写名称、起点和终点;改错数据流要重点检查方向是否符合“提交、返回、通知、查询”等动词。遇到新增外部实体的需求,要同时补实体和相关输入输出数据流。