DFD图练习(图书管理系统)
某学校欲开发图书管理系统,以记录图书馆所藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:
处理借阅。借阅者要借阅图书时,系统必须对其⾝份(借阅者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层数据流图时,需要注意保持⽗图与⼦图平衡。具体⽽⾔,⽗图中某加⼯的输⼊输出数据流必须与它的⼦图的输⼊输出数据流在数量和名字上相同。如果⽗图的⼀个输⼊(或输出)数据流对应于⼦图中⼏个输⼊(或输出)数据流,⽽⼦图中组成这些数据流的数据项全体正好是⽗图中的这⼀个数据流,那么它们仍然算是平衡的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。