问答题 [说明]
某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。
该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销4个方面。
(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。
(2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过10本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
该图书管理系统的顶层数据流图,如图2-21所示;该图书管理系统的第0层DFD图,如图2-22所示;其中加工2的细化图,如图2-23所示。


问答题 [问题1]
请用100字以内的文字简要说明逻辑数据流图(Logical Data Flow Diagram)和物理数据流图(Physical Data Flow Diagram)之间的主要差别。
【正确答案】[问题1]
这是一道要求读者掌握逻辑数据流图和物理数据流图区别点的简答题。本题所涉及的知识点如下。
①数据流图是系统分析阶段用于描述系统逻辑模型的图形描述工具,解决信息系统“做什么”的问题。它可分为逻辑数据流图和物理数据流图。
②逻辑数据流图强调参与者所做的事情,可以帮助设计者决定需要哪些系统资源、为了运行系统用户必须执行的活动、在系统安装之后如何保护和控制这些系统等内容。逻辑数据流图说明应该具有哪些加工和数据存储,而不关心这些加工和数据存储是如何实现的。
③物理数据流图关注的是系统中的物理实体,以及一些具体的文档、报告和其他输入/输出数据。它通常用做系统构造和实现的技术性蓝图。在物理数据流图中需要说明加工和数据存储是如何实现的。
【答案解析】
问答题 [问题2]
该图书管理系统的第0层DFD图(见图2-22)有两条数据流是错误的,请指出改正后这两条数据流的起点、终点和数据流名称。
【正确答案】[问题2]
这是一道要求读者掌握DFD父图与子图的平衡原则和输入/输出平衡原则的综合分析题。本题的解答思路如下。
①根据DFD父图与子图的平衡原则和输入/输出平衡原则,通过比对图2-21和图2-22中所有输入数据流和输出数据流可知,如图2-22所示中与加工“1处理管理请求”相关的两条输入数据流和两条输出数据流都是正确的。其中,如图2-21所示中数据流“非法请求信息”在如图2-22所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流。
②由题干给出的关键信息“对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件”可知,加工“3登记读者信息”将有一条“读者情况”数据流输出到数据存储“读者文件”,即加工3是用来登记读者信息,应该将登记的读者信息写入读者文件,因此,在如图2-22所示中这一“写入”的箭头方向画反了。这条改正后数据流的起点是“3 登记读者信息”,终点是“读者文件”,数据流名称是“读者情况”。其中,该数据流名称应综合考虑题干中关键信息“系统自动生成读者号,并与读者基本信息一起写入读者文件”,并从如图2-22所示中数据流“读者信息”、“读者情况”中得到启发。
③由题干给出的关键信息“系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效……”和“系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况……”,并结合加工2的细化图(见图2-23)中加工“2.1读者信息查询”与数据存储“读者文件”之间数据流的箭头方向可知,加工“2处理查询请求”应该从数据存储“读者文件”中读出读者的信息,因此在如图2-22所示中这一“查询”的箭头画反了。这条改正后的数据流的起点是“读者文件”,终点是“2处理查询请求”,数据流名称是“读者情况”。其中,该数据流名称可从图2-22所示中加工“2处理查询请求”的输出数据流“读者情况”中得到启发。
【答案解析】
问答题 [问题3]
加工2的细化图(见图2-23)中缺少3条数据流,请指出这3条数据流的起点、终点和数据流名称。
【正确答案】[问题3]
这也是一道要求读者从题干说明信息中识别数据流,以及掌握局部数据存储的隐蔽性原则的综合分析题。本题的解答思路如下。
①根据DFD父图与子图的平衡原则和输入/输出平衡原则,通过比对图2-22和图2-23中所有输入/输出数据流可知,如图2-22所示中数据流“查询请求信息”在如图2-23所示中包含了“查询读者请求信息”和“查询图书请求信息”两条子数据流;如图2-22所示中数据流“非法查询请求信息”在如图2-23所示中包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流。
②由题干给出的说明信息可知,读者基本信息存储在读者文件中,而读者借阅图书的信息存储在借书文件中。再由题干给出的关键信息“读者信息查询可以得到读者的基本信息及读者借阅图书的情况”,并结合[问题2]的分析过程可知,在如图2-23所示中加工“2.1读者信息查询”应从数据存储“借书文件”中获取该读者借阅图书的情况。因此在如图2-23所示中补充的一条数据流起点是“借书文件”,终点是“2.1读者信息查询”,数据流名称是“读者借阅图书情况”。
③同理,由题干给出的说明信息可知,读者借阅图书的信息存储在借书文件中,而图书的基本信息存储在图书目录文件中。再由题干给出的关键信息“图书信息查询可以得到图书基本信息和图书的借出情况”可知,在如图2-23所示中加工“2.2图书信息查询”应从数据存储“图书目录文件”中获取所查询图书的基本信息,从数据存储“借书文件”中获取所查询图书的借出情况。因此在如图2-23所示中补充的一条数据流起点是“图书目录文件”,终点是“2.2图书信息查询”,数据流名称是“图书基本信息”;另一条数据流起点是“借书文件”,终点是“2.2图书信息查询”,数据流名称是“图书借出情况”。
【答案解析】
问答题 [问题4]
请根据系统功能描述数据流图,并使用[说明]中的词汇,将以下数据字典条目中(1)~(5)空缺处的内容填写完整。
查询请求信息=[查询读者请求信息|查询图书请求信息]
读者情况=读者号+姓名+所在单位+{借书情况} 管理工作请求单= (1)
入库单= (2) 借书单: (3)
还书单= (4) 非法请求信息= (5)
【正确答案】[问题4]
这是一道要求读者根据具体应用环境编写数据字典条目的综合分析题。本题的解答思路如下。
①由题干给出的关键信息“入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期”,并结合试题中给出的数据字典条目示例“读者情况=读者号+姓名+所在单位+{借书情况}”的编写风格,可得到“入库单”的数据字典条目如下。
入库单=分类目录号+书名+作者+价格+数量+购书日期
②同理,由题干给出的关键信息“借书单内容包括读者号和所借图书分类目录号”和“假设每位读者能同时借阅的书不超过10本”可知,每位读者一次可借阅多本图书(即1:n的关系),每次借阅时需向系统提交“读者号”和“所借图书分类目录号”,因此可得到“借书单”的数据字典条目如下。
借书单=读者号+{所借图书分类目录号}
③同理,由题干给出的关键信息“读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录……”,并结合常识“每位读者一次可归还多本图书(即1:n的关系)”等信息,可得到“借书单”的数据字典条目如下。
还书单=读者号+{所还图书分类目录号}
④由题干给出的关键信息“该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销4个方面”,以及题干中关于“入库单”、“借书单”、“还书单”和“注销单”的描述信息可知,每一项管理工作都需要填写相应的单据。结合试题中给出的示例“查询请求信息=[查询读者请求信息|查询图书请求信息],可得到“管理工作请求单”的数据字典条目如下。
管理工作请求单=[入库单|借书单|还书单|注销单]
⑤由[问题2]、[问题3]的分析过程可知,如图2-21所示中数据流“非法请求信息”在如图2-22所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流,而数据流“非法查询请求信息”在如图2-23所示中又包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流,因此“非法请求信息”的数据字典条目如下。
非法请求信息=[非法管理工作请求单|非法查询请求信息]
或非法请求信息=[非法管理工作请求单|非法查询读者请求信息|非法查询图书请求信息]
【答案解析】