问答题 阅读下列说明和图,回答下面问题。
[说明]
某学校开发图书管理系统,以记录图书馆藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能,主要功能的具体描述如下。
(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法,若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表,借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。
(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。
(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。
现采用结构化方法对该图书管理系统进行分析与设计,获得如图1所示的顶层数据流图和图2所示的0层数据流图。

图1 顶层数据流图

问答题 使用说明中的词语,给出图1中的实体E1~E4的名称。
【正确答案】
【答案解析】E1:借阅者;E2:图书管理员;E3/E4:学生数据库/职工数据库。 [解析] 由题目知,借阅者要借阅图书时,系统必须对其身份进行检查,而身份检查是通过验证借阅者ID实现的,而验证借阅者ID则是通过与学生数据库和职工数据库的数据进行比对实现的,E3、E4处分别填入学生数据库和职工数据库。
图书管理系统验证借阅者的ID后,检查其是否有逾期未归还的图书,有的话,则给借阅者发送逾期未还提醒,很显然,E1为借阅者。
图书维护时,要对图书进行查询、新书信息录入、书目删除等操作,进行这些操作的是图书管理员。因此E2为图书管理员。
问答题 使用说明中的词语,给出图2中的数据存储D1~D4的名称。
【正确答案】
【答案解析】D1:图书表;D2:借出图书表;D3:逾期未还图书表;D4:罚金表。 [解析] 图书管理员要从图书表中查询图书信息;新进图书时,需要将新书信息录入图书表;在图书丢失或损坏严重时,需要从图书表中删除该图书记录。由此可知,D1为图书表。
借阅图书时,需要检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。D4与罚金的操作相关,因此为罚金表。D3与逾期处理相关,因此为逾期未还图书表。
如果系统允许借阅图书,则一方面更新图书表,另一方面将借阅的图书存入借出图书表,可见D2为借出图书表。
问答题 在DFD建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)
【正确答案】
【答案解析】检查借阅者身份或检查借阅者ID;检查逾期未还图书;检查罚金是否超过限额;借阅图书;归还图书。[解析] 处理借阅涉及借书和还书两部分。借书时,首先进行的借阅者身份的验证,通过验证,则在逾期未借阅图书表中检查是否有逾期未还图书,同时,还要在罚金表中检查罚金是否超限。还书时,需要检查图书是否缺失或损坏,然后检查图书是否逾期,最后更新图书表。
问答题 说明第三个小题中绘制1层数据流图时要注意的问题。
【正确答案】
【答案解析】保持父图与子图平衡。父图中某加工的输入输出流必须与它的子图的输入输出流在数量和名字上相同。如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一数据流,那么它们仍然算是平衡的。[解析] 将加工“处理借阅”进一步进行分解,得到的便是0层数据流图的子图,原来的图便成为父图。在绘制子图的时候,要注意保持与父图的平衡。