本节从历年考试真题中精选出10道典型的试题进行分析,这10道试题所考查的知识点基本上覆盖了本章的所有内容,非常具有代表性。
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下。
(1)系统接受由连锁超市提出的供货请求,并将其记录到供货请求记录文件。
(2)在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则向配送处理发送配送通知;否则,向采购部门发出缺货通知。
(3)配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。
(4)采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件,向配送处理发出配送通知,同时通知财务部门给供货商支付货款。
该系统采用结构化方法进行开发,得到待修改的数据流图如图1-4所示。
图1-4 数据流图
【问题1】
使用说明中的词语,给出图1-4中外部实体E1~E4的名称和数据存储D1~D4的名称。
【问题2】
图1-4中存在4处错误数据流,请指出各自的起点和终点;若将上述4条错误数据流删除,为保证数据流图的正确性,应补充3条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用图1-4中的符号或名称)
错误的数据流
补充的数据流
例题1分析
本题考查的数据流图是每年软考下午试卷问题1必考的题目。解答数据流图的问题要善于从题目中找答案,仔细阅读题干及数据流图,解题时尽量使用题目中提到的词语,自己想出的词语也许不够准确。
做这类题时需要注意以下几个细节问题:
(1)除了流向数据存储或从数据存储流出的数据流不必命名外,其他每个数据流都必须有一个合适的名字。
(2)流向文件的数据流表示写入数据,流出文件的数据流表示读文件,在整套数据流图中,每个文件必须既有读的数据流又有写的数据流,但在某个子图中可能只有读没有写或者只有写没有读。
在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,即该文件是一个加工的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。
下面结合题目中已经给出的条件和数据流图具体分析本题。
由说明中的第(4)条中“同时通知财务部门给供货商支付货款”,很容易判断出E1是财务部门。同时,E2和E1之间的连线纯属多余。
连锁超市提出供货请求,所以E3只能是连锁超市。另外,虽然D4也有可能,但是D是数据存储,不是外部实体,所以E3是连锁超市,而D4不是,事实上,那条线画错了。接到供货请求,从商品库存记录文件中查询库存信息,所以D2必是商品记录库存文件无疑了。
如果缺货,则向采购部门发出缺货通知,所以E2必定是采购部门。而“采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件”,因此表明D2与“采购处理”之间的连线方向错误。
配送处理接收配送通知后,查询供货请求数据记录文件,更新商品库存记录文件,所以D4是供货请求数据记录文件,进一步证实了D2是商品库存记录文件。同时也说明“供货请求处理”与D4(供货请求数据记录文件)之间连线方向错误。
向配送部门发送配送单,所以E4必定是配送部门。
在配送处理的同时记录配送信息至商品配送记录文件,所以D3必定是商品配送记录文件,而D3与E4之间的连线并不需要。
采购部门进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件,所以D1必定是采购清单记录文件,而E2和“采购处理”之间缺少一条数据流连线。
例题1参考答案
【问题1】
E1:财务部门 E2:采购部门 E3:连锁超市
E4:配送部门 D1:采购清单记录文件 D2:商品库存记录文件
D3:商品配送记录文件 D4:供货请求记录文件
【问题2】
错误的数据流
补充的数据流
阅读以下说明和图,回答问题1~问题4,将解答填入答题纸的对应栏内。
【说明】
某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下。
(1)系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。
(2)系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。
(3)根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为一周,每位客户每次最多只能租借6件音像制品。
(4)客户租借某种音像制品的具体流程如下。
①根据客户提供的用户名和密码,验证客户身份。
②若该客户是合法客户,则查询音像制品信息文件,查看商店中是否还有这种音像制品。
③若还有该音像制品,且客户所要租借的音像制品数不多于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。
④系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。
⑤客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。
(5)当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。
(6)客户归还到期的音像制品,系统修改租借记录文件,并查阅预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。
【问题1】
图1-5中只有一个外部实体E1。使用说明中的词语,给出E1的名称。
图1-5 顶层数据流图
【问题2】
使用说明中的词语,给出图1-6所示的数据存储D1~D4的名称。
图1-6 0层数据流图
【问题3】
图1-6中缺少了3条数据流,根据说明及数据流图1-8所提供的信息,分别指出这3条数据流的起点和终点。
补充的数据流
【问题4】
在进行系统分析与设计时,面向数据结构的设计方法(如Jackson方法)也被广泛应用。简要说明面向数据结构设计方法的基本思想及其适用场合。
例题2分析
本题考查数据流图的基本操作,是每年的必考知识点。解题时要注意答题技巧,解答这类题目的关键是仔细阅读题目,同时把比较关键的信息标记下来,例如对象名、存储文件名等,非常利于答题。然后就是在看数据流图时把握以下两个数据平衡原则:
(1)分层数据流图中,父图和子图的平衡——父图中某加工的输入/输出数据流必须与其子图的输入/输出数据流在数量和名字上保持一致。
(2)每个加工既有输入数据流又有输出数据流,且一个加工所有输出数据流中的数据必须能够从该加工的输入数据流中直接获得。
【问题1】
从题目的说明可知,“客户”是这个系统的重要对象,整个题目都是在介绍有关客户和此系统之间的有关操作。结合数据流图,所有的活动都和E1相关,所以E1为“客户”。
【问题2】
从题目的说明可知,本题的数据存储文件有客户信息文件、音像制品信息文件、租借记录文件和预约记录文件。
由0层数据流图中所示的“创建新客户”把相关的数据存在D1中,同时根据说明中“对于首次来租借的客户,系统会为其生成用户名和初始密码”和“客户信息文件保存了该商店的所有客户的用户名、密码等信息”的描述,由此可知,D1是客户信息文件。
根据说明中“系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量”,并结合0层数据流图,与“1检查库存和客户信息”处理有关的数据存储文件有D1和D2,可以判断出D2是音像制品信息文件。
D3和“创建新的租借记录”、“计算租借费用”和“归还音像制品”有关,根据说明中“系统计算租借费用,将费用信息保存在租借记录文件中并告知客户”,因此在租借记录文件和预约记录文件中选择,显然D3是租借记录文件,那么D4就是预约记录文件。初步判断出来以后,再把这些数据存储文件放在图中并一一检查,如果合理,那就没有错误了。
【问题3】
(1)起点:创建预约记录;终点:用户(或5-E1)(数据流名称:预约流水号,请参考说明(5))。
(2)起点:归还音乐制品;终点:履行预约服务(或6-7)(数据流名称:预约提示信息,请参考说明(6))。
(3)起点:用户;终点:创建新用户(或E1-4)。或者起点:用户;终点:检查库存和客户信息(或E1-1)(数据流名称:新用户创建请求,请参考顶层数据流图,用数据平衡方法将其与0层数据流图对比即可得之)。
补充数据流图中缺少的数据流,关键还是要把握两个数据平衡原则。
首先看是否“每个加工既有输入数据流又有输出数据流”,比较后容易发现“4创建新客户”只有输出流没有输入流,题目中的说明(1)又提到“对于首次来租借的客户,系统会为其生成用户名和初始密码”,所以这个处理与客户有关,也就是说从客户到“4创建新客户”有一条数据流。
说明(6)中有“判定是否有客户预约了这些音像制品”,说明“客户”和“创建预约登记”之间应有一条数据流,预约登记一定是“客户”创建的,图中从“创建预约登记”到“客户”有输出流,所以这个数据流的起点是“创建预约登记”,终点是“客户”。
再仔细阅读说明(6),“客户归还到期的音像制品,系统修改租借记录文件,并查阅预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品”可知,“归还音像制品”和“履行预约服务”之间有输出数据流。
【问题4】
面向数据结构的设计方法(如Jackson方法)就是用数据结构作为程序设计的基础,最终目标是得出对程序处理过程的描述,适合在详细设计时使用,即在完成了软件结构设计之后,可以使用面向数据结构的方法来设计每个模块的处理过程,常用于规模不大的数据处理系统。使用面向数据结构的设计方法,当然首先需要分析确定数据结构,并且用适当的工具清晰地描述数据结构。
例题2参考答案
【问题1】
E1:客户
【问题2】
D1:客户信息文件 D2:音像制品信息文件
D3:租借记录文件 D4:预约记录文件
【问题3】
补充的数据流
【问题4】
面向数据结构的设计方法的基本思想是以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构,适用于规模不大的数据处理系统。
阅读以下说明和图,回答问题1~问题4,将解答填入答题纸的对应栏内。
【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。
(1)每门课程都由3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
(2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
(3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果该学生的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
(4)对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
(5)若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
(6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告退还系统。
(7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到图1-7所示的顶层数据流图和图1-8所示的0层数据流图。
【问题1】
使用说明中的词语,给出图1-7所示的外部实体E1~E4的名称。
【问题2】
使用说明中的词语,给出图1-8所示的数据存储D1~D5的名称。
图1-7 顶层数据流图
图1-8 0层数据流图
【问题3】
图1-8中缺少了3条数据流,根据说明及图1-7所提供的信息,分别指出这3条数据流的起点和终点。
补充的数据流
【问题4】
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。
例题3分析
本题考查的是数据流图的应用,属于比较传统的题目,考查点也与往年类似。
【问题1】
外部实体是在系统边界之外的个人和组织,它提供数据或接受数据输出。
根据主要功能描述:“学生成绩均由每门课程的主讲教师上传给成绩管理系统”,所以主讲教师是一个外部实体,根据顶层数据流图得知,E2处应填“主讲教师”;“对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处”和“成绩已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全”,在这里“教务处”是一个外部实体,应填在E4处。“根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统”。在这里考试委员会是一个外部实体,应填在E1处;“对于所有通过审查的成绩,系统将生成最终的成绩单,并通知每个选课学生”。在这里“选课学生”是一个外部实体,应填在E3处。
【问题2】
数据存储是保存数据的地方,将来一个或多个过程会访问这些数据。
根据0层数据流图,在“验证学生信息”处有3个数据输入,根据“在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修过这门课程,若没有,那么这些成绩是无效的;如果该学生的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。”得知由学生信息文件、课程单元信息文件、课程信息文件帮助验证:在“生成成绩列表”处也要利用到D1文件,现已输入了成绩审查结果、核对后的成绩报告,只缺“学生信息文件”,所以D1处应填“学生信息文件”;D2和D3处分别填“课程单元信息文件”和“课程信息文件”。D4是“记录有效成绩”的一个输出文件,根据 “对于有效成绩,系统将其保存在课程成绩文件中”得知,D4处应填“课程成绩文件”;D5处应填“无效成绩文件”。
【问题3】
在0层数据流图中的“4生成成绩列表”处没有课程成绩文件输入,不可能生成成绩列表。所以在此处缺少一条从“D4课程成绩文件”到“4生成成绩列表”的数据流。
“5生成最终成绩单”没有任何输入,不符合数据输入/输出平衡原则,根据“根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后会提交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单”,所以应根据“学生信息文件”和“生成成绩列表”才能生成最终成绩单,所以还应补充从“D1学生信息文件”到“5生成最终成绩单”的数据流和“4生成成绩列表”到“5生成最终成绩单”的数据流。
【问题4】
程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。
例题3参考答案
【问题1】
E1:考试委员会 E2:主讲教师
E3:学生或选课学生 E4:教务处
【问题2】
D1:学生信息文件 D2:课程单元信息文件 D3:课程信息文件
D4:课程成绩文件 D5:无效成绩文件
【问题3】
补充的数据流
【问题4】
程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。
阅读以下说明和图,回答问题1~问题3,将解答填入答题纸的对应栏内。
【说明】
某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,从而快速地提供租赁服务。该系统具有以下功能:
(1)登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。
(2)登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状况(待租赁、已出租)。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。
(3)登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。
(4)租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。
(5)收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单缴纳相应的费用。
(6)变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求,系统将根据房主的请求修改房屋信息文件。
图1-9和图1-10分别给出了该系统的顶层数据流图和0层数据流图。
【问题1】
使用说明中给出的词汇,将图1-9中(1)~(4)处的数据流补充完整。
【问题2】
使用说明中给出的词汇,将图1-10中的(5)~(8)补充完整。
图1-9 顶层数据流图
图1-10 0层数据流图
【问题3】
图1-10中缺失了3条数据流,请指出这3条数据流的起点、终点和数据流名称。
补充的数据流
例题4分析
本题考查的是分层数据流图,该题型每年必考,是需要考生重点掌握的内容。
解题的两大原则:
(1)数据平衡原则。即下层图的输入与输出应与上层图保持一致,也就是父图和子图之间的数据流必须保持一致;
(2)系统功能描述与数据流图的一致性原则。这个原则是很多书籍上都容易忽视的一点,也是只有当应考时才会用到的重要原则。
首先根据数据平衡原则有:
●在0层数据流图中,与“房主”相关的数据流一共有5条。根据数据平衡原则,顶层数据流图应该有与之对应的数据流,但“费用单”数据流在顶层数据流图中并不能找到,并且是系统输出给“房主”的,因此这条数据流恰好可以与(1),所以(1)应是“费用单”数据流。
●通过比较顶层数据流图和0层数据流图中与外部实体“租赁者”相关的数据流,可以发现:出现在0层数据流图上的数据流“待租赁房屋列表”是顶层数据流图上没有的,并且与(2)处的数据流方向一致。由此可以判定,(2)处的数据流就是“待租赁房屋列表”。而顶层数据流图中的数据流“租赁者信息”却是0层数据流图上没有的。这样就找到了0层数据流图上缺失的第2条数据流:租赁者信息,它的起点是“租赁者”,终点是加工“登记租赁者信息”。
根据系统功能描述与数据流图的一致性原则有:
●由于(4)处缺失的数据流是一条输入数据流,从说明中可以看出,只有功能6“当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求”所描述的数据流没有在“房主”与系统之间体现出来。因此可以确定,(4)处缺失的数据流就是“变更房屋状态请求”。相应地,可以确定,在0层数据流图中缺失的其中一条数据流也是它,其起点是“房主”,终点是“变更房屋状态”这个加工。
●由于说明中有“租赁者”相关的功能“一旦租赁者从中找到合适的房屋,就可以提出看房请求”,这一功能未在图中体现出来。这样就能确定(3)处的数据流应该是“看房请求”,而0层数据流图中也没有出现这条数据流。所以,0层数据流图中缺失的第3条数据流就是“看房请求”,它的起点是“租赁者”,终点是加工“安排租赁者看房”。
●由说明中的描述可以得知,本系统中的数据存储有房主信息文件、房屋信息文件、租赁者信息文件、看房记录文件(一般情况在系统描述中,都把数据存储称为**文件)。下面就可以根据相应的加工对号入座了。显然,(5)处应是房主信息文件;(6)处应是租赁者信息文件;(7)处应是房屋信息文件;(8)处应是看房记录文件。
例题4参考答案
【问题1】
(1)费用单
(2)待租赁房屋列表
(3)看房请求
(4)变更房屋状态请求
【问题2】
(5)房主信息文件
(6)租赁者信息文件
(7)房屋信息文件
(8)看房记录文件
【问题3】
补充的数据流
阅读下列说明及数据流图,回答问题1~问题3,将解答填入答题纸的对应栏内。
【说明】
某学校建立了一个网上作业提交与管理系统,基本功能描述如下:
(1)账号和密码。任课老师用账号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的账号和密码。
(2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。
(3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。
【问题1】
如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?
【问题2】
根据说明,结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流?请采用说明中的词汇给出这些数据流的起点、终点及数据流名称,下表给出了数据流的部分信息,请填充空缺处。
【问题3】
根据数据流图的设计原则,阅读图1-11所示的数据流图,找出其中的错误之处。
图1-11 数据流图
例题5分析
本题描述了一个简单的网上作业提交与管理的系统,说明部分介绍了该系统的功能和交互过程。本题考查考生根据文字描述绘制出数据流图的能力,包括外部实体的识别、数据流的识别和对绘制数据流图时常见错误的修正。出题比较细,要求考生掌握数据流图的设计原则,并能够完整地给出数据流图的外部实体、数据存储和数据流。
【问题1】
数据流图中包含4种元素:加工、数据流、外部实体和数据存储。
数据流是沿箭头方向传送数据的通道,它们大多是在加工之间传输加工数据的命名通道,也有连接数据存储文件和加工的未命名的数据通道。多个数据流可以指向同一个加工,也可以从一个加工散发出许多数据流。加工是以数据结构或数据内容作为加工对象的。加工的名字通常是一个动词短语,简明扼要地表明完成的是什么加工。文件在数据流图中起保存数据的作用,因此称为数据存储。它可以是数据库文件或任何形式的数据组织。数据流图中第4种元素是数据源点或汇点,它表示图中要处理数据的输入来源及处理结果要送往何处。由于它在图中的出现仅仅是一个符号,并不需要以软件的形式进行设计和实现,因此,它只是数据流图的外围环境中的实体,故称为外部实体。
该题要求确定数据流图的外部实体和数据存储。由于给出的网上作业提交与管理系统功能比较简单,考生仔细阅读说明部分即可轻松解答该题。
根据说明“‘学生’和‘任课教师’向‘网上作业提交与管理系统’提供最原始的输入数据,并从系统中获取相应的输出数据”可以看出,系统涉及任课老师、选课学生和数据库服务器3个实体。由“系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中”可知,数据流图中应有“作业成绩统计文件”这个数据存储。
【问题2】
在绘制数据流图时,按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。先把整个数据处理过程暂且看成一个加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口,这就是分层数据流图的顶层图。顶层数据流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统的输出数据。顶层数据流图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。
本题要求“根据说明,并结合问题 1的解答”。因为要求填充的数据流的空缺部分大部分涉及问题 1中提到的外部实体和数据存储。如果得到了正确的外部实体和数据存储,则可以保证正确、快速地得到本题的答案。所以考生在开始解答本题前,一定要再次仔细地分析说明,确保问题 1的正确,否则将大量失分。由于本题描述的系统功能简单,所以相信考生不难得到问题的正确解答。
观察给出的表可知,序号为3、4、5、6的是以“网上作业提交与管理系统”为起点的数据流,其他是以“网上作业提交与管理系统”为终点的数据流。
数据流1的名称为“作业申请”,在说明部分找到相应的描述:“学生使用账号和密码登录系统后,可以向系统申请所选课程的作业”,可见(1)为学生。
根据“若申请成功,则显示需要完成的作业。学生需在线完成作业,单击。‘提交’按钮上交作业”可知,(2)、(3)也为学生。
根据“系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中”可知,系统应向学生显示他/她的作业成绩,并将成绩写入作业成绩统计文件。所以必定有两条从“网上作业提交与管理系统”出发的作业成绩数据流,一条终点为学生,另一条终点为作业成绩统计文件,由此可以得出(4)、(5)、(7)、(8)的答案。
根据“系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业”可知,系统和数据库服务器(DB)进行了交互,完成了作业申请,所以(6)为DB。
根据说明中的描述:“任课老师用账号和密码登录系统后,提交所有选课学生的名单”和“学生使用账号和密码登录系统后,可以向系统申请所选课程的作业”可以得出,(9)为任课老师,(12)、(13)分别为学生和任课老师。
最后,根据说明部分对“作业提交”功能的描述可知,学生向系统申请作业后,由系统进行检查,然后向DB申请作业。“若申请成功,则显示需要完成的作业”,也就是说应有一条从DB到系统的数据流,用来返回申请到的作业,故(10)、(11)分别为DB和作业。
【问题3】
在绘制单张数据流图后,可以遵循下列原则进行检错:
(1)数据流图上所有图形符号只限于前述4种基本图形元素。
(2)数据流图的主图必须包括前述4种基本元素,缺一不可。
(3)数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不止一个。
(4)每个加工至少有一个输入数据流和一个输出数据流。
(5)在数据流图中,需要按层为加工进行编号。编号表明该加工处于哪一层,以及上下层的父图和子图的对应关系。
(6)任何一个数据流图的子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致,即父图与子图的平衡,它表明了在细化过程中输入与输出不能有丢失和添加。
(7)图中的每个元素都必须有名字。用于表明数据流和数据文件是什么数据,以及加工做什么事情。
(8)数据流图中不可夹带控制流。因为数据流图是实际业务流程的客观映像,说明系统是“做什么”的,而不是要表明系统“如何做”的,因此不是系统的执行顺序,不是程序流程图。
该题要求根据数据流图的设计原则,找出数据流图中的错误。
首先,外部实体和数据存储应与加工进行交互,它们之间不能有数据流。根据这一原则可以确定数据流X和H是不能存在的。
其次,数据流图中要求“每个加工至少有一个输入流和一个输出流,反映此加工的数据来源和结果,加工的输出数据流应该都有其对应的输入数据流”,根据这一原则,细心的考生可以发现加工4只有输入数据流,没有输出数据流;而加工5只有输出数据流,没有输入数据流,这都是错误的。
另外,同一个加工可以有相同名称的多个输出流(或输出流),但是不能有相同名称的输出流和输入流,所以加工2的输入和输出流名称都为Z,是错误的。
例题5参考答案
【问题1】
外部实体:(选课)学生、(任课)老师
数据存储:作业成绩统计文件
【问题2】
(1)(选课)学生(2)(选课)学生
(3)(选课)学生(4)(选课)学生
(5)作业成绩(6)DB
(7)作业成绩统计表(8)作业成绩
(9)(任课)老师(10)DB
(11)作业(12)(选课)学生
(13)(任课)老师
注:(4)、(6)的答案可互换,(12)、(13)的答案可互换。
【问题3】
错误1:外部实体A和B之间不能存在数据流。
错误2:外部实体A和数据存储H之间不能存在数据流。
错误3:加工2的输入/输出数据流名字相同。
注:若回答数据存储P和加工2的数据流方向相反也正确。
错误4:加工4只有输入数据流,没有输出数据流。
注:若回答数据流G的方向反了(或数据流P的方向反了)也正确。
错误5:加工5只有输出数据流,没有输入数据流。
阅读下列说明及数据流图,回答问题1~问题3,将解答填入答题纸的对应栏内。
【说明】
学生住宿舍服务系统帮助学生在就学的城市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面信息进行管理和维护。
房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识(ID)和密码;房屋信息包括房屋地址、类型(单间/套间)、适合住宿的人数、房租、房主的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出租或者房屋已被租出)。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋文件以便学生能够获得准确的可租用房屋信息。房主向系统中加入可租用的房屋信息时,需缴纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。
学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、出生日期、性别以及系统分配的ID和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主。会面信息包括会面时间、地点以及会面双方的基本信息,系统将记录会面信息。
学生住宿服务系统的顶层图如图1-12所示;学生住宿服务系统的第0层DFD图如图1-13所示,其中,加工3的细化图如图1-14所示。
图1-12 学生住宿服务系统的顶层图
【问题1】
图1-12缺少了一条数据流(在图1-13中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。
图1-13 学生住宿服务系统的第0层DFD图
图1-13中缺少了与“查询房屋”加工相关的数据流,请指出数据流的起点和终点。
【问题2】
“安排会面”加工除需要写入会面文件外,还需要访问哪些文件?
【问题3】
请补齐下列据字典条目:
●登录信息=学生ID+密码
●注册信息=
图1-14 加工3的细化图
例题6分析
解答本题的要点是利用分层数据流图的数据流的平衡原则,该原则的内容主要体现在以下两个方面:
(1)第一个方面是父图和子图(加工图)的一致性,如果父图的某个加工有输入数据流A,则子图也必须要有同样的输入数据流A。
(2)第二个方面是输入数据流和输出数据流的平衡,如果一个加工只有输入数据流而没有输出数据流,或只有输出数据流而没有输入数据流,那么就表示加工肯定有问题,一个加工必须有输入数据流也有输出数据流。
题目中的分层数据流图描述的是一个学生住宿系统。在题目的说明部分已经对此系统的功能做了详细的说明,并且介绍了系统的交互过程,分层数据流图其实只是把这些描述性的文字转化为直观的图形显示。
【问题1】
以往的考题都是要求考生根据分层数据流图的父图、子图的平衡关系,找出缺少的数据流或错误的数据流。不过在此题中,顶层图和0层图都没有画出缺少的数据流,所以此时不能使用这条原则,而只能从题目的说明部分找线索。前面也提到了分层数据流图是可以和系统说明对应上的,所以我们把题目说明中的描述逐条与数据流对应。例如:信息“每当房屋信息发生变化时,房主须通知系统”可以与数据流“更新房屋信息”相对应,“房主向系统中加入可租用的房屋信息……”表明房主可以向系统添加房屋信息,这条信息可以与数据流“添加房屋信息”相对应,信息“学生信息包括……”对应了数据流“学生信息”。按照这个方法,我们可以把顶层图中的每一条数据流与系统说明的描述相对应,唯有题目描述的“房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息”中提到的费用信息没有对应的数据流。
因此问题1的第(1)问答案为:
数据流名称:“费用信息”;起点:“学生住宿服务系统”;终点:“房主”。
此外,有些考生认为顶层图少了房主的注册信息数据流,因为有一条同类的“学生信息”数据流。但题目中说明了只缺了一条数据流,“费用信息”肯定是缺少的数据流。还有一点最关键的,就是在0层图中从“添加房屋”到房主文件,有一条双向数据流“新房主”,这说明了“添加房屋”这个加工可以添加一个新房主,这也就完成了新房主的注册。所以如果再加一条“房主信息”数据流,进行新房主注册,这就显得多余了。
下面来看0层数据流图,题目要求在此图中指出与“查询房屋”加工相关的数据流。从题目说明中可以看出“查询房屋”的功能是为学生提供房屋出租信息。在图中,我们看到“查询房屋”有输入数据流“学生ID”和“查看房屋请求”及“可租用的房屋”。系统的房屋出租信息是存在“房屋文件”中的,而“查询房屋”加工却没有读取“房屋文件”的数据流,这显然不正确。所以此加工缺少了从“房屋文件”到“查询房屋”的数据流。
所以问题1的第(2)问答案为:缺少从“房屋文件”到“查询房屋”的数据流。
【问题2】
接下来看0层图的“安排会面”。题目要求指出此加工还与哪些文件相关,我们从题目中了解到,“安排会面”加工会输出会面信息,该信息包括:会面时间、地点以及会面双方的基本信息。其中,会面时间和会面地点可以根据系统的一些规则,由“安排会面”加工生成,但双方的基本信息是分别存放在“房主文件”和“学生文件”中的,若要调出这些信息,则“安排会面”加工必须读取这两个文件的数据,所以“安排会面”还需要访问房主文件和学生文件。
【问题3】
最后一题要求补充注册信息的数据字典条目。格式的例子都已经给出了,我们只要对照写即可。这里值得注意的一点就是要区分哪些数据是注册时要提交的,哪些数据是系统自动生成的。由于题目中说明“系统分配的唯一身份标识 (ID)和密码”,所以注册信息中不需要写ID和密码,即注册信息=姓名+现住址+电话号码+出生日期+性别。
例题6参考答案
【问题1】
(1)数据流名称:“费用信息”;起点:“学生住宿服务系统”;终点:“房主”。
(2)缺少从“房屋文件”到“查询房屋”的数据流。
【问题2】
房主文件和学生文件。
【问题3】
姓名+现住址+电话号码+出生日期+性别。
阅读下列说明及数据流图,回答问题1~问题3,将解答填入答题纸的对应栏内。
【说明】
某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(如姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为4个方面:购入新书、读者借书、读者还书及图书注销。
(1)购入新书时要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件,并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。
(2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
(4)注销图书时,需填写注销单并修改图书目录文件占的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
图书管理系统的顶层图如图1-15所示;图书管理系统的第0层DFD图如图1-16所示,其中,加工2的细化图如图1-17所示。
【问题1】
图1-16中有两条数据流是错误的,请指出这两条数据流的起点和终点。
【问题2】
图1-17中缺少3条数据流,请指出这3条数据流的起点和终点。
【问题3】
根据系统功能和数据流图填充下列数据字典条目中的(1)和(2)。
查询请求信息=[查询读者请求信息 查询图书请求信息]
读者情况=读者号+姓名+所在单位+[借书情况]
管理工作请求单=
入库单=
图1-15 图书管理系统的顶层图
图1-16 图书管理系统的第0层DFD图
图1-17 加工2的细化图
例题7分析
本题是一道分层数据流图的题,解答此类问题最关键的一点就是要细心,把题目看清,不要丢掉任何一个条件。另外,解题时应有一定的技巧,从一些常规的入口作为突破口,会事半功倍。下面就利用分层数据流图的数据流的平衡原则(即父图和子图(加工图)的一致性)来解题。
子图是其父图中某一部分内部的细节图。例如,你看到地上有只蚂蚁有6条细细的腿,中间是一个小黑点,若想看得更清楚一些就要使用放大镜看。这时,你能看到它的头、触角、身体和比较粗的腿,但是你看到的一定还是6条腿,而不是7条,也不是3条。子图也是如此,在上一级中有几个数据流,它的子图也一定有同样的数据流,而且它们的输送方向是一致的(也就是说,原图有3条进的数据流、两条出的数据流,子图同样也是)。
以前的考题往往只是简单地抽掉了一些子图的输入/输出数据流,让考生补充,题型过于简单,只要考生了解了上面的规则,就很容易解答,但在此题中有了一定的变化。不过我们还是要用到上面的规则,把0层图中的输入/输出数据流逐条地与顶层图中的数据流进行对比。
【问题1】
通过对比可发现,顶层图中的“非法请求信息”数据流在0层图中没有对应的数据流,而0层图中多出了两个数据流:“非法管理工作请求单”和“非法查询请求信息”,这是否就是问题1所指的两条错误数据流呢?不确定。因为从字面上和处理流程来看“非法管理工作请求单”和“非法查询请求信息”都应属于“非法请求信息”,而且在分层数据流图中完全有可能把子图中的同类信息合并,写成一个。
我们现在应该看0层图中的其他数据流是否有问题。此时就只剩下与“读者文件”相关的两个数据流了,图中的“2处理查询请求”应完成的功能是查询出“图书情况”和“读者情况”(这一点可以从题干中的“系统的信息查询功能主要包括读者信息查询和图书信息查询”看出),这一过程要用到读者文件中的一些数据,所以应从读者文件中取数据,但图中的数据流是从“2处理查询请求”到“读者文件”,这种数据流的含义是把数据存入“读者文件”,显然不正确。再来看另一条数据流:“读者文件”到“3登记读者信息”的数据流,在“3登记读者信息”完成的功能把读者基本信息写入“读者文件”(这一点可以从题干中的“系统自动生成读者号,并与读者基本信息一起写入读者文件”看出)。所以图上的数据流方向不正确,应是从“登记读者信息”到“读者文件”。
因此,问题1的答案是:从“2处理查询请求”到“读者文件”的数据流和从“读者文件”到“3登记读者信息”的数据流。
【问题2】
细心的考生应该注意到,加工2的细化图中与读者文件关联的数据流方向与0层图的不同,而加工2的细化图中只是缺少了数据流,没有错误的数据流。由此也可以看出这条数据流有问题。
用同样的方法来分析“加工2的细化图”,可以发现此图中的输入/输出数据流和0层图中“2处理查询请求”的输入/输出数据流完全可以对应 (除与“读者文件”相关联的那条外)。
所以确定缺少的数据流是加工2的内部数据流。加工2的细化图中有两个文件是孤立的,没有数据流与之相联,这显然不合常理,所以我们看看题目中关于读者信息查询和图书信息查询的描述:“系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况”。这样一来就十分明显了,读者信息查询要用到“借书文件”,我们就加上一条从“借书文件”到“2.1读者信息查询”的数据流。同理,有从“借书文件”到“2.2图书信息查询”的数据流和从“图书目录文件”到“2.2图书信息查询”的数据流。
【问题3】
从系统的描述看来,系统的图书管理功能分为4个方面:购入新书、读者借书、读者还书及图书注销。又因为购入新书时需要为该书编制入库单;读者借书时需填写借书单;读者还书时需填写还书单;注销图书时需填写注销单并修改图书目录文件中的库存总量。所以(1)应填“[入库单|借书单|还书单|注销单]”。
因为题目中明确提到,入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,所以(2)应填“分类目录号+书名+作者+价格+数量+购书日期”。
例题7参考答案
【问题1】
(1)从“2处理查询请求”到“读者文件”的数据流。
(2)从“读者文件”到“3登记读者信息”的数据流。
【问题2】
(1)从“借书文件”到“2.1读者信息查询”的数据流。
(2)从“借书文件”到“2.2图书信息查询”的数据流。
(3)从“图书目录文件”到“2.2图书信息查询”的数据流。
【问题3】
(1)[入库单|借书单|还书单|注销单]。
(2)分类目录号+书名+作者+价格+数量+购书日期。
阅读下列说明,回答问题1~问题4,将解答填入答题纸的对应栏内。
【说明】
现准备为某银行开发一个信用卡系统CCMS,该系统的基本功能如下:
(1)信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。
(2)信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。
(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。
(4)交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。
图1-18和图1-19分别给出了该系统的顶层数据流图和0层数据流图的初稿。
【问题1】
根据说明,将图1-18中的E1~E3填充完整。
【问题2】
图1-18中缺少3条数据流,根据说明分别指出这3条数据流的起点和终点。(注:数据流的起点和终点均采用图中的符号和描述)
图1-18 顶层数据流图
图1-19 0层数据流图
【问题3】
图1-19中有两条数据流是错误的,请指出这两条数据流的名称并改正。(注:数据流的 起点和终点均采用图中的符号和描述)
【问题4】
根据说明,将图1-19中P1~P4的处理名称填充完整。
例题8分析
该题以银行信用卡管理系统为载体来考核考生对数据流图知识点的把握。从题目的问答形式上来看,和往年一致,仍然是要求补充外部实体、补充缺失数据流、找出错误数据流、补充加工处理。
解答这类问题时有以下两个原则:
(1)紧扣试题的系统说明部分,数据流图与系统说明有着严格的对应关系,系统说明部分的每一句话都能对应到图中,解题时可以逐句地对照着图来分析。
(2)数据的平衡原则,这一点在解题过程中也是至关重要的。数据平衡原则有两方面的含义:一方面是分层数据流图中父子图之间的数据流平衡原则;另一方面是每张数据流图中输入与输出数据流的平衡原则。
【问题1】
说明的第(1)条是关于非信用卡用户申请信用卡的,有描述“如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函”,再结合图1-4可知,E1是非信用卡用户。从这一描述还可以看出,信用卡申请是要被银行审核的,银行接受申请后把申请验证结果发给CCMS系统,所以E3是银行。
说明的第(2)条和第(3)条是关于信用卡客户的操作权限,对应图1-4中的E2,所以E2是信用卡客户。
【问题2】
由说明的第(1)条可知,非信用卡用户是要先向CCMS提交申请的基本信息,然后CCMS才有反馈信息,所以这里缺少一条由P0到E1的数据流。
信用卡客户向CCMS发出交易记录查询请求后,CCMS还必须把查询到的交易记录结果反馈给信用卡客户,所以这里缺少由P0到E2的数据流。
由说明的第(2)条“信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡”可知,对应这一描述缺少一条由E2到P0的数据流。
【问题3】
知道了E1~E3以及P1~P4所代表的名称后,找错误的数据流就比较简单了。比较明显的是P4到E1的信用卡申请这一条,这显然是错误的,而且也违背了数据平衡原则。应是由非信用卡客户向P4发信用卡申请,即起点是E1,终点是P4。
“激活请求”是信用卡客户向CCMS发送的请求,而不是P4和P3之间的活动,所以这条由P4到P3的数据流是错误的,应修改为起点为E2、终点为P3的数据流。
【问题4】
首先分析问题4,如果问题4的结果出来后错误的数据流就比较明显了。显然P1~P4指的是说明中的(4)条。P1显然对应的是第(4)条——交易信息查询;P2对应的是第(3)条—— 信用卡客户信息管理;P3对应的是第(2)条——信用卡激活;P4对应的是第(1)条——信用卡申请。
例题8参考答案
【问题1】
E1:非信用卡客户 E2:信用卡客户 E3:银行
【问题2】
缺少的3条数据流
【问题3】
错误的数据流
改正后的数据流
【问题4】
P1:交易信息查询 P2:信用卡客户信息管理
P3:信用卡激活 P4:信用卡申请
阅读下列说明和图,回答问题1~问题3,将解答填入答题纸的对应栏内。
【说明】
某营销企业拟开发一个销售管理系统,其主要功能描述如下:
(1)接受客户订单,检查库存货物是否满足订单要求。如果满足,进行供货处理,即修改库存记录文件,为库房开具备货单并且保留客户订单至订单记录文件;否则进行缺货处理,即将缺货记录单存入缺货记录文件。
(2)根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门。
(3)根据采购部门提供的进货通知单进行进货处理,即修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理。
(4)根据保留的客户订单进行销售统计,打印统计报表给经理。
现采用结构化方法对销售管理系统进行分析与设计,获得如图1-20所示的顶层数据流图和如图1-21所示的0层数据流图。
【问题1】
使用说明中的词语,给出图1-20所示的外部实体E1~E4的名称。
【问题2】
使用说明中的词语,给出图1-21所示的数据存储D1~D3的名称。
【问题3】
图1-21中缺少了4条数据流,根据说明图1-20所提供的信息,分别指出这4条数据流的起点和终点。
补充的数据流
图1-20 顶层数据流图
图1-21 0层数据流图
例题9分析
本题考查考生对数据流图的掌握情况,要求补充外部实体、补充缺失数据流、补充数据存储。
下面运用数据流图的两大解题原则来解答本题。
根据说明中的“接受客户订单,检查库存货物是否满足订单要求”,对应顶层数据流图中的E1到销售管理系统,名为“订单”数据流,可知E1就是客户。
根据说明中的“供货处理,即修改库存记录文件,为库房开具备货单并且保留客户订单至订单记录文件”,可以看出E3是库房。由图1-21所示的0层数据流图可知,D2和D3为库存记录文件和订单记录文件,但具体D2对应的是哪个文件此时还不能分析出来。
根据说明中的“根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门”可知,D1为缺货记录文件。再结合图1-20所示的顶层数据流图可知,E2为采购部门。
根据说明中的“根据采购部门提供的进货通知单进行进货处理,即修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理”可知,D2为库存记录文件,因此D3为订单记录文件。
根据说明中的“根据保留的客户订单进行销售统计,打印统计报表给经理”可知,E4为经理。
综上分析,可知图1-21所示的0层数据流图中缺少从“库存记录文件”到“处理订单”的数据流、从“缺货记录文件”到“进货处理”的数据流、从“订单记录文件”到“销售统计”的数据流以及从“进货处理”到“供货处理”的数据流。
例题9参考答案
【问题1】
E1:客户 E2:采购部门
E3:库房 E4:经理
【问题2】
D1:缺货记录文件 D2:库存记录文件 D3:订单记录文件
【问题3】
补充的数据流
阅读以下说明和数据流图,回答问题1~问题5,将解答填入答题纸的对应栏内。
【说明】
某银行已有一套基于客户机/服务器模式的储蓄系统A和一套建账软件。建账软件主要用于将储蓄所手工处理的原始数据转换为系统A所需的数据格式。该建账软件具有以下功能:
(1)分户账录入。手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确性。
(2)初录/复录比对。将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。
(3)数据确认。当上述两套数据完全一致后,将其中任一套作为最终进入系统A的原始数据。
(4)汇总核对和打印。对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。
(5)数据转换。将经过确认的数据转换为储蓄系统A需要的中间格式数据。
(6)数据清除。为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的数据。
该软件的数据流图如图1-22~图1-24所示。
图1-22 建账软件的顶层数据流图
图1-23 建账软件的第0层数据流图
图1-24 建账软件的第1层数据流图
软件需要打印的分户账清单样式如表1-4所示。
表1-4 分户账清单样式表
图1-22至图1-24中部分数据流数据文件的格式如下:
●初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质
●复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质
●初录数据=手工分户账+一致性标志
●复录数据=手工分户账+一致性标志
●会计账目=储蓄所号+总户数+总余额
●操作结果=初录操作结果+比对操作结果+复录操作结果
【问题1】
请采用说明中的词汇,给出数据确认处理所需的数据流在第1层数据流图中的全部可选起点(第0层数据流图和第1层数据流图中均未给出)。
【问题2】
不考虑数据确认处理(加工2),请指出数据流图中存在的错误。
【问题3】
打印分户账清单时,必须以下列哪一组数据作为关键字进行排序才能满足需求?请从下面选项中选择,并将对应序号填入答题纸的相应栏。
①储蓄所 ②账号
③开户日 ④总户数和总余额
【问题4】
加工1(录入比对处理)除能够检查出初录数据和复录数据不一致外,还应当检测出下列哪些错误?请将对应序号填入答题纸的相应栏。
①输入的无效字符 ②输入的半个汉字
③显示器无法显示 ④初录员重复录入同一账户
⑤汇总数据与会计账目不符 ⑥打印机卡纸
【问题5】
请使用数据字典条目定义形式,给出第0层DFD图中的“手工分户账”数据流和第1层DFD图中的“初录分户账”、“复录分户账”的关系。
例题10分析
【问题1】
此题要求回答“数据确认处理所需的数据流在第1层数据流图中的全部可选起点”,综合题目说明部分的(1)、(2)、(3)可知,“数据确认处理所需的数据流”是“最终进入系统A的原始数据”,此数据是初录数据和复录数据中的任一套。所以此数据流的起点可以是初录数据,也可以是复录数据。所以问题1的答案为:初录数据,复录数据。
【问题2】
此题要求找出数据流图中的错误。对于此类题型,通常可以依据“数据平衡原则”来进行分析,该原则通常有以下两种情况:
(1)分层数据流图的数据平衡原则。分层的数据流图是由粗至精、逐步细化地描述系统信息的。上层图中描述的是粗略涉及全体的信息,而下层图中则详细描述上层图中具体某一部分的内容。因此,上层图不需要描述下层图中所描述的详细信息,而下层图的输入与输出应与上层图保持一致,也就是父图和子图之间的数据流必须保持一致。例如在父图中某加工有两个输入数据流和一个输出数据流,那么在该加工的子图中的输入/输出数据流必须在数目和内容上与父图保持一致。
(2)每个数据流图的数据平衡原则。加工的输入数据流和输出数据流要平衡,即保证加工的输出数据都有其对应的输入数据流。更简单一点讲,对于一个加工至少有一个输入和一个输出数据,数据流中的数据必须能从输入数据流中直接获得或从该加工能产生的数据中获得。根据此原则对题目给出的数据流图进行分析,发现0层数据流图中的加工2和加工6无数据流输入,但有数据流输出,有明显错误,同时题目已经指出“不考虑数据确认处理(加工2)”,所以此问题的答案为:加工6没有输入数据流。
【问题3】
从题目中给出的“分户账单样式表”可以明显看出,数据是以储蓄所进行分类输出的。所以排序关键字应为“储蓄所”。
【问题4】
此题要求“加工1(录入比对处理)除能够检查出初录数据和复录数据不一致外,还应该能检测出哪些错误”。题目给出了备选答案,只需逐个判断即可。判断时应从两方面看手:第一,此功能对系统是否必要;第二,此功能在加工1中是否能进行。
①输入的无效字符。此功能应当具备,原因有两方面:一方面,无效字符肯定是系统无法接受的,所以在系统的某个加工中必须将其过滤;另一方面,无效字符的判别完全可以在输入时进行,表示加工1有能力完成此任务。
②输入的半个汉字。此功能应当具备,原因与0相同。
③显示器无法显示。属于操作系统和硬件层面的问题,与加工1中没有关系。
④初录员重复录入同一账户。此功能应当具备。
⑤汇总数据与会计账目不符。此功能不是在加工1能完成的。
⑥打印机卡纸。属于硬件问题,与加工1没有关系。
所以此问题答案为①、②、④。
【问题5】
题目中提到的数据流,都是加工1的数据流,在第0层DFD图中有输入数据流“手工分户账”和输出数据流“操作结果”,在第1层DFD图中有输入数据流“初录分户账”、“复录分户账”和输出数据流“初录结果”、“复录结果”等。从中可以明显看出,“初录分户账”、“复录分户账”和“手工分户账”有着对应关系。那么它们之间关系是“与”关系还是“或”关系呢?这必须从加工1的功能方面来考虑,由于加工1是将“初录分户账”和“复录分户账”进行对比,两者缺一不可,所以答案为:手工分户账=初录分户账+复录分户账。
例题10参考答案
【问题1】初录数据、复录数据
【问题2】0层数据流图中,数据清理处理(加工6)没有输入数据流
【问题3】①
【问题4】①、②、④
【问题5】手工分户账=初录分户账+复录分户账