软考下午题详解---数据流图设计

简介:         在历年的软考下午题当中,有五道大题,分别是数据流图的设计,数据库设计,uml图,算法和设计模式,从今天这篇博文开始,小编就跟大家来一起学习软考下午题的相关内容,包括理论上的知识以及典型例题的讲解,希望给予有需要的小伙伴有力的帮助,...

        在历年的软考下午题当中,有五道大题,分别是数据流图的设计,数据库设计,uml图,算法和设计模式,从今天这篇博文开始,小编就跟大家来一起学习软考下午题的相关内容,包括理论上的知识以及典型例题的讲解,希望给予有需要的小伙伴有力的帮助,备战软考,我们可以做的更好,今天小编主要简单总结一下数据流图的有关知识,首先,我们来看下面这张图:

        

        接着,小编就会跟随上面思维导图的脉络,依次对软考中的数据流图进行详细讲解,有不同意见的小伙伴欢迎讨论交流,首先我们来看第一个基本的知识点:

        数据流图的基本符号

        数据流图简称DFD,英文名字Data Flow Diagram,DFD 是描述数据处理过程的一种图形工具,她从数据传递和加工的角度以图形的方式来描述数据在系统流程中的流动和处理的异动的变换过程。反映的是数据的流向和自然的逻辑过程和必要的逻辑数据存储。我们来看下面的一张表,在数据流程图中,主要有以下的符号:

         

        如我们上图所展示的,在数据流图当中,通常采用四种基本的数据流图符号,在任何一个数据流图当中,必须包含四种基本符号,缺一不可。第一个符号圆形表示的加工处理的过程,在圆形当中,注明加工的名字和编号。第二个符号箭头:上面写数据流的名称,那么同一个数据流在经过了加工之后,可能有不同的加工结果,例如,日常生活中的面粉,经过加工以后,可能加工成了馒头,也可能是面粉,主要是加工的功能对数据流进行了处理,有流进就有流出,在同一个数据流图上,不能有同名的数据流,如果有两个以上的数据流指向一个加工。或者一个加工中,输出两个数据流,那么这些数据流当中,往往存在一定的关系,关系如下:

        

        第三种符号:数据存储文件:一般用双横线来表示,但是有关数据存储文件表示方式在各种不同的教材上表示的方法会不一样,比如说,有用双横线表示的,也有有半框形表示的,箭头表示存进来或者取出去,表示读和写的过程,一般把文件名写在中间,数据存储文件的作用是保存数据,可以是数据库的文件,也可以是另一种形式的数据组织,所以她的流向可以理解为查询文件。向外的箭头可以理解为得到了所需要的结果。
       第四种符号:数据源点或汇点,表示数据流图当中,需要处理的数据的输入的来源。在数据流图当中,只是作为一种符号,并不需要以任何软件的方式来进行设计和实现。她是系统外部环节中的实体,所以称外部实体。一般来说这种数据源点或汇点只出现在数据流图的顶层图当中。学习完了数据流图的基本符号,我们再来看一下数据流图的设计原则:

        数据流图设计原则

        

        数据流图的设计原则在后面的典型例题中,小编在细细说明这些原则是如何在我们的例题中灵活应用的。

        数据字典

        数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序原数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。我们来看下面的一张图:

        

        介绍完了数据流图的基本理论知识之后,我们就开始要实战了,在这里小编简单的举两个例题,巩固前面的理论知识,首先我们来看一道04年1月份的真题,虽然04年的题目距今已经有一定的年头了,但是软考的题目都是换汤不换药,所以掌握了基本的解题方法和技巧,任他千变万化,我自对答如流,好了,小编不扯了,题目如下所示:

         典型例题:

         

         数据流程图如下:

         

        问题如下:

         

         拿到题目之后,我们需要认真的读上几遍,因为这种题目考的不难,关键就是细心,有时候,题目中的一句话可能就是我们需要的答案,首先,我们来看第一道题,题目中说数据流图2中有两条数据流是错误的,请指出这两条数据流的终点和起点,我们来分析一下,顶层图中的四个输入管理工作请求单、查询请求信息、读者信息、当前日期在零层图当中都有体现,接下来,我们来看输出,输出的信息有图书情况、读者情况和非法请求信息,在0层图当中,图书情况和读者情况均有体现,但是仔细观察我们会发现在顶层图当中有输出的的为非法请求信息,在0层图当中有两个分别为非法管理工作请求单和非法查询请求信息,但是这样我们并不能判定这个就是错的,出现这样的情况可能是在顶层图中的一个输出流在0层图当中被分解了。我们先暂时放一放。接着我们来看读者文件,处理查询请求是对读者文件进行写的一个过程,登记读者信息是对读者文件进行写或者说是取信息。我们首先来看处理查询请求,从前面的事件描述当中,我们可以看出,处理查询请求包括查询图书情况和读者情况,所输出的结果没有错,并且与顶层图也是相对应的,在查询过程中,根据用户的查询请求信息,假设要查系统分析师继续指南的信息,那么就会输入系统分析师继续指南,然后输出,输出的就是系统分析师继续指南这本书的情况,作者,价格,出版社等情况,那么去哪儿查呢,所以这里面没有输入,所以对于读者文件而言,她所借阅的一些信息应该是从反方向作为输入,接到了查询信息以后,从读者文件中取出相关的记录来进行查询,同样情况,第三个加工,登记读者信息,输入的是读者信息,没有输出,违法了数据守恒的规则,有输入就要有输出。有输入,经过加工以后就应该有输出,那输出什么nie?在这里输入的是读者信息,加工的功能是登记读者信息,登记到哪儿去,应该要登记到读者文件中,所以应该也是反方向,如下所示:

        

        所以第一题的答案就是从2到读者文件,从读者文件到3,这题考察的是子图和父图的平衡原则。我们接着来看第二题,题目如下所示:

          

         第三个数据流图是对0层图第二个加工的一个细化,把第二个加工细化成读者信息查询和图书信息查询,那么要找出缺少的数据流,我们首先使用父图和子图的平衡原则。先看看1层图和1层图相对应的数据流的情况。
先看输入:查询请求信息,读者文件的输入,输出三条:图书情况、读者情况、非法查询读者请求信息。缺少的应该是内部的数据流情况,因为查询的请求信息包括两个,一个是查询读者请求信息,另一个是查询图书请求信息,也分成了两个,所以数据流跟父图是平衡的,但是问题是少了三条,少了那三条nie?根据子图和父图的平衡原则,所以缺少的肯定是2.1和2.2之间的,或者是2.1和2.2与文件之间的。

        所以这里,我们就需要根据试题的描述来找到相应的答案,试题描述到:系统的信息查询功能主要包括读者信息查询和图书信息查询,其中读者信息查询可得到读者的基本信息及读者借阅图书的情况,图书信息查询可得到图书基本信息和图书的借出情况,根据试题描述,我们很容易看出来,有关读者的信息查询,应该要用到借书的文件,因为这里面是需要借书的情况,借书的相关信息在借书文件当中,所以这需要查询读者信息的话,不但要有读者文件还需要借书文件,所以要增加一条结束文件到读者信息查询的一条数据流,同样的情况,还要增加一条从借书文件到图书信息查询的数据流,图书信息查询出了图书的基本情况外,还应该包括图书的借阅情况,所以她也在借书文件当中,同时,来看图书的借阅情况,所以还要从图书目录文件到图书信息查询的数据流,因为要查询图书的基本情况,图书的基本情况在图书目录文件当中,所以根据试题描述来发现缺少的数据流。都可以根据子图和父图的平衡原则,还有试题的描述来确定。接着,我们来看第三题,题目如下所示:

        

        中括号表示重复的情况,管理工作包括四个方面:购入新书,读者借书,读者还书、图书注销。购入新书的时候需要为该书编制入库单。读者借书的时候需要填写借书单。读者还书的时候需要填写还书单。注销图书的时候需要填写注销单。所以她的管理工作请求单包括四种情况:入库单、借书单、还书单、注销单这四种,因为四种是可选的情况,根据数据流图里面数据结构的描述,我们应该用中括号,中间用一个竖线来进行分开。我们再来看入库单:我们来看试题描述,入库单的内容包括图书分类目录号、书名、作者、价格、数量和够数日期,这个是不是很清楚nie。

         小编寄语:这篇博文,小编主要针对软考中的考点下午题数据流图进行讲解,主要讲解了四个方面的基本内容,数据流图的基本符号,数据流图的设计原则,数据字典,然后列出了一个简单的例题,对前面的理论知识加以巩固,虽然04年的题目有点儿年头了,但是软考的题目都是换汤不换药,所以掌握了基本的解题方法和技巧,任他千变万化,我自对答如流,对于数据流图这类题型,关键就是细心,从众多文字描述中,火眼金睛的看到我们所需要的答题信息,一般解题的时候都会利用上子图和父图的平衡原则已经数据平衡原则,掌握了解题技巧,数据流图就是送分的题,相信自己,肯定没有问题。由于上次小编抱着吊儿郎当的心态学习,觉得这次不过下次过,然后上天就真的成全了小编,没关系,小编会越挫越勇的,再次拥抱软考的小编,小编会给小编自己怎么样的奇迹呢,让我们拭目以待,小编给大家带来的精彩。

目录
相关文章
|
1月前
|
测试技术 uml
【中级软件设计师】—(针对上午题)UML (三十四)
【中级软件设计师】—(针对上午题)UML (三十四)
|
22天前
【中级软件设计师】—(针对上午题)可靠性公式(二十二)
【中级软件设计师】—(针对上午题)可靠性公式(二十二)
|
2月前
【中级软件设计师】—(针对上午题)输入输出控制方式(二十)
【中级软件设计师】—(针对上午题)输入输出控制方式(二十)
|
10月前
|
测试技术 uml
软件设计师---UML1
软件设计师---UML
95 0
|
10月前
|
uml
软件设计师---UML
软件设计师---UML
40 0
|
10月前
|
测试技术 uml
软件设计师---UML2
软件设计师---UML
48 0
|
10月前
|
自然语言处理 程序员 测试技术
软件设计师---钉子户3
软件设计师---钉子户3
79 0
|
10月前
|
存储 机器学习/深度学习 数据安全/隐私保护
软件设计师---钉子户4
软件设计师---钉子户4
711 0
软件设计师---钉子户4
|
10月前
|
存储 设计模式 算法
软件设计师---钉子户1
软件设计师---钉子户
67 0
|
10月前
|
存储 人工智能
软件设计师---钉子户5
软件设计师---钉子户5
87 0