数据流图练习.docx
《数据流图练习.docx》由会员分享,可在线阅读,更多相关《数据流图练习.docx(15页珍藏版)》请在冰豆网上搜索。
数据流图练习
一、阅读以下说明和图,回答问题1至问题3。
【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
1.每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。
课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。
首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。
对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。
在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。
教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。
主讲教师须将核对之后的成绩报告返还系统。
7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查结果给系统。
对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
图1-1顶层数据流图
图1-20层数据流图
【问题1】(4分)
使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)
数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
起点
终点
试题分析:
本题考查的是DFD的应用,属于比较传统的题目,考查点也与往年类似。
问题1考查的是顶层DFD。
顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体及外部实体与系统之间的输入输出数据流。
题目要求填充的正是外部实体。
从顶层DFD可以看出,数据流是完整的。
所以只要根据数据流从题目说明的上下文中,找出E1~E4所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。
0层DFD中缺少的东西比较多,要求填写数据存储及缺失的数据流。
先来确定数据存储。
首先,从说明中找出可能是数据存储的元素来。
很明显,学生信息文件、课程信息文件、课程单元信息文件、课程成绩文件和无效成绩文件应该是数据存储。
下面的工作就是对号入座。
从0层DFD上可以看到,加工3到D5有一条数据流;而加工3所完成的操作是“记录无效成绩”。
从说明中可知,“对于无效成绩,系统会单独将其保存在无效成绩文件中”,所以D5应该是数据存储“无效成绩文件”;类似地,从加工2气己录有效成绩”到D4有一条数据流,这说明D4就是数据存储“课程成绩文件”。
D1输出两条数据流,分别流向加工1“验证学生信息”和加工4“生成成绩列表”。
由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学生信息时,需要根据学生信息文件来进行;而生成成绩列表及成绩单时,学生信息都是必要的。
所以D1应该是“学生信息文件”。
这样的话,D2和D3就应该分别与“课程单元信息文件”和“课程信息文件”对应。
由于D2和D3都只与加工1有关,所以它们的对应关系就是随意的了。
这样5个数据存储就填充完整了。
下面要丰L充缺失的数据流。
首先,从说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”实际上就是图中的D4。
而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。
另外,前面在确定D1所对应的数据存储时提到过,生成成绩单时是需要学生信息的。
所以,加工5应该从D1中获取相应的信息,这样就找到了第二条数据流。
第三条数据流也比较容易找。
说明的第7条告诉我们,只有“对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”。
也就是说,从成绩列表到成绩单的生成是有条件的。
这意味着,在加工4和加工5之间应该存在一条数据流,这就是第3条数据流。
问题4实际上是为了考查大家对DFD的进一步理解,明确DFD在软件开发中用于描述功能需求。
二、阅读下列说明以及数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某学校建立了一个网上作业提交与管理系统,基本功能描述如下:
(1)账号和密码。
任课老师用账号和密码登录系统后,提交所有选课学生的名单。
系统自动为每个选课学生创建登录系统的账号和密码。
(2)作业提交。
学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。
系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。
若申请成功,则显示需要完成的作业。
学生需在线完成作业,单击"提交"按钮上交作业。
(3)在线批阅。
系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。
【问题1】
如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?
【问题2】
根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。
请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。
序号
起点
终点
数据流名称
1
(1)
网上作业提交与管理系统
作业申请
2
(2)
网上作业提交与管理系统
提交的作业
3
网上作业提交与管理系统
(3)
需完成的作业
4
网上作业提交与管理系统
(4)
(5)
5
网上作业提交与管理系统
(6)
作业申请
6
网上作业提交与管理系统
(7)
(8)
7
(9)
网上作业提交与管理系统
选课学生名单
8
(10)
网上作业提交与管理系统
(11)
9
(12)
网上作业提交与管理系统
账号和密码
10
(13)
网上作业提交与管理系统
账号和密码
【问题3】
根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。
试题分析
本题考查的是DFD(数据流图)的绘制,主要包括:
外部实体的识别、数据流的识别以及对绘制DFD图时常见错误的修正。
【问题1】
DFD图中包含4种元素:
加工、数据流、外部实体和数据存储。
外部实体是指存在于软件系统之外的人员或组织。
它指出系统所需数据的发源地和系统所产生的数据的归宿地。
根据说明中提供的信息,可以发现"学生"和"任课老师"向"网上作业提交与管理系统"提供最原始的输入数据,并从系统中获取相应的输出数据。
因此可以确定这两个为外部实体。
数据存储用来表示暂时存储的数据,每个数据存储都有一个名字。
从说明中可以很明显地看出,"作业成绩统计文件"是一个数据存储。
【问题2】
在绘制DFD时,遵循分层绘制的原则。
首先绘制系统的输入输出,即把整个软件系统看作一个大的加工。
然后根据系统从哪些外部实体接收数据流,以及系统发送数据流到哪些外部实体,就可以画出系统的输入和输出图,这张图称为顶层图。
实际上根据题目的描述,确定外部实体与"网上作业提交与管理系统"之间存在的输入、输出数据,填写空
(1)~(13)。
【问题3】
在单张DFD时,必须注意以下原则:
1)一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。
2)保持数据守恒。
也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。
3)每个加工必须既有输入数据流,又有输出数据流。
4)所有的数据流都必须以一个加工开始,或以一个加工结束。
根据上述原则,可以很明显地看出图中存在的错误:
①图中的数据流X和H的开始和结束都不是加工;②加工2的输入、输出数据流是同名的;③加工4只有输入数据流,没有输出数据流;而加工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的输入/输出数据流名字相同。
错误4:
加工4只有输入,没有输出。
错误5:
加工5只有输出,没有输入。
注:
以上5条错误信息可以打乱次序。
三、阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某图书馆管理系统的主要功能是图书管理和信息查询。
对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为四个方面:
购入新书、读者借书、读者还书以及图书注销。
1.购入新书时需要为该书编制入库单。
入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。
2.读者借书时需填写借书单。
借书单内容包括读者号和所借图书分类目录号。
系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
3.读者还书时需填写还书单。
系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
4.注销图书时,需填写注销单并修改图书目录文件中的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。
其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示,其中加工2的细图如图1-3所示。
【数据流图1-1】
[问题1](2分)
数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。
[问题2](6分)
数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。
[问题3](7分)
根据系统功能和数据流图填充下列数据字典条目中的
(1)和
(2):
查询请求信息=[查询读者请求信息|查询图书请求信息]
读者情况=读者号+姓名+所在单位+{借书情况}
管理工作请求单=
(1)
入库单=
(2)
试题