软考下午题具体解释---数据流图设计

        在历年的软考下午题其中,有五道大题。各自是数据流图的设计,数据库设计,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与文件之间的。

        所以这里,我们就须要依据试题的描写叙述来找到对应的答案,试题描写叙述到:系统的信息查询功能主要包含读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况,图书信息查询可得到图书基本信息和图书的借出情况。依据试题描写叙述,我们非常easy看出来,有关读者的信息查询。应该要用到借书的文件,由于这里面是须要借书的情况。借书的相关信息在借书文件其中,所以这须要查询读者信息的话,不但要有读者文件还须要借书文件,所以要添加一条结束文件到读者信息查询的一条数据流,相同的情况,还要添加一条从借书文件到图书信息查询的数据流,图书信息查询出了图书的基本情况外。还应该包含图书的借阅情况,所以她也在借书文件其中,同一时候。来看图书的借阅情况,所以还要从图书文件夹文件到图书信息查询的数据流,由于要查询图书的基本情况,图书的基本情况在图书文件夹文件其中。所以依据试题描写叙述来发现缺少的数据流。

都能够依据子图和父图的平衡原则,还有试题的描写叙述来确定。接着。我们来看第三题,题目例如以下所看到的:

        

        中括号表示反复的情况,管理工作包含四个方面:购入新书,读者借书。读者还书、图书注销。购入新书的时候须要为该书编制入库单。

读者借书的时候须要填写借书单。

读者还书的时候须要填写还书单。

注销图书的时候须要填写注销单。所以她的管理工作请求单包含四种情况:入库单、借书单、还书单、注销单这四种。由于四种是可选的情况。依据数据流图里面数据结构的描写叙述,我们应该用中括号,中间用一个竖线来进行分开。我们再来看入库单:我们来看试题描写叙述。入库单的内容包含图书分类文件夹号、书名、作者、价格、数量和够数日期。这个是不是非常清楚nie。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql属于数据库三级模式_数据库系统的三级模式指的是什么

数据库系统的三级模式指的是什么发布时间:2020-10-26 10:11:21来源:亿速云阅读:52作者:小新小编给大家分享一下数据库系统的三级模式指的是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧&…

《自顶向下网络设计(第3版)》——导读

目录 第1部分 辨明客户的需求和目标 第1章 分析商业目标和制约 1.1 采用自顶向下的网络设计方法 1.2 分析商业目标 1.3 分析商业制约 1.4 商业目标检查表 1.5 小结 1.6 复习题 1.7 设计环境 第2章 分析技术目标与折衷措施 2.1 可扩展性 2.2 可用性 2.3 网络性能 2.4 安全性 2…

最小硬币问题_进行更改的最小硬币数量

最小硬币问题Description: 描述: This is classic dynamic programming problem to find minimum number of coins to make a change. This problem has been featured in interview rounds of Amazon, Morgan Stanley, Paytm, Samsung etc. 这是经典的动态编程问题…

补丁(patch)的制作与应用

为什么80%的码农都做不了架构师?>>> 转自http://linux-wiki.cn/wiki/zh-hans/%E8%A1%A5%E4%B8%81(patch)%E7%9A%84%E5%88%B6%E4%BD%9C%E4%B8%8E%E5%BA%94%E7%94%A8 如果hack了开源代码,为了方便分享(如提交Bug)或自己…

hbase 伪分布安装 java_HBase基础和伪分布式安装配置

一、HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的。1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定1.3 列族(column family),列的集合。一张表中有多个行健&#xff0c…

java script创建对象_JavaScript七种非常经典的创建对象方式

JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产。接下来介绍七种非常经典的创建对象的方式,他们也各有优缺点。一、工厂模式可以无数…

axis2开发webservice之编写Axis2模块(Module)

axis2中的模块化开发。能够让开发者自由的加入自己所需的模块。提高开发效率,减少开发的难度。 Axis2能够通过模块(Module)进行扩展。Axis2模块至少须要有两个类,这两个类分别实现了Module和Handler接口。开发和使用一个Axis2模块…

java 看书浏览器官_JAVA读取文件流,设置浏览器下载或直接预览操作

最近项目需要在浏览器中通过url预览图片。但发现浏览器始终默认下载,而不是预览。研究了一下,发现了问题:// 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注释掉&…

scrapy抓取淘宝女郎

scrapy抓取淘宝女郎 准备工作 首先在淘宝女郎的首页这里查看,当然想要爬取更多的话,当然这里要查看翻页的url,不过这操蛋的地方就是这里的翻页是使用javascript加载的,这个就有点尴尬了,找了好久没有找到,这里如果有朋…

win10 iot core java_Windows 10 IoT Core 正式版初体验

今天收到Windows 10 IoT Core Team邮件,Windows 10 IoT Core正式发布。以下记录了今天在Raspberry Pi 2上的体验过程:准备工作一台运行着正版Windows 10且版本不小于10240的个人PCVisual Studio 2015 版本不小于14.0.23107.0 D14Rel Install Visual Stud…

VUE2 第五天学习--过渡效果

阅读目录 1.理解VUE---过渡效果回到顶部1.理解VUE---过渡效果 1. 过渡的-css-类名会有4个(css) 类名在 enter/leave 在过渡中切换。1. v-enter: 进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。2. v-enter-active: 进入过渡的结束状态。在元素被插入时生效…

国家可持续发展议程创新示范区创建工作推进会在北京召开

2019独角兽企业重金招聘Python工程师标准>>> 为推进地方申报国家可持续发展议程创新示范区相关工作,根据国家可持续发展议程创新示范区创建工作的进展及需求,2017年4月23日—25日,科技部社会发展科技司、中国21世纪议程管理中心在…

BlockingQueue详解

前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所…

[QGLViewer]3D场景鼠标点击位置

重载鼠标事件: void AxMapControl::mousePressEvent(QMouseEvent* e) {switch(currentTool){case AX_DRAW_DIRECTION:{if (e->button() Qt::LeftButton) {QPoint screenPte->pos();qglviewer::Vec orig1, dir1;camera()->convertClickToLine(screenPt, or…

can收发器 rx_CANOpen系列教程03 _CAN收发器功能、原理及作用

1写在前面前面文章是从大方向介绍了CAN网络,让大家对CAN网络有一定的认识。本文将范围缩小,讲述整个CAN网络其中的一个CAN收发器。如下图标记出来的部分:本文结合众多初学者容易产生的疑问来讲述CAN收发器相关的知识点,大概有如下…

centos php fpm 停止_如何关闭php-fpm进程?

因为你是编译的,可以在源码中复制php-fpm的init文件到系统中:cp -f sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm然后就可以使用以下命令启动、停止、重启和重新加载php-fpm了:service php-fpm startservice php-fpm restartservice php-fpm…

Mongodb聚合函数

插入 测试数据 for(var j1;j<3;j){ for(var i1;i<3;i){ var person{Name:"jack"i,Age:i,Address:["henan","wuhan"],Course:[{Name:"shuxue",Score:i},{Name:"wuli",Score:i}]}db.DemoTest.Person.insert(pers…

php rename函数_php rename函数怎么用

PHP rename()函数用于重命名文件或目录&#xff0c;语法“rename(文件旧名称,新名称,句柄环境)”&#xff0c;使用用户指定的新名称更改文件或目录的旧名称&#xff0c;并且可以根据需要在目录之间移动&#xff1b;成功时返回True&#xff0c;失败时返回False。php rename()函数…

Spring Data Redis实战之提供RedisTemplate

为什么80%的码农都做不了架构师&#xff1f;>>> 参考&#xff1a; http://www.cnblogs.com/edwinchen/p/3816938.html 本项目创建的是Maven项目 一、pom.xml引入dependencies <dependency><groupId>org.springframework.data</groupId><artif…

php映射,PHP实现路由映射到指定控制器

自定义路由的功能&#xff0c;指定到pathinfo的url上,再次升级之前的脚本SimpleLoader.phpclass SimpleLoader{public static function run($rulesarray()){header("content-type:text/html;charsetutf-8");self::register();self::commandLine();self::router($rule…