软件设计师数据流图(DFD)专题讲解

上传人:博****1 文档编号:493322407 上传时间:2023-04-12 格式:DOC 页数:18 大小:99KB
返回 下载 相关 举报
软件设计师数据流图(DFD)专题讲解_第1页
第1页 / 共18页
软件设计师数据流图(DFD)专题讲解_第2页
第2页 / 共18页
软件设计师数据流图(DFD)专题讲解_第3页
第3页 / 共18页
软件设计师数据流图(DFD)专题讲解_第4页
第4页 / 共18页
软件设计师数据流图(DFD)专题讲解_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《软件设计师数据流图(DFD)专题讲解》由会员分享,可在线阅读,更多相关《软件设计师数据流图(DFD)专题讲解(18页珍藏版)》请在金锄头文库上搜索。

1、软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。 一.解题当中考生表现出的特点由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点:1.拿卷就做,不全面了解试卷,做到心中有数。这样会导致在解题过程当中缺少一种整体

2、概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。这样,在解题时目标就会明确很多。2.速度快,读一遍题就开始动手做。3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。4.在阅读题目时,不打记,不前后联系起来思考。5.边做边怀疑边修改,浪费时间。6.缺少的数据流找不准,可去掉的文件找不出来。7.由于缺少项目开发经验,对一些事务分析不知如何去思考。8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。二.解题的方法与技巧1.首先要懂得数据流图设计要略。有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源

3、点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点:(1)自外向内,自顶向下,逐层细化,完善求精。(2)保持父图与子图的平衡。为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入

4、数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图

5、中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。图1 父图与子图的平衡(3)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。一个加工的输出数据流只由它的输入数据流确定。数据流必须经过加工,即必须进入加工或从加工中流出。(4)加工细节隐蔽。根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中

6、某些加工之间的数据接口时,那么这些数据存储为局部数据存储。为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据接口或某个特定加工的输入和输出时,才画出来。即按照自顶向下的分析方法,某数据存储首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。(5)简化加工间的关系。在数据流图中,加工间的数据流越少,各个加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目。(6)均匀分解。应该使一个数据流中的各个加工分解层次大致相同。(7)适当地为数据流、加工、文件、源/宿命名,名

7、字应反映该成分的实际意义,避免空洞的名字。(8)忽略枝节。应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性的问题。(9)表现的是数据流而不是控制流。数据流图与传统的程序流程图不同,数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的。数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序。数据流图适合于宏观地分析一个组织的业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。每个加工必须既有输入数据流,又有输出数据流;在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有

8、写,或者只有写、没有读。2.解题的方法。(1) 数据平衡原则。数据平衡原则分为两个方面: 在分层数据流图中,父图和子图要平衡,也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。数据平衡的另一个方面是说:每个加工必须即有输入数据流又有输出数据流,而且一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。(2) 要特别注意的几个细节问题。 除了流向数据存储(文件)或从数据存储流出的数据流不必命名外,其它每个数据流都必须有一个合适的名字。流向文件的数据流,表示写入数据,流出文件的数据流表示读文件。在整套数据流图中,每个

9、文件必须既有读的数据流又有写的数据流,但在某一张子图中可能只有读没有写,或者只有写没有读。在逐步精化的过程中,若一个文件首次出现时只与一个加工有关,既该文件是个加工的内部文件,那么该文件在当层图中不必画出,可在该加工的细化图中画出。3.解题的技巧。(1)阅读题干的技巧。快速的阅读第一遍,基本了解题目所涉及到的知识点或者事务,打记实体对象和存储文件,甚至可以将数据流也标记一下;这一步重点落在问题上,一般问题不难,但一定要看清问题。带着问题来看第二遍,边看边解决。(2)要有整体的概念,不能因一个点符合就断定是它,尤其是数据对象。(3)注意解题的速度,一般在20分钟以内为最好。(4)解题的过程中,每

10、一条数据流都能够在说明中找到相应的语句。(5)数据流名称要写对,每错一个字扣0.5分;流向也要写对。(6)做好以后,复查一遍;不要边做边怀疑、边修改,那样会担误时间,且错误更多。三.例题讲解例1:【软件设计师(数据库系统工程师)2007年11月真题】试题一(共15分)阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。2. 学

11、生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系

12、统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。 图1-2 0层数据流图【问题1】(4分)使

13、用说明中的词语,给出图1-1中的外部实体E1E4的名称。【问题2】(3分)使用说明中的词语,给出图1-2中的数据存储D1D5的名称。【问题3】(6分)数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。起 点终 点【问题4】(2分)数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。试题分析:本题考查的是DFD的应用,属于比较传统的题目,考查点也与往年类似。问题1考查的是顶层DFD。顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工

14、(即待开发的系统)、外部实体及外部实体与系统之间的输入输出数据流。题目要求填充的正是外部实体。从顶层DFD可以看出,数据流是完整的。所以只要根据数据流从题目说明的上下文中,找出E1E4所对应的外部实体,分别为考试委员会、主讲教师、学生和教务处。0层DFD中缺少的东西比较多,要求填写数据存储及缺失的数据流。先来确定数据存储。首先,从说明中找出可能是数据存储的元素来。很明显,学生信息文件、课程信息文件、课程单元信息文件、课程成绩文件和无效成绩文件应该是数据存储。下面的工作就是对号入座。从0层DFD上可以看到,加工3到D5有一条数据流;而加工3所完成的操作是“记录无效成绩”。从说明中可知,“对于无效

15、成绩,系统会单独将其保存在无效成绩文件中”,所以D5应该是数据存储“无效成绩文件”;类似地,从加工2气己录有效成绩”到D4有一条数据流,这说明D4就是数据存储“课程成绩文件”。D1输出两条数据流,分别流向加工1“验证学生信息”和加工4“生成成绩列表”。由说明“根据学生信息文件来确认该学生是否选修这门课程”可知,验证学生信息时,需要根据学生信息文件来进行;而生成成绩列表及成绩单时,学生信息都是必要的。所以D1应该是“学生信息文件”。这样的话,D2和D3就应该分别与“课程单元信息文件”和“课程信息文件”对应。由于D2和D3都只与加工1有关,所以它们的对应关系就是随意的了。这样5个数据存储就填充完整了。下面要丰L充缺失的数据流。首先,从说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”实际上就是图中的D4。而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。另外,前面在确定D1所对应的数据存储时提到过,生成成绩单时是需要学生信息的。所以,加工5应该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号