DFD图练习(图书管理系统)

15 篇文章 1 订阅
11 篇文章 7 订阅

某学校欲开发图书管理系统,以记录图书馆所藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:
处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法。若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表。借阅者归还所借图书时, 先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。
维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。
处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。
现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
在这里插入图片描述
在这里插入图片描述
【问题1】
使用说明中的词语,给出附件图1-1中的实体E1〜E4的名称。
【问题2】
使用说明中的词语,给出附件图1-2中的数据存储D1〜D4的名称。
【问题3】
在DFD建模时,需要对有些复杂加工(处理)进行进-步精化,绘制下层数据流图。针对附件图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)
【问题4】
说明【问题3】中绘制1层数据流图时要注意的问题。

答案:
【问题1】
E1:借阅者 E2: 图书管理员
E3/E4:学生数据库/职工数据库
【问题2】
D1:图书表 D2: 借出图书表
D3:逾期未还图书表 D4:罚金表
【问题3】
检查借阅者身份或检查借阅者ID;
检查逾期未还图书;
检查罚金是否超过限额;
借阅图书;
计算图书损坏或丢失罚金额;
【问题4】
保持父图与子图平衡

解析:
【问题1】
由题干中的关键信息“(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查”、“(3) 处理逾期。系统在每周一统计逾期未还图书,……并给有逾期未还图书的借阅者发送提醒消息”,结合如图1-2所示的0层数据流图中与外部实体E1相关的输出数据流“借阅者ID”和处理“处理借阅”、输入数据流“逾期未还提醒”和处理“处理逾期”等,可知图1-1和图1-2中实体E1的名称是“借阅者”
根据题干中给出的关键信息“(1)处理借阅。……借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表”,结合图1-2中与外部实体E2相关的输出数据流“损坏罚金”和处理“处理借阅”;关键信息“(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录”,结合图1-2中与外部实体B2相关的输入数据流“查询到的图书”、输出数据流“待删除的图书”“待添加的图书”和处理“维护图书”;关键信息“(3)处理逾期。……借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度”,结合图1-2中与外部实体B2相关的输出数据流“交罚金额”和处理“处理借阅”等,可知图1-1和图1-2中实体E2的名称是“图书管理员(或图书馆管理员)”。
基于题干中给出的 “(1) 处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法…”等关键信息,结合图1-2中与外部实体E3/E4相关的输入数据流“借阅者ID”、输出数据流“验证结果”和处理“处理借阅”等,可知图1-1和图1-2中实体E3、E4的名称分别是“学生数据库”、“职工数据库”
【问题2】
结合问题1的分析结果,基于题干中给出的关键信息“(1)处理借阅。……如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,……借阅者归还所借图书时,……最后,更新图书表,删除借出图书表中的相应记录”,结合图1-2中与数据存储D1相关的输入数据流“借阅的图书”、“归还的图书”和处理“处理借阅”;关键信息“(2)维护图书。……在 新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录”,结合图1-2中与数据存储D1相关的输入数据流“新书信息”、“ 待删除图书ID”和处理“维护图书”等,可知图1-1和图1-2中数据存储D1的名称是“图书表”。
由题干中给出的“(1) 处理借阅。……如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表。借阅者归还所借图书时,……最后,更新图书表,删除借出图书表中的相应记录”等关键信息,结合图1-2中与数据存储D2相关的输入数据流“借阅的图书”、“归还的图书”和处理“处理借阅”等,可知数据存储D2的名称是“借出图书表”。
根据题干中的关键信息“(1) 处理借阅。借阅者要借阅图书时,……若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书……”等,结合图1-2中与数据存储D3相关的输出数据流“逾期未还图书”和处理“处理借阅”等,可知数据存储D3的名称是“逾期未还图书表”
基于题干中给出的关键信息“(1)处理借阅。借阅者要借阅图书时,……检查借阅…罚金表中的罚金是否超过限额。…借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表; ……”,结合图1-2中与数据存储D4相关的输入数据流“损坏/丢失罚金额”、输出数据流“罚金额”和处理“处理借阅”等;关键信息“(3)处理逾期。……逾期未还的图书按规则计算罚金,并记入罚金表,…… 借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度”,结合图1-2中与数据存储D4相关的输入数据流“交罚金额/逾期罚金额”和处理“处理逾期”等,可知数据存储D4的名称是“罚金表”。
【问题3】
根据题干中给出的关键信息“(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。……合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。……则允许借阅图书,更新图书表,……惜阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;……” 等,图1-2中加工“处理借阅”在1层数据流图中应分解为“检查借阅者身份(或检查借阅者ID)”、“ 检查逾期未还图书”、“ 检查罚金是否超过限额”、“ 借阅图书”、“计算图书损坏或丢失罚金额”、“归还图书” 等加工。题干中已明确说明“处理逾期”是一个操作,而且在描述“(3)处理逾期”中单独描述,图1-2中 已经建模为单独一个处理,因此在本问题中不需要进一步分解。
【问题4】
父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的
基于0层数据流图绘制1层数据流图时,需要注意保持父图与子图平衡。具体而言,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。

  • 11
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值