软考软件设计师通关必读数据流图专题讲解文档格式.docx

上传人:b****7 文档编号:22603045 上传时间:2023-02-04 格式:DOCX 页数:16 大小:74.80KB
下载 相关 举报
软考软件设计师通关必读数据流图专题讲解文档格式.docx_第1页
第1页 / 共16页
软考软件设计师通关必读数据流图专题讲解文档格式.docx_第2页
第2页 / 共16页
软考软件设计师通关必读数据流图专题讲解文档格式.docx_第3页
第3页 / 共16页
软考软件设计师通关必读数据流图专题讲解文档格式.docx_第4页
第4页 / 共16页
软考软件设计师通关必读数据流图专题讲解文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软考软件设计师通关必读数据流图专题讲解文档格式.docx

《软考软件设计师通关必读数据流图专题讲解文档格式.docx》由会员分享,可在线阅读,更多相关《软考软件设计师通关必读数据流图专题讲解文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

软考软件设计师通关必读数据流图专题讲解文档格式.docx

分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0

开始编号。

对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

顶层数据流图只含有一个加工,表示整个系统;

输入数据流和输出数据流为系统的输入

数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。

底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,

形成子图。

中间层次的多少,一般视系统的复杂程度而定。

任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数

据流必须保持一致,此即父图与子图的平衡。

父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。

在父图与子图平衡中,数据流的数目和名称可以完全相同;

也可以在数目上不相等,但

是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,

也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1

所示。

图1父图与子图的平衡

(3)保持数据守恒。

也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。

每个加工必须有输入数据流和输出数据

流,反映此加工的数据来源和加工变换结果。

一个加工的输出数据流只由它的输入数据流确

定。

数据流必须经过加工,即必须进入加工或从加工中流出。

⑷加工细节隐蔽。

根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。

当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口时,那么这些数据存储为局部数据存储。

为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据

接口或某个特定加工的输入和输出时,才画出来。

即按照自顶向下的分析方法,某数据存储

首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。

(5)简化加工间的关系。

在数据流图中,加工间的数据流越少,各个加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目。

(6)均匀分解。

应该使一个数据流中的各个加工分解层次大致相同。

(7)适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字。

(8)忽略枝节。

应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性的问题。

(9)表现的是数据流而不是控制流。

数据流图与传统的程序流程图不同,数据流图是从

数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的。

数据流图

中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序。

适合于宏观地分析一个组织的业务概况,而程序流程图只适合于描述系统中某个加工的执行

细节。

每个加工必须既有输入数据流,又有输出数据流;

在整套数据流图中,每个文件必须既

有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有写,或者只有

写、没有读。

2.解题的方法。

(1)数据平衡原则。

数据平衡原则分为两个方面

1在分层数据流图中,父图和子图要平衡,也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。

2数据平衡的另一个方面是说:

每个加工必须即有输入数据流又有输出数据流,而且一

个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加

工能产生的数据。

(2)要特别注意的几个细节问题。

1除了流向数据存储(文件)或从数据存储流出的数据流不必命名外,其它每个数据流都必须有一个合适的名字。

2流向文件的数据流,表示写入数据,流出文件的数据流表示读文件。

在整套数据流图

中,每个文件必须既有读的数据流又有写的数据流,但在某一张子图中可能只有读没有写,或者只有写没有读。

3在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,既该文件是个加工

的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。

3.解题的技巧。

(1)阅读题干的技巧。

快速的阅读第一遍,基本了解题目所涉及到的知识点或者事务,

打记实体对象和存储文件,甚至可以将数据流也标记一下;

这一步重点落在问题上,一般问

题不难,但一定要看清问题。

带着问题来看第二遍,边看边解决。

(2)要有整体的概念,不能因一个点符合就断定是它,尤其是数据对象。

(3)注意解题的速度,一般在20分钟以内为最好。

(4)解题的过程中,每一条数据流都能够在[说明]中找到相应的语句。

(5)数据流名称要写对,每错一个字扣0.5分;

流向也要写对。

(6)做好以后,复查一遍;

不要边做边怀疑、边修改,那样会担误时间,且错误更多。

三•例题讲解

例1:

【软件设计师(数据库系统工程师)2007年11月真题】

试题一(共15分)

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

【说明】

某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成

绩,其主要功能描述如下:

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

门课程的平时成绩。

课程结束后进行期末考试,其成绩作为这门课程的考试成绩。

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

3.在记录学生成绩之前,系统需要验证这些成绩是否有效。

首先,根据学生信息文件

来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;

如果他的确选修了这门

课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。

4.对于有效成绩,系统将其保存在课程成绩文件中。

对于无效成绩,系统会单独将其

保存在无效成绩文件中,并将详细情况提交给教务处。

在教务处没有给出具体处理意见之前,系统不会处理这些成绩。

5.若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程

完成通知给教务处,告知该门课程的成绩已经齐全。

教务处根据需要,请求系统生成相应的

成绩列表,用来提交考试委员会审查。

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

主讲教师须将核对之后的成绩报告返还系统。

7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行

审查。

考试委员会在审查之后,上交一份成绩审查结果给系统。

对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。

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

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

E1

E2

E4

—霞验i止嗥粧信魁

?

11

&

滾lUi*L

f-^-l牛成成绩列表

曲Mi

L_

哑冷貝曲亠

■ilIIHIllinillli*iiili!

-!

lllia^iilliifai

ir1

hfe

IO.氛叫术

:

乙呆'

」•改坨貓

虑邀讯

汇录Jlk.底绘

1

F

荊屈,篦i

【问题11(4分)

ffil-20层数据流團

 

使用说明中的词语,给出图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所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。

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在软件开发中用于描述功能需求

例2:

【软件设计师2004年5月真题】

试题一(15分)

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

[说明]

某图书馆管理系统的主要功能是图书管理和信息查询。

对于初次借书的读者,系统自动

生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。

系统的图书管理功能分为四个方面:

购入新书、读者借书、读者还书以及图书注销。

1.购入新书时需要为该书编制入库单。

入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目

前为止,购入此种图书的数量)。

2•读者借书时需填写借书单。

借书单内容包括读者号和所借图书分类目录号。

系统首先检查该读者号是否有效,若无效,则拒绝借书;

若有效,则进一步检查该读者已借图书是

否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,贝怖

绝借书;

否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。

3.读者还书时需填写还书单。

系统根据读者号和图书分类目录号,从借书文件中读出

与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应

的罚款。

4.注销图书时,需填写注销单并修改图书目录文件中的库存总量。

系统的信息查询功能主要包括读者信息查询和图书信息查询。

其中读者信息查询可得到

读者的基本信息以及读者借阅图书的情况;

图书信息查询可得到图书基本信息和图书的借出

情况。

图书管理系统的顶层图如图1-1所示;

图书管理系统的第0层DFD图如图1-2所示,其

中加工2的细图如图1-3所示。

i「煙0■礴駅舉

圈严懸亦严卩

»

w阳书騙T

it■-一一\

员忖生一3s

r

图】IB9书If理萊址顶憾图

—-^―

if理工柞谓来忙厂1、罚啟单

理曾理4枣丿■'

I1HI-2

读者丸件

谨者tfl况

倍书丈件

亠/乂Itut«

|

—\奁宙/x一/

查細用溝卿i趁

►I

圈书日录丈脊

【敷据流图1.11

2、

屈*値異圈书恫世-奄询/—-一►

、皱沁加

和工2的SHfth]

[问题1](2分)

数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。

[问题2](6分)

数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。

[问题3](7分)

根据系统功能和数据流图填充下列数据字典条目中的

(1)和

(2):

查询请求信息=[查询读者请求信息|查询图书请求信息]

读者情况=读者号+姓名+所在单位+{借书情况}

管理工作请求单=

(1)

入库单=

(2)

本题是一道分层数据流图的题目。

解答此类问题最关键的一点就是要细心,把题目看清,

不要丢掉任何一个条件。

另外解题有一定的技巧’,从一些常规的人口作为突破口,会事半

功倍。

现在就利用分层数据流图的数据流的平衡原则(即父图和子图(加工图)的一致性)来解

题。

子图是其父图中某一部分内部的细节图(加工图)。

它们的输入输出数据流应该保持一致。

如同看到地上有只蚂蚁有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显示信息和状态”也用到了配置信息文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1