问答题 阅读以下说明和图,回答问题。
[说明]
某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下。
(1)系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。
(2)系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。
(3)根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借6件音像制品。
(4)客户租借某种音像制品的具体流程如下。
①根据客户提供的用户名和密码,验证客户身份。
②若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。
③若还有该音像制品,且客户所要租借的音像制品数小于等于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。
④系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。
⑤客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。
(5)当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。
(6)客户归还到期的音像制品,系统修改租借记录文件,并查阅预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。

14中只有一个外部实体E1。使用说明中的词语,给出E1的名称。
【正确答案】E1:用户
【答案解析】
【正确答案】D1:客户信息文件 D2:音像制品信息文件
D3:租借记录文件 D4:预约记录文件
【答案解析】
【正确答案】
起点 终点
创建预约记录 客户
归还音像制品 履行预约服务
客户 创建新客户
【答案解析】
【正确答案】面向数据结构的设计方法的基本思想是:以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构,适用于规模不大的数据处理系统。
【答案解析】[分析] 本题考查数据流图的基本操作,是每年的必考知识点。解题时要注意答题技巧,这类题目关键是要仔细阅读题目,同时把比较关键的信息标记一下,比如对象名、存储文件名等,非常利于答题。然后就是在看数据流图时把握两个数据平衡原则:
(1)分层数据流图中,父图和子图的平衡——父图中某加工的输入输出数据流必须与它的子图的输入/输出数据流在数量和名字上保持一致。
(2)每个加工既有输入数据流又有输出数据流,且一个加工所有输出数据流中的数据必须能够从该加工的输入数据流中直接获得。
[问题1] 从题目中说明可知,“客户”是这个系统的重要对象,结合数据流图,所有的活动都和E1相关,所以E1的名称为客户。
[问题2] 从题目的说明可知,本题的数据存储文件有客户信息文件、音像制品信息文件,租借记录文件和预约记录文件。由0层数据流图中的“创建新客户”后将信息保存在D1中,显然D1是客户信息文件。根据“系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量”,结合0层数据流图,可以判断出D2是音像制品信息文件。D3和“创建新的租借记录”、“计算租赁费用”和“归还音像制品”有关,在租借记录文件和预约记录文件中选择,显然D3是租借记录文件,那么D4就是预约记录文件。初步判断出来以后,再把这些数据存储文件放在图中一一检查,如果合理,那就没有错误了。
[问题3]
(1)起点:创建预约记录,终点:用户{或者5→E1}(数据流名称:预约流水号,请参考说明5)。
(2)起点:归还音乐制品,终点:履行预约服务{或者6→7}(数据流名称:预约提示信息,请参考说明6)。
(3)起点:用户,终点:创建新用户{或者E1→4}。
或者,起点:用户,终点:检查库存和客户信息{或者E1→1}。
补充数据流中缺少的数据流,关键还是要把握两个数据平衡原则。
首先看是否“每个加工既有输入数据流又有输出数据流”,比较容易发现“4创建新客户”只有输出流没有输入流,题目中的说明1又提到“对于首次来租借的客户,系统会为其生成用户名和初始密码”,所以这个处理与客户有关,也就是说从客户到“4创建新客户”有一条数据流;说明6中有“判定是否有客户预约了这些音像制品”,说明“客户”和“创建预约登记”之间应有一条数据流,预约登记一定是“客户”创建的,图中从“创建预约登记”到“客户”有输出流,所以这个数据流的起点是“创建预约登记”,终点是“客户”;再仔细阅读说明6,“客户归还到期的音像制品,系统修改租借记录文件,并查阅预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品”可知,“归还音像制品”和“履行预约服务”之间有输出数据流。
[问题4] 面向数据结构的设计方法(如Jackson方法)就是用数据结构作为程序设计的基础,最终目标是得出对程序处理过程的描述,适合在详细设计时使用,即在完成了软件结构设计之后,可以使用面向数据结构的方法来设计每个模块的处理过程,常用于规模不大的数据处理系统。