2-DFD例题讲解(1)

DFD 例题讲解

【例1】软件设计师200905试题一

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。

【说明】

假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:

1. 系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件。

2. 在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。

3. 配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。

4. 采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。

该系统采用结构化方法进行开发,得到待修改的数据流图(如图1-1所示)。

【问题1】(8 分)

使用【说明】中的词语,给出图 1-1中外部实体 E1至E4 的名称和数据存储 D1至D4的名称。

【问题2】(7分)

图 1-1 中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用数据流图1-1中的符号或名称)

试题分析:

1、在题目上标识出相关信息。标记后如下:

——————————————————————————————————

假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:

1. 系统接收由连锁超市提出的供货请求

2. 在接到供货请求后,

信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。

3. 配送处理接到配送通知后,

发送配送单

4.

采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录向配送处理

发出配送通知,同时通知财务部门给供货商支付货款。

2、将分析出来的实体与外部存储文件标识到数据流图中。

3、对照题目描述和数据流图,结合画数据流图的相关经验,完成题目。 参考答案:

E1:财务部门 E2:采购部门 E3:连锁超市 E4:配送部门 D1:采购清单记录文件D2:商品库存记录文件

D3:商品配送记录文件D4:供货请求记录文件

错误数据流:

E1 -> E2 (两个外部实体之间不能有数据流)

D3 -> E4 (数据存储与外部实体之间也不能有数据流)

D2 -> 采购处理 (方向反了,“合格商品入库”是写数据,不是读) D4 -> 供货请求处理 (方向反了,是写数据,见描述第1条)

补充的数据流:

采购处理 -> D2 (方向错误的删了,当然要补回来了)

供货请求处理 -> D4 (同上)

E2 -> 采购处理 (描述第4条,“采购部门... 进行商品采购处理”)

【例2】软考2001年下午试题二

阅读下列说明和流程图, 回答问题 1 至问题 3 ,把解答填入答题纸的对应栏内。

[说明]

某考务处理系统具有以下功能:

1. 输入报名单;

2. 自动编制准考证号;

3. 输出准考证;

4. 输入成绩清单;

5. 输出成绩通知单;

6. 输出成绩分布表;

7. 输入合格标准、输出录取通知单;

8. 试题难度分析, 并输出试题难度分析表。

这里给出了实现上述要求的部分不完整的数据流图, 其中部分数据流的组成如下所示:

报名单 = 报名号 + 姓名 + 通信地址

考生名册 = 报名号 + 准考证号 + 姓名 + 通信地址

成绩册 = 准考证号 + { 课程号 + 成绩 } (其中{W}表示W 重复多次) 准考证 = 报名号 + 姓名 + 准考证号

[问题1] 指出 0 层图中可以删去的部分。

[问题2] 在加工 1 子图中将遗漏的数据流添加在答题纸上。

[问题3] 加工 2 子图分解成如图所示的 4 个子加工及相关的文件(即数据存储) 。试在此基础上将相关的DFD 成份添加在答题纸上, 以完全该加工子图。

参考答案:

[问题1]成绩文件可删

解析:

在0层图中,如果一个文件仅仅作用于一个加工,即和该文件有关的输入/输出数据流中涉及到一个加工,那么该文件可以作为内部文件出现在该加工的子图中,在父图中则可以省略。

根据这一原则,可以发现文件“成绩册”仅仅和“成绩处理”加工相关联,所以可以从0层图中删去。

【例3】2012年软件设计师考试 下午题 试题一(共15分) 第1题 试题一(共15分)

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某学校开发图书管理系统,以记录图书馆藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:

(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID )进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID 是否合法,若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表,借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。

(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。

(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。

现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1.2所示的0层数据流图。

【问题1】(4分)

使用说明中的词语,给出图1-1

中的实体E1-E4的名称。

【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。

【问题3】 (5分)

在DFD 建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)

【问题4】(2分)

说明【问题3】中绘制1层数据流图时要注意的问题。

【例4】软件设计师2004年5月试题一

阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]

某基于微处理器的住宅系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入,火警,水灾等。

房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即id )和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。

[问题1] 数据流图1-1(住宅安全系统顶层图)中的A 和B 分别是什么?

[问题2] 数据流图1-2(住宅安全系统第0层DFD 图)中的数据存储“配置信息”会影响图中的哪些加工?

[问题3] 将数据流图1-3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称。

[问题4] 请说明逻辑数据流图(Logical Data Flow Diagram)和物理数据流图(Physical Data Flow Diagram)之间的主要区别。

试题分析:

本题是一道分层数据流图的题目。解答此类问题最关键的一点就是要细心,把题目看清,不要丢掉任何一个条件。另外解题有一定的技巧’,从一些常规的人口作为突破口,会事半功倍。现在就利用分层数据流图的数据流的平衡原则(即父图和子图(加工图) 的一致性) 来解题。

子图是其父图中某一部分内部的细节图(加工图) 。它们的输入输出数据流应该保持一致。如同看到地上有只蚂蚁有6条细细的腿,中间是一个小黑点,要看得更清楚一些就拿放大镜看。这时能看到它的头、触角、身体和比较粗的腿,但是看到的一定还是6条腿,不是? 条,也不是3条。子图也是如此,在上一级中有几个数据流,它的子图也一定有同样的数据流,而且它们的输送方向是一致的(也就是说原图有3条进的数据流,2条出的数据流,子图同样也是) 。

用这条原则可以轻松地解决问题3。在。层图中,“4监控传感器”模块有1条输人数据流——“传感器状态”和3条输出数据流——“电话拨号”、“传感器数据”和“告警类型”。在加工4的细化图中,仅看到了输出数据流“告警类型”,所以知道此加工图少了“传感器状态”、“电话拨号”、“传感器数据’’这3条数据流。加工4的结构非常清晰,所以只需把这3条数据流对号入座即可,“电话拨号”应是“4.5拨号”的输出数据流;“传感器状态”应是作为“4.4读传感器”处理的输入数据流;“传感器数据”应该是经“4.1显示格式”处理过的数据流,所以作为“4.1显示格式”的输出数据流。

[问题1]

此题和以往试题有所不同。以往都给定了完整正确的顶层图。现在顶层图不完整,可以通过题目说明信息以及顶层图来分析顶层图并解答问题。题目中提到了“房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等)”在顶层图中这3个名词都没有出现,但仔细观察,可以看出“电视机”实际上就是“显示器”。因为它接收TV 信号并输出。再看其他的几个实体都和“传感器、“报警器”没有关联。又因为A 中输出“传感器状态”到“住宅安全系统”所以A 应填“传感器”。B 接收“告警类型”,所以应填 :“报警器”。

[问题2]

首先,毫无疑问“4监控传感器”用到了配置信息文件,这点可以在加工4的细化图中看出。

接着,观察0层图,“3密码处理”这个处理是用于检验密码的,且它只有

1个输出数据流“检验ID 信息”到“显示信息和状态”,没有反馈回来的数据流,所以“检验ID 信息”是已经验证通过的用户的信息,用户输入密码应是在“3密码处理”这个环节中进行验证的(因为如果密码验证是在“5 显示信息和状态”中进行的,那么从“5 显示信息和状态”应有1条不合法用户的数据流反馈到“密码处理”)。所以“密码处理”一定要用到配置信息文件中的用户名和密码。同时由于输出到“5 显示信息和状态”的数据流是“检验ID 信息”,所以“5 显示信息和状态”也用到了配置信息文件。

[问题3] 根据父子平衡就可以找出答案。

[问题4] 概念题。

参考答案:

[问题1] A:传感器: B:报警器

[问题2] 监控传感器、密码处理、显示信息和状态

[问题3]

1、“读传感器”添加输入数据流“传感器状态”;

2、“显示格式”添加输出数据流“传感器数据”;

3、“拨号”添加输出数据流“电话拨号”

[问题4] 逻辑数据流图说明应该具有哪些加工,而不关心这些加工是如何实现的:物理数据流图则要说明加工是如何实现的。

【例5】软件设计师(数据库系统工程师)200711试题一

试题一(共15分)

阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:

1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。

2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的; 如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。

4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。

5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。

6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。

7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。

现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。

图1-1 顶层数据流图

图1-2 0层数据流图

【问题1】(4分)

使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。

【问题2】(3分)

使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

【问题3】(6分)

数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。

【问题4】(2分)

数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。

试题分析:

本题考查的是DFD 的应用,属于比较传统的题目,考查点也与往年类似。

[问题1]考查的是顶层DFD 。顶层DFD 通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统) 、外部实体及外部实体与系统之间的输入输出数据流。题目要求填充的正是外部实体。

从顶层DFD 可以看出,数据流是完整的。所以只要根据数据流从题目说明的上下文中,找出E1~E4所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。

[问题2]0层DFD 中缺少的东西比较多,要求填写数据存储及缺失的数据流。先来确定数据存储。首先,从说明中找出可能是数据存储的元素来。很明显,学生信息文件、课程信息文件、课程单元信息文件、课程成绩文件和无效成绩文件应该是数据存储。下面的工作就是对号入座。

从0层DFD 上可以看到,加工3到D5有一条数据流; 而加工3所完成的操作是“记录无效成绩”。从说明中可知,“对于无效成绩,系统会单独将其保存在无效成绩文件中”,所以D5应该是数据存储“无效成绩文件”;类似地,从加工2气己录有效成绩”到D4有一条数据流,这说明D4就是数据存储“课程成绩文件”。

D1输出两条数据流,分别流向加工1“验证学生信息”和加工4“生成成绩列表”。由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学

生信息时,需要根据学生信息文件来进行; 而生成成绩列表及成绩单时,学生信息都是必要的。所以D1应该是“学生信息文件”。

这样的话,D2和D3就应该分别与“课程单元信息文件”和“课程信息文件”对应。由于D2和D3都只与加工1有关,所以它们的对应关系就是随意的了。这样5个数据存储就填充完整了。

[问题3]下面要补充缺失的数据流。

首先,从说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”实际上就是图中的D4。而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。

另外,前面在确定D1所对应的数据存储时提到过,生成成绩单时是需要学生信息的。所以,加工5应该从D1中获取相应的信息,这样就找到了第二条数据流。

第三条:说明的第7条告诉我们,只有“对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”。也就是说,从成绩列表到成绩单的生成是有条件的。这意味着,在加工4和加工5之间应该存在一条数据流,这就是第3条数据流。

[问题4]实际上是为了考查大家对DFD 的进一步理解,明确DFD 在软件开发中用于描述功能需求。

参考答案:

【例6】软件设计师200605试题一

说明:某学校建立了一个网上作业提交与管理系统,基本功能描述如下:

(1)帐号和密码。任课老师用帐号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的帐号和密码。

(2)作业提交。学生使用帐号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。

(3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。

【问题1】(3分)

如果将数据库服务器(记为DB )作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?

【问题2】(7分)

根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。

【问题3】(5分)

根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。 参考答案

【问题1】

外部实体:(选课) 学生、(任课) 老师

数据存储:作业成绩统计文件 注:多答不扣分

【问题2】

(1)(选课) 学生 (2)(选课) 学生 (3)(选课) 学生

(4)(选课) 学生 (5)作业成绩 (6)DB

(7)作业成绩统计文件 (8)作业成绩

(9)(任课) 老师 (10)DB (l1)作业

(12)(选课) 学生 (13)(任课) 老师

注:(4)、(6)的答案可互换

(12)、(13)的答案可互换

【问题3】以下五条错误信息可以打乱次序

错误1:外部实体A 和B 之间不能存在数据流。

错误2:外部实体A 和数据存储H 之间不能存在数据流。

错误3:加工2的输入/输出数据流名字相同

若回答数据存储P 至加工2的数据流方向相反也正确 错误4:加工4只有输入没有输出

若回答数据流G 的方向反了(或数据流P 的方内反了) 也正确 错误5:加工5只有输出,没有输入。

【例7】软件设计师201011试题一

【说明】

某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或Web 站点所下订单。其主要功能如下:

(1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。

(2)查询商品信息。接收客户提交商品信息请求,从商品文件中查询商品的价格和可订购数量等商品信息,返回给客户。

(3)增加订单记录。根据客户的订购请求及该客户记录的相关信息,产生订单并添加到订单文件中。

(4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。如果现货不足,则需向供应商订货。

(5)准备发货单。从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。

(6)发货。当收到仓库发送的备货就绪通知后,根据发货单给客户发货;产生装运单并发送给客户。

(7)创建客户账单。根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单,同时更新商品文件中的商品数量和订单文件中的订单状态。

(8)产生应收账户。根据客户记录和订单文件中的订单信息,产生并发送给财务部门应收账户报表。

现采用结构化方法对订单处理系统进行分析与设计,获得如图1-1所示的顶层数据流

图和图1-2所示0层数据流图。

【问题1】(3分) 使用说明中的词语,给出图1-1中的实体E1~E3的名称。

【问题2)(3分)使用说明中的词语,给出图1-2中的数据存储D1~D3的名称。

【问题3】(9分)

(1)给出图1-2中处理(加工)P1和P2的名称及其相应的输入、输出流。

(2)除加工P1和P2的输入输出流外,图1-2还缺失了1条数据流,请给出其起点和终点。

注:名称使用说明中的词汇,起点和终点均使用图1-2中的符号或词汇。

参考答案

〔1〕E1 客户; E2 财务部门; E3 仓库

〔2〕D1 客户文件; D2 商品文件;D3 订单文件

〔3〕-(1)P1 名称:产生配货单; P2 名称:准备发货单。 P1和P2输入/输出的起点和终点:

订单记录:D3->P1;

配货单:P1->E3;

订单记录:D3->P2;

客户记录:D1->P2;

发货单:P2->发货;

〔3〕-(2)缺的数据流:D1->创建客户账单。

DFD 例题讲解

【例1】软件设计师200905试题一

阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。

【说明】

假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:

1. 系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件。

2. 在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。

3. 配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件。

4. 采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录采购清单至采购清单记录文件、向配送处理发出配送通知,同时通知财务部门给供货商支付货款。

该系统采用结构化方法进行开发,得到待修改的数据流图(如图1-1所示)。

【问题1】(8 分)

使用【说明】中的词语,给出图 1-1中外部实体 E1至E4 的名称和数据存储 D1至D4的名称。

【问题2】(7分)

图 1-1 中存在四处错误数据流,请指出各自的起点和终点;若将上述四条错误数据流删除,为保证数据流图的正确性,应补充三条数据流,请给出所补充数据流的起点和终点。(起点和终点请采用数据流图1-1中的符号或名称)

试题分析:

1、在题目上标识出相关信息。标记后如下:

——————————————————————————————————

假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:

1. 系统接收由连锁超市提出的供货请求

2. 在接到供货请求后,

信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。

3. 配送处理接到配送通知后,

发送配送单

4.

采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,合格商品入库,并记录向配送处理

发出配送通知,同时通知财务部门给供货商支付货款。

2、将分析出来的实体与外部存储文件标识到数据流图中。

3、对照题目描述和数据流图,结合画数据流图的相关经验,完成题目。 参考答案:

E1:财务部门 E2:采购部门 E3:连锁超市 E4:配送部门 D1:采购清单记录文件D2:商品库存记录文件

D3:商品配送记录文件D4:供货请求记录文件

错误数据流:

E1 -> E2 (两个外部实体之间不能有数据流)

D3 -> E4 (数据存储与外部实体之间也不能有数据流)

D2 -> 采购处理 (方向反了,“合格商品入库”是写数据,不是读) D4 -> 供货请求处理 (方向反了,是写数据,见描述第1条)

补充的数据流:

采购处理 -> D2 (方向错误的删了,当然要补回来了)

供货请求处理 -> D4 (同上)

E2 -> 采购处理 (描述第4条,“采购部门... 进行商品采购处理”)

【例2】软考2001年下午试题二

阅读下列说明和流程图, 回答问题 1 至问题 3 ,把解答填入答题纸的对应栏内。

[说明]

某考务处理系统具有以下功能:

1. 输入报名单;

2. 自动编制准考证号;

3. 输出准考证;

4. 输入成绩清单;

5. 输出成绩通知单;

6. 输出成绩分布表;

7. 输入合格标准、输出录取通知单;

8. 试题难度分析, 并输出试题难度分析表。

这里给出了实现上述要求的部分不完整的数据流图, 其中部分数据流的组成如下所示:

报名单 = 报名号 + 姓名 + 通信地址

考生名册 = 报名号 + 准考证号 + 姓名 + 通信地址

成绩册 = 准考证号 + { 课程号 + 成绩 } (其中{W}表示W 重复多次) 准考证 = 报名号 + 姓名 + 准考证号

[问题1] 指出 0 层图中可以删去的部分。

[问题2] 在加工 1 子图中将遗漏的数据流添加在答题纸上。

[问题3] 加工 2 子图分解成如图所示的 4 个子加工及相关的文件(即数据存储) 。试在此基础上将相关的DFD 成份添加在答题纸上, 以完全该加工子图。

参考答案:

[问题1]成绩文件可删

解析:

在0层图中,如果一个文件仅仅作用于一个加工,即和该文件有关的输入/输出数据流中涉及到一个加工,那么该文件可以作为内部文件出现在该加工的子图中,在父图中则可以省略。

根据这一原则,可以发现文件“成绩册”仅仅和“成绩处理”加工相关联,所以可以从0层图中删去。

【例3】2012年软件设计师考试 下午题 试题一(共15分) 第1题 试题一(共15分)

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某学校开发图书管理系统,以记录图书馆藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:

(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID )进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID 是否合法,若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表,借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。

(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。

(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。

现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1.2所示的0层数据流图。

【问题1】(4分)

使用说明中的词语,给出图1-1

中的实体E1-E4的名称。

【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。

【问题3】 (5分)

在DFD 建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)

【问题4】(2分)

说明【问题3】中绘制1层数据流图时要注意的问题。

【例4】软件设计师2004年5月试题一

阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]

某基于微处理器的住宅系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入,火警,水灾等。

房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即id )和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息。

[问题1] 数据流图1-1(住宅安全系统顶层图)中的A 和B 分别是什么?

[问题2] 数据流图1-2(住宅安全系统第0层DFD 图)中的数据存储“配置信息”会影响图中的哪些加工?

[问题3] 将数据流图1-3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称。

[问题4] 请说明逻辑数据流图(Logical Data Flow Diagram)和物理数据流图(Physical Data Flow Diagram)之间的主要区别。

试题分析:

本题是一道分层数据流图的题目。解答此类问题最关键的一点就是要细心,把题目看清,不要丢掉任何一个条件。另外解题有一定的技巧’,从一些常规的人口作为突破口,会事半功倍。现在就利用分层数据流图的数据流的平衡原则(即父图和子图(加工图) 的一致性) 来解题。

子图是其父图中某一部分内部的细节图(加工图) 。它们的输入输出数据流应该保持一致。如同看到地上有只蚂蚁有6条细细的腿,中间是一个小黑点,要看得更清楚一些就拿放大镜看。这时能看到它的头、触角、身体和比较粗的腿,但是看到的一定还是6条腿,不是? 条,也不是3条。子图也是如此,在上一级中有几个数据流,它的子图也一定有同样的数据流,而且它们的输送方向是一致的(也就是说原图有3条进的数据流,2条出的数据流,子图同样也是) 。

用这条原则可以轻松地解决问题3。在。层图中,“4监控传感器”模块有1条输人数据流——“传感器状态”和3条输出数据流——“电话拨号”、“传感器数据”和“告警类型”。在加工4的细化图中,仅看到了输出数据流“告警类型”,所以知道此加工图少了“传感器状态”、“电话拨号”、“传感器数据’’这3条数据流。加工4的结构非常清晰,所以只需把这3条数据流对号入座即可,“电话拨号”应是“4.5拨号”的输出数据流;“传感器状态”应是作为“4.4读传感器”处理的输入数据流;“传感器数据”应该是经“4.1显示格式”处理过的数据流,所以作为“4.1显示格式”的输出数据流。

[问题1]

此题和以往试题有所不同。以往都给定了完整正确的顶层图。现在顶层图不完整,可以通过题目说明信息以及顶层图来分析顶层图并解答问题。题目中提到了“房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等)”在顶层图中这3个名词都没有出现,但仔细观察,可以看出“电视机”实际上就是“显示器”。因为它接收TV 信号并输出。再看其他的几个实体都和“传感器、“报警器”没有关联。又因为A 中输出“传感器状态”到“住宅安全系统”所以A 应填“传感器”。B 接收“告警类型”,所以应填 :“报警器”。

[问题2]

首先,毫无疑问“4监控传感器”用到了配置信息文件,这点可以在加工4的细化图中看出。

接着,观察0层图,“3密码处理”这个处理是用于检验密码的,且它只有

1个输出数据流“检验ID 信息”到“显示信息和状态”,没有反馈回来的数据流,所以“检验ID 信息”是已经验证通过的用户的信息,用户输入密码应是在“3密码处理”这个环节中进行验证的(因为如果密码验证是在“5 显示信息和状态”中进行的,那么从“5 显示信息和状态”应有1条不合法用户的数据流反馈到“密码处理”)。所以“密码处理”一定要用到配置信息文件中的用户名和密码。同时由于输出到“5 显示信息和状态”的数据流是“检验ID 信息”,所以“5 显示信息和状态”也用到了配置信息文件。

[问题3] 根据父子平衡就可以找出答案。

[问题4] 概念题。

参考答案:

[问题1] A:传感器: B:报警器

[问题2] 监控传感器、密码处理、显示信息和状态

[问题3]

1、“读传感器”添加输入数据流“传感器状态”;

2、“显示格式”添加输出数据流“传感器数据”;

3、“拨号”添加输出数据流“电话拨号”

[问题4] 逻辑数据流图说明应该具有哪些加工,而不关心这些加工是如何实现的:物理数据流图则要说明加工是如何实现的。

【例5】软件设计师(数据库系统工程师)200711试题一

试题一(共15分)

阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:

1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。

2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的; 如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。

4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。

5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。

6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。

7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。

现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。

图1-1 顶层数据流图

图1-2 0层数据流图

【问题1】(4分)

使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。

【问题2】(3分)

使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

【问题3】(6分)

数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。

【问题4】(2分)

数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。

试题分析:

本题考查的是DFD 的应用,属于比较传统的题目,考查点也与往年类似。

[问题1]考查的是顶层DFD 。顶层DFD 通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统) 、外部实体及外部实体与系统之间的输入输出数据流。题目要求填充的正是外部实体。

从顶层DFD 可以看出,数据流是完整的。所以只要根据数据流从题目说明的上下文中,找出E1~E4所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。

[问题2]0层DFD 中缺少的东西比较多,要求填写数据存储及缺失的数据流。先来确定数据存储。首先,从说明中找出可能是数据存储的元素来。很明显,学生信息文件、课程信息文件、课程单元信息文件、课程成绩文件和无效成绩文件应该是数据存储。下面的工作就是对号入座。

从0层DFD 上可以看到,加工3到D5有一条数据流; 而加工3所完成的操作是“记录无效成绩”。从说明中可知,“对于无效成绩,系统会单独将其保存在无效成绩文件中”,所以D5应该是数据存储“无效成绩文件”;类似地,从加工2气己录有效成绩”到D4有一条数据流,这说明D4就是数据存储“课程成绩文件”。

D1输出两条数据流,分别流向加工1“验证学生信息”和加工4“生成成绩列表”。由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学

生信息时,需要根据学生信息文件来进行; 而生成成绩列表及成绩单时,学生信息都是必要的。所以D1应该是“学生信息文件”。

这样的话,D2和D3就应该分别与“课程单元信息文件”和“课程信息文件”对应。由于D2和D3都只与加工1有关,所以它们的对应关系就是随意的了。这样5个数据存储就填充完整了。

[问题3]下面要补充缺失的数据流。

首先,从说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”实际上就是图中的D4。而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。

另外,前面在确定D1所对应的数据存储时提到过,生成成绩单时是需要学生信息的。所以,加工5应该从D1中获取相应的信息,这样就找到了第二条数据流。

第三条:说明的第7条告诉我们,只有“对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”。也就是说,从成绩列表到成绩单的生成是有条件的。这意味着,在加工4和加工5之间应该存在一条数据流,这就是第3条数据流。

[问题4]实际上是为了考查大家对DFD 的进一步理解,明确DFD 在软件开发中用于描述功能需求。

参考答案:

【例6】软件设计师200605试题一

说明:某学校建立了一个网上作业提交与管理系统,基本功能描述如下:

(1)帐号和密码。任课老师用帐号和密码登录系统后,提交所有选课学生的名单。系统自动为每个选课学生创建登录系统的帐号和密码。

(2)作业提交。学生使用帐号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击“提交”按钮上交作业。

(3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。

【问题1】(3分)

如果将数据库服务器(记为DB )作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?

【问题2】(7分)

根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。

【问题3】(5分)

根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。 参考答案

【问题1】

外部实体:(选课) 学生、(任课) 老师

数据存储:作业成绩统计文件 注:多答不扣分

【问题2】

(1)(选课) 学生 (2)(选课) 学生 (3)(选课) 学生

(4)(选课) 学生 (5)作业成绩 (6)DB

(7)作业成绩统计文件 (8)作业成绩

(9)(任课) 老师 (10)DB (l1)作业

(12)(选课) 学生 (13)(任课) 老师

注:(4)、(6)的答案可互换

(12)、(13)的答案可互换

【问题3】以下五条错误信息可以打乱次序

错误1:外部实体A 和B 之间不能存在数据流。

错误2:外部实体A 和数据存储H 之间不能存在数据流。

错误3:加工2的输入/输出数据流名字相同

若回答数据存储P 至加工2的数据流方向相反也正确 错误4:加工4只有输入没有输出

若回答数据流G 的方向反了(或数据流P 的方内反了) 也正确 错误5:加工5只有输出,没有输入。

【例7】软件设计师201011试题一

【说明】

某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或Web 站点所下订单。其主要功能如下:

(1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。

(2)查询商品信息。接收客户提交商品信息请求,从商品文件中查询商品的价格和可订购数量等商品信息,返回给客户。

(3)增加订单记录。根据客户的订购请求及该客户记录的相关信息,产生订单并添加到订单文件中。

(4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。如果现货不足,则需向供应商订货。

(5)准备发货单。从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。

(6)发货。当收到仓库发送的备货就绪通知后,根据发货单给客户发货;产生装运单并发送给客户。

(7)创建客户账单。根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单,同时更新商品文件中的商品数量和订单文件中的订单状态。

(8)产生应收账户。根据客户记录和订单文件中的订单信息,产生并发送给财务部门应收账户报表。

现采用结构化方法对订单处理系统进行分析与设计,获得如图1-1所示的顶层数据流

图和图1-2所示0层数据流图。

【问题1】(3分) 使用说明中的词语,给出图1-1中的实体E1~E3的名称。

【问题2)(3分)使用说明中的词语,给出图1-2中的数据存储D1~D3的名称。

【问题3】(9分)

(1)给出图1-2中处理(加工)P1和P2的名称及其相应的输入、输出流。

(2)除加工P1和P2的输入输出流外,图1-2还缺失了1条数据流,请给出其起点和终点。

注:名称使用说明中的词汇,起点和终点均使用图1-2中的符号或词汇。

参考答案

〔1〕E1 客户; E2 财务部门; E3 仓库

〔2〕D1 客户文件; D2 商品文件;D3 订单文件

〔3〕-(1)P1 名称:产生配货单; P2 名称:准备发货单。 P1和P2输入/输出的起点和终点:

订单记录:D3->P1;

配货单:P1->E3;

订单记录:D3->P2;

客户记录:D1->P2;

发货单:P2->发货;

〔3〕-(2)缺的数据流:D1->创建客户账单。


相关文章

  • 数据流程图如何做
  • 数据流程图数据流程图( DFD :Data Flow Diagram)就是组织中信息运动的抽象,是信息逻辑系统模型的主要形式.这个模型不涉及硬件.软件.数据结构与文件组织,它与对系统的物理描述无关,只是用一种图形及与此相关的注释来表示系统的 ...查看


  • 结构化开发方法
  • 结构化开发方法分析与设计提纲 一.分析阶段: (一)收集信息 分析员通过与用户交谈或观察商业过程得到信息. 注意:使用活动图来表示工作流程 (二)定义系统需求 功能需求信息:需要系统完成什么样的工作(逻辑模型.物理模型) 非功能需求信息:技 ...查看


  • 系统分析相关理论
  • 一.信息系统分析的任务 任务主要是:详细了解每一个业务过程和业务活动的工作流程及信息处理流程,理解用户对信息系统的需求,确定系统应具有的逻辑功能,再用适当方法表达出来,形成这个系统的逻辑方案. 系统分析阶段其关键在于"理解&quo ...查看


  • 物流信息管理实验报告
  • 物流管理信息系统 实 验 报 告 姓 名: 王威 班 级:金融3103班 学号1020911123 实验成绩: 同组姓名: 韩奕乐 1020911116 实验日期:12-1\8\15 指导老师:杜进 批阅日期: [实验目的] 1.了解物流管 ...查看


  • 小学一年级奥数题练习及答案解析
  • 一年级认识图形例题讲解(一) 2010-03-24 14:17:40 来源:奥数网整理 小学一年级奥数题:认识图形例题讲解(一) 一年级认识图形例题讲解(二) 2010-03-24 14:18:51 来源:奥数网整理 小学一年级奥数题:认识 ...查看


  • 电子商务软件开发需求分析报告
  • 软件开发需求分析报告 课 题:班 级:姓 名:学 号:指导教师: 在线购物系统 2013-9-28 中国矿业大学计算机学院 目录 1 引言„„„„„„„„„„„„„„„„„„„„1 2 功能需求„„„„„„„„„„„„„„„„„„1 3 E ...查看


  • 现代软件工程作业
  • (一)名词解释 1. 软件: 软件是计算机程序.数据以及相关的各种文档的集合. 2. 软件危机 软件危机是在软件发展第二阶段末期的规模较大的项目开发中,出现了与当初的计划推迟交工.费用比预算大幅度上升.不能满足用户要求.可靠性低.维护困难等 ...查看


  • 例题讲解要"打开窗户说亮话"
  • 龙源期刊网 http://www.qikan.com.cn 例题讲解要"打开窗户说亮话" 作者:宋在馥 来源:<中学数学杂志(高中版)>2014年第06期 去教室听课,常遇到这种情况:对于例题教学,老师在台上 ...查看


  • 量子力学 第二版 第六章__散射 习题答案 周世勋
  • 第六章 散射 1.粒子受到势能为 U(r) ar 2 的场的散射,求S分波的微分散射截面. [解] 为了应用分波法,求微分散射截面,首先必须找出相角位移.注意到第l个分波的相角位移l是表示在辏力场中的矢径波函数Rl和在没有散射势时的矢径 ...查看


热门内容