问答题
阅读下列说明和图,回答下面问题。
[说明]
某电子商务系统采用以数据库为中心的集成方式改进购物车的功能,详细需求如下。
1.加入购物车。顾客浏览商品,点击加入购物车,根据商品标识从商品表中读取商品信息,并更新购物车表。
2.浏览购物车。顾客提交浏览购物车请求后,显示出购物车表中的商品信息。
3.提交订单。顾客点击提交订单请求,后台计算购物车表中商品的总价(包括运费)加入订单表,将购物车表中的商品状态改为待付款,显示订单详情。若商家改变价格,则刷新后可看到更改后的价格。
4.改变价格。商家查看订购自家商品的订单信息,根据特殊优惠条件修改价格,更新订单表中的商品价格。
5.付款。顾客点击付款后,系统先根据顾客表中关联的支付账户,将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账;然后根据转账结果返回支付状态并更改购物车表中商品的状态。
6.物流跟踪。商家发货后,需按订单标识添加物流标识(物流公司、运单号);然后可根据顾客或商家的标识以及订单标识,查询订单表中的物流标识,并从相应物流系统查询物流信息。
7.生成报表。根据管理员和商家设置的报表选项,从订单表、商品表以及商品分类表中读取数据,调用第三方服务Crystal Reports生成相关报表。
8.维护信息。管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息。
现采用结构化方法实现上述需求,在系统分析阶段得到如图1所示的顶层数据流图和图2所示的0层数据流图。

图1 顶层数据流图
问答题
使用说明中的词语,给出图1中的实体E1~E4的名称。
【正确答案】
【答案解析】E1:商家;E2:支付系统;E3:物流系统;E4:Crystal Reports。
[解析] 本题考查数据流图(DFD)的应用,采用结构化方法进行系统分析与设计,是一道传统题目,要求考生细心分析题目中所描述的内容。DFD是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。
本问题考查顶层DFD。顶层DFD一般用来确定系统边界,将待开发系统看作一个加工,因此图中只有唯一的一个处理(“购物车”)和一些外部实体,以及这两者之间的输入输出数据流。外部实体可以是使用系统的用户,也可以是为系统提供输入或接受系统输出的外部系统。本问题要求根据描述确定图中的外部实体,应仔细分析题目中的描述,并结合已经在顶层数据流图给出的数据流进行分析。
E1到购物车的数据流是和物流相关的信息,由此定位到“物流跟踪”段,从此段的描述不难判断E1是商家;E2到购物车的数据流是和转账相关的信息,由此定位到“付款”段,从此段的关键字“转账请求”和“转账结果”不难判断E1是支付系统;E3到购物车的数据流的关键字为“运单号”和“物流信息”,定位到“物流跟踪”段,从该段的最后不难判断E3是物流系统;E4到购物车的数据流的关键字为“报表”,由此定位到“生成报表”段,不难判断E4是Crystal Reports。
问答题
使用说明中的词语,给出图2中的数据存储D1~D4的名称。
【正确答案】
【答案解析】D1:订单表;D2:商品表:D3:商品分类表;D4:购物车表。[解析] 本问题考查DFD中数据存储的确定。本题中涉及的数据存储有5个:商品表、购物车表、订单表、顾客表和商品分类表,接下来需要结合如图2所示的0层数据流图进行确定。D1与“提交订单”、“改变价格”、“物流跟踪”和“付款”等加工相关,而这些加工都使用订单表,因此可以确定D1是订单表;然后定位到图中名为“维护信息”的加工,由“管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息”可知,D2和D3为商品分类表或商品表,D4为购物车表。由D2与“加入购物车”加工的关系,可知D2为商品表,D3为商品分类表。
问答题
图2中缺失了数据流,请用说明或图2中的词语,给出其起点和终点。
【正确答案】
【答案解析】图2中缺少的数据流。
|
起点
|
终点
|
|
付款
|
D4或购物车表
|
|
D4或购物车表
|
提交订单
|
|
顾客表
|
付款
|
|
D1或订单表
|
生成报表
|
[解析] 本问题考查补充分层DFD中的数据流。在分查DFD中,需要保持父图和子图的平衡,即父图中某加工的输入输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的一个数据流。
由“付款”段中有关“根据转账结果返回支付状态并更改购物车表中商品的状态”的描述,存在一个起点为“付款”、终点为“D4”或“购物车表”的数据流;由“提交订单”段中有关“将购物车表中的商品状态改为待付款,显示订单详情”的描述,存在一个起点为“D4”或“购物车表”、终点为“提交订单”的数据流;由“付款”段中有关“顾客点击付款后,系统先根据顾客表中关联的支付账户,将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账”的描述,存在一个起点为“顾客表”、终点为“付款”的数据流;由“生成报表”段中有关“从订单表、商品表以及商品分类表中读取数据,调用第三方服务CrystalReports生成相关报表”的描述,存在一个起点为“D1”或“订单表”、终点为“生成报表”的数据流。
问答题
根据说明,给出数据流“转账请求”、“顾客订单物流查询请求”和“商家订单物流查询请求”的各组成数据项。
【正确答案】
【答案解析】转账请求=验证码+价格+账号信息
顾客订单物流查询请求=顾客标识+{订单标识}
商家订单物流查询请求=商家标识+{订单标识}
[解析] 数据流图描述了系统的分解,但没有对图中各成分进行说明。数据项是组成数据流和数据存储的最小元素。“转账请求”数据流中包含验证码、价格、账号信息等数据项;“顾客订单物流查询请求”数据流中包含顾客标识和订单标识等数据项;“商家订单物流查询请求”数据流中包含商家标识和订单标识等数据项。