参考答案:
【问题1】
【问题4】
E1:商家
E2:支付系统
E3:物流系统
E4:CrystaI Reports或第三方服务
【问题2】
D1:订单表
D2:商品表
D3:商品分类表
D4:购物车表
【问题3】
图1-2中缺少的数据流:
转账请求=验证码+价格+账号信息
顾客订单物流查询请求=顾客标识+订单标识
商家订单物流查询请求=商家标识+{订单标识}
详细解析:
该题以电子商务的购物车系统为载体来考核考生对数据流图知识点的把握。从题目的问答形式上来看,和往年差不多,仍然是要求补充外部实体、补充数据存储、补充缺失数据流等。
解答这类问题,有以下两个原则:
(1)紧扣试题的系统说明部分,数据流图与系统说明有着严格的对应关系,系统说明部分的每一句话都能对应到图中,解题时可以一句一句地对照着图来分析。
(2)数据的平衡原则,这一点在解题过程中也是至关重要的。数据平衡原则有两方面的意思:一方面是分层数据流图中父子图之间的数据流平衡原则;另一方面是每张数据流图中输入与输出数据流的平衡原则。
【问题1】
外部实体一般是人、组织或者外部系统。在本题中,根据顶层数据流图中购物车与E1的两天数据流,再结合题目的描述“商家发货后,需按订单标识添加物流标识(物流公司、运单号);然后可根据顾客或商家的标识以及订单标识,查询订单表中的物流标识,并从相应物流系统查询物流信息”,可知E1就是商家。
同理,根据说明中的“将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账;然后根据转账结果返回支付状态”,再结合顶层数据流图可以知道E2是支付系统。根据说明中的“从相应物流系统查询物流信息”,再结合顶层数据流图中E3与购物车之间的数据流信息,可以知道E3是物流系统。根据说明中(7)的描述,再结合顶层图中E4与购物车系统的数据流可以知道E4是Crystal Reports(或第三方服务)。
【问题2】
数据存储一般是说明中所牵涉到的某某文件或某某表。在本题中,描述中有描述过的数据存储有:顾客表、订单表、商品表、商品分类表和购物车表。
由图0层数据流图可知,D1与付款、提交订单、物流跟踪、改变价格等处理有关,可知D1是订单表。由描述“顾客浏览商品,点击加入购物车,根据商品标识从商品表中读取商品信息,并更新购物车表”,再结合0层数据流可知D2是商品表,另外,根据描述“管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息”,再结合0层数据流可知D2和D3应该对应商品表和商品分类表,而D2是商品表,因此D3就是商品分类表。同理可以知道D4就是购物车表。
【问题3】
本题要求我们找出0层数据流图中缺失的数据流,是一类常考的知识点,对应这类题目的求解,我们要充分利用数据的平衡原则,仔细阅读题目给出的描述。
根据说明中(5)的描述,我们不难知道,在付款这个加工时,要更改购物车表中商品的状态,很显然这个过程在0层数据流图中并没有体现出来,因此缺少了一条从付款到购物车表的数据流。另外,在付款时,系统先要根据顾客表中关联的支付账户,将转账请求提交给支付系统进行转账,那么就应该有一条从顾客表到付款的数据流。
根据说明中(3)的描述,我们不难知道,在顾客点击提交订单请求,后台将要计算购物车表中商品的总价,那么就需要从购物车表中获取商品的价格信息,因此就有一条从购物车表到提交订单的数据流,而显然在0层数据流图中并没有体现出来这样一条数据流,因此缺少了一条从购物车表到提交订单的数据流。
根据说明中(7)的描述,可以知道从订单表、商品表以及商品分类表都有到生成报表加工的数据流。从0层数据流图中来看,显然还缺少从订单表到生成报表的数据流。
【问题4】
数据项也称为数据元素,是最小的数据组成单位,也就是不可再分的数据单位。如学号、姓名等。
在题目中,对于转账请求,已经给出了其包含了验证码、价格,另外根据常识,我们知道还应该有账号信息。而顾客订单物流查询请求应包含顾客标识和订单标识。商家订单物流查询请求应包含商家标识和订单标识这些数据项,而且一个商家可能有多个订单,因此订单标识也有多个。