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


问答题 该图书管理系统的第0层DFD图(见图)有两条数据流是错误的,请指出并改正这两条数据流的起点、终点和数据流名称。
【正确答案】起点是“3髓记读者信息”,终点是“读者文件”,数据流名称是“读者情况”
起点是“读者文件”,终点是“2处理查询请求”,数据流名称是“读者情况”
【答案解析】这是一道要求读者掌握DFD父图与子图的平衡原则和输入/输出平衡原则的综合分析题。本题的解答思路如下。
①根据DFD父图与子图的平衡原则和输入/输出平衡原则,通过比对图中所有输入数据流和输出数据流可知,图中与加工“1处理管理请求”相关的两条输入数据流和两条输出数据流都是正确的。其中,图中数据流“非法请求信息”在图中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流。
②由题干给出的关键信息“对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件”可知,加工“3登记读者信息”将有一条“读者情况”数据流输出到数据存储“读者文件”,即加工3是用来登记读者信息,应该将登记的读者信息写入读者文件,因此,在图中这一“写入”的箭头方向画反了。这条改正后数据流的起点是“3登记读者信息”,终点是“读者文件”,数据流名称是“读者情况”。其中,该数据流名称应综合考虑题干中关键信息“系统自动生成读者号,并与读者基本信息一起写入读者文件”,并从图中数据流“读者信息”、“读者情况”中得到启发。
③由题干给出的关键信息“系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效……”和“系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况……”,并结合加工2的细化图(见图)中加工“2.1读者信息查询”与数据存储“读者文件”间数据流的箭头方向可知,加工“2处理查询请求”应该从数据存储“读者文件”中读出读者的信息,因此在图中这一“查询”的箭头画反了。这条改正后的数据流的起点是“读者文件”,终点是“2处理查询请求”,数据流名称是“读者情况”。其中,该数据流名称可从图中加工“2处理查询请求”的输出数据流“读者情况”中得到启发。
问答题 加工2的细化图(见图)中缺少3条数据流,请指出这3条数据流的起点、终点和数据流名称。
【正确答案】起点是“借书文件”,终点是“2.1读者信息查询”,数据流名称是“读者借阅图书情况”
起点是“图书目录文件”,终点是“2.2图书信息查询”,数据流名称是“图书基本信怠”
起点是“借书文件”,终点是“2.2图书信息查询”,数据流名称是“图书借出情况”
【答案解析】这也是一道要求读者从题干说明信息中识别数据流,以及掌握局部数据存储的隐蔽性原则的综合分析题。本题的解答思路如下。
①根据DFD父图与子图的平衡原则和输入/输出平衡原则,通过比对图中所有输入/输出数据流可知,图中数据流“查询请求信息”在图中包含了“查询读者请求信息”和“查询图书请求信息”两条子数据流;图中数据流“非法查询请求信息”在图中包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流。
②由题干给出的说明信息可知,“读者基本信息”存储在“读者文件中”,而“读者借阅图书信息”存储在“借书文件中”。再由题干给出的关键信息“读者信息查询可以得到读者的基本信息及读者借阅图书的情况”,并结合问题2的分析过程可知,在图中加工“2.1读者信息查询”应从数据存储“借书文件”中获取该读者借阅图书的情况。因此在图中补充的一条数据流起点是“借书文件”,终点是“2.1读者信息查询”,数据流名称是“读者借阅图书情况”。
③同理,由题干给出的说明信息可知,读者借阅图书的信息存储在借书文件中,而图书的基本信息存储在图书目录文件中。再由题干给出的关键信息“图书信息查询可以得到图书基本信息和图书的借出情况”可知,在图中加工“2.2图书信息查询”应从数据存储“图书目录文件”中获取所查询图书的基本信息,从数据存储“借书文件”中获取所查询图书的借出情况。因此在图中补充的一条数据流起点是“图书目录文件”,终点是“2.2图书信息查询”,数据流名称是“图书基本信息”;另一条数据流起点是“借书文件”,终点是“2.2图书信息查询”,数据流名称是“图书借出情况”。
问答题 请根据系统功能描述数据流图,并使用说明中的词汇,将以下数据字典条目中空缺处的内容填写完整。
查询请求信息=[查询读者请求信息/查询图书请求信息]
读者情况=读者号+姓名+所在单位+{借书情况}
管理工作请求单=______
入库单=______
【正确答案】[入库单/借书单/还书单/注销单]
(2)分类目录号+书名+作者+价格+数量+购书日期
【答案解析】这是一道要求读者根据具体应用环境编写数据字典条目的综合分析题。本题的解答思路如下。
①由题干给出的关键信息“入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期”,并结合试题中给出的数据字典条目示例“读者情况=读者号+姓名+所在单位+{借书情况}”的编写风格,可得到“入库单”的数据字典条目如下:
入库单=分类目录号+书名+作者+价格+数量+购书日期
②同理,由题干给出的关键信息“借书单内容包括读者号和所借图书分类目录号”和“假设每位读者能同时借阅的书不超过10本”可知,每位读者一次可借阅多本图书(即1:n的关系),每次借阅时需向系统提交“读者号”和“所借图书分类目录号”,因此可得到“借书单”的数据字典条目如下:
借书单=读者号+{所借图书分类目录号}
③同理,由题干给出的关键信息“读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录……”,并结合常识“每位读者一次可归还多本图书(即1:n的关系)”等信息,可得到“借书单”的数据字典条目如下:
还书单=读者号+{所还图书分类目录号}
④由题干给出的关键信息“该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销4个方面”,以及题干中关于“入库单”、“借书单”、“还书单”和“注销单”的描述信息可知,每一项管理工作都需要填写相应的单据。结合试题中给出的示例“查询请求信息=[查询读者请求信息/查询图书请求信息]”,可得到“管理工作请求单”的数据字典条目如下:
管理工作请求单=[入库单/借书单/还书单/注销单]
⑤由问题2、问题3的分析过程可知,图中数据流“非法请求信息”在图中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流,而数据流“非法查询请求信息”在图中又包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流,因此“非法请求信息”的数据字典条目如下:
非法请求信息=[非法管理工作请求单/非法查询请求信息]
或非法请求信息=[非法管理工作请求单/非法查询读者请求信息/非法查询图书请求信息]