文档库 最新最全的文档下载
当前位置:文档库 › 文件流是以外存文件为输入输出对象的数据流

文件流是以外存文件为输入输出对象的数据流

文件流是以外存文件为输入输出对象的数据流
文件流是以外存文件为输入输出对象的数据流

文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据读入。字符串流也称为内存流。

字符串流也有相应的缓冲区,开始时流缓冲区是空的。如果向字符数组存入数据,随着向流插入数据,流缓冲区中的数据不断增加,待缓冲区满了(或遇换行符),一起存入字符数组。如果是从字符数组读数据,先将字符数组中的数据送到流缓冲区,然后从缓冲区中提取数据赋给有关变量。

在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。这种情况与以标准设备(键盘和显示器)为对象的输入输出是类似的,键盘和显示器都是按字符形式输入输出的设备,内存中的数据在输出到显示器之前,先要转换为ASCII码形式,并送到输出缓冲区中。从键盘输入的数据以ASCII码形式输入到输入缓冲区,在赋给变量前转换为相应变量类型的二进制形式,然后赋给变量。对于字符串流的输入输出的情况,如不清楚,可以从对标准设备的输入输出中得到启发。

文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。向内存中的一个字符数组写数据就如同向文件写数据一样,但有3点不同:

1. 输出时数据不是流向外存文件,而是流向内存中的一个存储空间。输入时从内存中的存储空间读取数据。在严格的意义上

说,这不属于输入输出,称为读写比较合适。因为输入输出一般指的是在计算机内存与计算机外的文件(外部设备也视为文件)之间的数据传送。但由于C++的字符串流采用了C++的流输入输出机制,因此往往也用输入和输出来表述读写操作。

2. 字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需要打开和关闭文件。

3. 每个文件的最后都有一个文件结束符,表示文件的结束。而字符串流所关联的字符数组中没有相应的结束标志,用户要指定

一个特殊字符作为结束符,在向字符数组写入全部数据后要写入此字符。

字符串流类没有open成员函数,因此要在建立字符串流对象时通过给定参数来确立字符串流与字符数组的关联。即通过调用构造函数来解决此问题。建立字符串流对象的方法与含义如下。

建立输出字符串流对象

ostrstream类提供的构造函数的原型为:

ostrstream::ostrstream(char *buffer,int n,int mode=ios::out);

buffer是指向字符数组首元素的指针,n为指定的流缓冲区的大小(一般选与字符数组的大小相同,也可以不同),第3个参数是可选的,默认为ios::out方式。可以用以下语句建立输出字符串流对象并与字符数组建立关联:

ostrstream strout(ch1,20);

作用是建立输出字符串流对象strout,并使strout与字符数组ch1关联(通过字符串流将数据输出到字符数组ch1),流缓冲区大小为20。

建立输入字符串流对象

istrstream类提供了两个带参的构造函数,原型为:

istrstream::istrstream(char *buffer);

istrstream::istrstream(char *buffer,int n);

buffer是指向字符数组首元素的指针,用它来初始化流对象(使流对象与字符数组建立关联)。可以用以下语句建立输入字符串流对象:

istrstream strin(ch2);

作用是建立输入字符串流对象strin,将字符数组ch2中的全部数据作为输入字符串流的内容。

istrstream strin(ch2,20);

流缓冲区大小为20,因此只将字符数组ch2中的,20个字符作为输入字符串流的内容。

建立输入输出字符串流对象

strstream类提供的构造函数的原型为:

strstream::strstream(char *buffer,int n,int mode);

可以用以下语句建立输入输出字符串流对象:

strstream strio(ch3,sizeof(ch3),ios::in|ios::out);

作用是建立输入输出字符串流对象,以字符数组ch3为输入输出对象,流缓冲区大小与数组ch3相同。

以上个字符串流类是在头文件strstream中定义的,因此程序中在用到istrstream、ostrstream和strstream类时应包含头文件strstream(在GCC中,用头文件strstream)。

[例13.17] 将一组数据保存在字符数组中。

1.#include

https://www.wendangku.net/doc/3a8024153.html,ing namespace std;

3.struct student

4.{

5. int num;

6. char name[20];

7. float score;

8.};

9.int main( )

10.{

11. student stud[3]={1001,"Li",78,1002,"Wang",89.5,1004,"Fun",90};

12. char c[50]; //用户定义的字符数组

13. ostrstream strout(c,30); //建立输出字符串流,与数组c建立关联,缓冲区长

14.for(int i=0;i<3;i++) //向字符数组c写个学生的数据

15. strout<

16. strout<

17. cout<<"array c:"<

18.}

运行时在显示器上的输出如下:

array c:

1001Li781002Wang89.51004Fun90

以上就是字符数组c中的字符。可以看到:

1) 字符数组c中的数据全部是以ASCII代码形式存放的字符,而不是以二进制形式表示的数据。

2) 在建立字符串流strout时指定流缓冲区大小为30字节,与字符数组c的大小不同,这是允许的,这时字符串流最多可以传送

30个字符给字符数组c。请思考:如果将流缓冲区大小改为10字节,即:

ostrstream.strout( c ,10);

运行情况会怎样?流缓冲区只能存放10个字符,将这10个字符写到字符数组c中。运行时显示的结果是:1001Li7810

字符数组c中只有10个有效字符。一般都把流缓冲区的大小指定与字符数组的大小相同。

3) 字符数组c中的数据之间没有空格,连成一片,这是由输出的方式决定的。如果以后想将这些数据读回赋给程序中相应的变量,

就会出现问题,因为无法分隔两个相邻的数据。为解决此问题,可在输出时人为地加入空格。如

for(int i=0;i<3;i++)

strout<<" "<

同时应修改流缓冲区的大小,以便能容纳全部内容,今改为字节。这样,运行时将输出:

1001 Li 78 1002 Wang 89.5 1004 Fun 90

再读入时就能清楚地将数据分隔开。

[例13.18] 在一个字符数组c中存放了个整数,以空格相间隔,要求将它们放到整型数组中,再按大小排序,然后再存放回字符数组c 中。

1.#include

https://www.wendangku.net/doc/3a8024153.html,ing namespace std;

3.int main( )

4.{

5. char c[50]="12 34 65 -23 -32 33 61 99 321 32";

6. int a[10],i,j,t;

7. cout<<"array c:"<

8. istrstream strin(c,sizeof(c)); //建立输入串流对象strin并与字符数组c关联

9.for(i=0;i<10;i++)

10. strin>>a[i]; //从字符数组c读入个整数赋给整型数组a

11. cout<<"array a:";

12.for(i=0;i<10;i++)

13. cout<

14. cout<

15.for(i=0;i<9;i++) //用起泡法对数组a排序

16.for(j=0;j<9-i;j++)

17.if(a[j]>a[j+1])

18. {t=a[j];a[j]=a[j+1];a[j+1]=t;}

19. ostrstream strout(c,sizeof(c)); //建立输出串流对象strout并与字符数组c关联

20.for(i=0;i<10;i++)

21. strout<

22. strout<

23. cout<<"array c:"<

24.return 0;

25.}

运行结果如下:

array c: 12 34 65 -23 -32 33 61 99 321 32(字符数组c原来的内容)

array a: 12 34 65 -23 -32 33 61 99 321 32 (整型数组a的内容)

array c: -32 –12 32 33 34 61 65 99 321 (字符数组c最后的内容)

对字符串流的几点说明:

1) 用字符串流时不需要打开和关闭文件。

2) 通过字符串流从字符数组读数据就如同从键盘读数据一样,可以从字符数组读入字符数据,也可以读入整数、浮点数或其他类

型数据。如果不用字符串流,只能从字符数组逐个访问字符,而不能按其他类型的数据形式读取数据。这是用字符串流访问字符数组的优点,使用方便灵活。

3) 程序中先后建立了两个字符串流strin和strout,与字符数组c关联。strin从字符数组c中获取数据,strout将数据传送给字符

数组。分别对同一字符数组进行操作。甚至可以对字符数组交叉进行读写,输入字符串流和输出字符串流分别有流指针指示当前位置,互不干扰。

4) 用输出字符串流向字符数组c写数据时,是从数组的首地址开始的,因此更新了数组的内容。

5) 字符串流关联的字符数组并不一定是专为字符串流而定义的数组,它与一般的字符数组无异,可以对该数组进行其他各种操作。

通过以上对字符串流的介绍,大家可以看到:与字符串流关联的字符数组相当于内存中的临时仓库,可以用来存放各种类型的数据(以ASCII形式存放),在需要时再从中读回来。它的用法相当于标准设备(显示器与键盘),但标准设备不能保存数据,而字符数组中的内容可以随时用ASCII字符输出。它比外存文件使用方便,不必建立文件(不需打开与关闭),存取速度快。但它的生命周期与其所在的模块(如主函数)相同,该模块的生命周期结束后,字符数组也不存在了。因此只能作为临时的存储空间。

数据流程图例题

《信息管理系统》辅导 数据流图例题解析 例题:请根据以下描述画出系统的数据流图。该子系统共有三个加工:(1)首先是“建立订货合同台帐”:从订货合同、材料检验单和客户文件输入数据、输出形成合同台帐文件;(2)然后是“分类合并”:从合同台帐文件输入数据,排序合并后形成合同分类文件,最后“打印”加工单元从合同分类文件打印出合同分类表。 解析:本题是一道丰富典型的应用题,要求学习根据文字描述画出数据流图,这种题型在《信息管理系统》课程考试中经常出现,必须熟练掌握。为了解答这个例题,我们先回顾一下这三项内容:1、什么是数据流图;2、它有哪些基本符号; 所谓数据流图(Data Flow Diagram ,简称DFD )是一种分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。一般由数据流、加工、文件和数据源或终点四项组成(可参照教材图7-9)。 那么如何绘制数据流图呢?以本题为例进行说明: 首先我们可根据例题中的描述在纸上画出第一个加工“建立订货合同台帐”,如图1所示: 图1 其次,分析这个加工的输出、输入数据流。根据题意可知,该加工的输出是合同台帐文件、而为完成该项输出,必须有三项输入,即订货合同、材料检验单、客户文件。据此可绘制出如图2所示的图形: 图2 此时应注意两点:第一要对加工进行编号。本例中,我们将加工“建立订货合同台帐”编号为P1;第二要判断输入、输出项是一般的数据流、还是文件存储。如果是文件存储(比如客户文件、合同台帐文件)则需要用右边开口的方框表示,同时表示数据流的箭头上的文字可省略。 第三、将加工“分类合并”画在纸上,如图3所示 图3

实验分析数据流和绘制数据流图

实验报告课程名称_软件工程导论__________ 学院____计算机工程学院_________班级14软件1班 学号2014144141 姓名秦川 2016年11月8日

批阅教师时间实验成绩 课程名称软件工程 学号2014144141姓名秦川实验日期2016.11.8实验名称实验2分析数据流和绘制数据流图 实验目的: 1、掌握数据流的分析方法 2、掌握数据流图的绘制 实验内容: 任务一绘制数据流图 任务二分析数据流和绘制数据流图 案例一:总务办公管理系统 案例二:火车票预订系统 实验原理: 数据流图(DFD)是软件系统系统的逻辑模型,仅仅描绘数据在软件中流动(从输入移动到输出)的过程中所经受的变换(即加工处理)。 数据流图的绘制方法:根据数据流图的四种成分:源点或终点,处理,数据存储和数据流,从问题描述中提取数据流图的四种成分;然后依据“自顶向下、从左到右、由粗到细、逐步求精”的基本原则进行绘制。 基本符号如下:

实验过程与结果: 1.运行Microsoft Office Visio2007 运行Microsoft Office Visio2007 2.选择“软件和数据库”中的“数据流模型图”模板 选中数据流模型图模板

3.用鼠标选拉图标进行绘图 任务一绘制数据流图 试绘制工资管理系统的数据流图,根据数据流图的符号说明仔细理解下图含义: 这是学校教职工工资管理系统,教师根据课时表,职工根据任务表来确定个人工资情况,数据按以下方向传递: 首先,对课时表或任务表进行审核,审核后的数据经排序形成专用表格; 再进行一系列额外计算,包括个人所得说、住房公积金、保险费得出具体所发工资,并将工资表发给银行; 然后,向教职工展示工资所得明细; 最后,形成编制报表,更新分类表后,交于会计。 其中,人事科负责人事数据,教师与职工的工资由银行发放,会计做好报表的统计。

数据流图试题(卷)与答案解析

【问题1】(1)费用单 (2)待租赁房屋列表 (3)看房请求 (4)变更房屋状态请求 【问题2】(5)房主信息文件 (6)租赁者信息文件 (7)房屋信息文件 (8)看房记录文件 【问题3】(1)起点:房主终点:变更房屋状态数据流名称:变更房屋状态请求 (2)起点:租赁者终点:登记租赁者信息数据流名称:租赁者信息 (3)起点:租赁者终点:安排租赁者看房数据流名称:看房请求 试题一(共15分) 阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。 4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。 6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。 图1-1 顶层数据流图

浅谈数据流分析与应用

浅谈汽车数据流分析与应用 关练芬 湛江市第二技工学校 摘要:随着汽车电子控制技术的发展与应用,汽车的修理方式发生了深刻的变化,仅凭经验已不能满足现代汽车修理的需要。作为现代汽车重要检修方法之一的数据流分析,可以使维修人员实时了解汽车的工作状况,为汽车故障诊断与排除提供科学的依据。本文拟谈谈数据流分析的方法及其在汽车电控发动机故障诊断中的应用,为科学修车抛砖引玉。 关键词:汽车电子控制系统数据流分析故障诊断应用实例 随着人们对汽车的动力性、经济性和安全性等要求越来越高,汽车控制技术已由简单的化油器、少量的电气控制到集成电子燃油及点火控制、自动变速器、定速巡航、各种主动安全系统(ABS、ASR等)和舒适系统等于一身的车载电子控制系统。显然,面对日趋完善和复杂的汽车电子控制技术,过去光凭经验、拍脑袋换零件等旧的修车模式已不适应现代汽车检修的要求,而借用先进的专用诊断设备来读取故障码、进行数据流分析及波形分析等现代检修方法在汽车故障诊断中得到了广泛应用。本文拟重点谈谈数据流分析的方法及其在电控发动机故障诊断中的应用,为科学修车提供一点的帮助。 一、汽车数据流的认识 目前,各汽车制造厂家为提高汽车的动力性、经济性和降低排放污染,均致力于发展汽车电子控制技术。同时,为使汽车检修和设定方便,在电子控制系统中还设臵了具有故障自诊断和数据流记忆等功能的自诊断回路,汽车维修人员可以使用专用仪器来读取微机RAM中存储的故障码和数据流等信息,以帮助故障诊断。 众所周知,汽车电子控制系统主要由各种传感器、执行器和控制

微机组成。所谓数据流,是就是指汽车电子控制系统中由微机与传感器和执行器实时交流的输入、输出信号并以数据参数的形式通过诊断接口由专用诊断仪器读出的数据(组)。在汽车微机中增加了数据流记忆功能,真实地反映了传感器和执行器的工作电压和状态,为故障诊断提供了有效的途径。而数据流分析就是维修人员使用专用仪器读取电控系统微机通过诊断插座向外输出的、反映系统实时工作状况的数据流,通过对数据流中的各项参数进行数值分析并与标准值进行比较,以判断电控系统的工作是否正常,为查找故障提供科学依据的一种检修方法。 读取数据流除了可以检测到汽车各种传感器和执行器的工作状态外,还可以设定汽车的运行数据,如进行控制器编码和基本设定等。 二、数据流分析在故障诊断中的意义和作用 随着电子技术与计算机技术的发展与应用,大量的传感器、执行器和微机等安装在汽车上,使汽车的控制方式和修理方式发生了深刻的变化。面对日益复杂的电子控制系统,仅凭经验已无法满足现代汽车维修的需要,维修人员必须要掌握诸如读取故障码、数据流分析和波形分析等现代检修方法,从而科学、有序地排除汽车故障,提高修车效益。 (一)当前汽车故障诊断中存在的不足 现代汽车电子控制技的发展,使汽车维修的技术含量越来越高。但是,由于维修人员素质和维修水平参差不齐,在对汽车电子控制系统检修时主要还存在以下不足:

数据流图例题解析

数据流图例题解析 例题:请根据以下描述画出系统的数据流图。该子系统共有三个加工:(1)首先是“建立订货合同台帐”:从订货合同、材料检验单和客户文件输入数据、输出形成合同台帐文件;(2)然后是“分类合并”:从合同台帐文件输入数据,排序合并后形成合同分类文件,最后“打印”加工单元从合同分类文件打印出合同分类表。 所谓数据流图(Data Flow Diagram,简称DFD)是一种分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。一般由数据流、加工、文件和数据源或终点四项组成 那么如何绘制数据流图呢?以本题为例进行说明: 首先我们可根据例题中的描述在纸上画出第一个加工“建立订货合同台帐”,如图1所示: 图1 其次,分析这个加工的输出、输入数据流。根据题意可知,该加工的输出是合同台帐文件、而为完成该项输出,必须有三项输入,即订货合同、材料检验单、客户文件。据此可绘制出如图2所示的图形: 图2 此时应注意两点:第一要对加工进行编号。本例中,我们将加工“建立订货合同台帐”编号为P1;第二要判断输入、输出项是一般的数据流、还是文件存储。

如果是文件存储(比如客户文件、合同台帐文件)则需要用右边开口的方框表示,同时表示数据流的箭头上的文字可省略。 第三、将加工“分类合并”画在纸上,如图3所示 图3 第四、找出加工“分类合并”的输入和输出项,并用箭头在纸上标注出来。本例中,该加工的输入数据流是合同台帐文件,输出数据流是合同分类文件,由于“合同台帐文件”已被绘制在纸张上,因此只需用箭头将它与加工联接起来即可。如图4所示: 图4 第五、按上述方法,将加工“打印”绘制在图纸上。如图5所示

数据流图复习及解题技巧.docx

软件设计师考试的下午题的笫一道题,数据库系统工程师考试的下午题的笫一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。根据本人儿年的辅导和阅卷经验, 发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。本章介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。 一?解题当中考生表现岀的特点 由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点: 1.拿卷就做,不全面了解试卷,做到心中有数。这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。这样,在解题时目标就会明确很多。 2.速度快,读一遍题就开始动手做。 3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。 4.在阅读题目时,不打记,不前后联系起來思考。 5.边做边怀疑边修改,浪费时间。 6.缺少的数据流找不准,可去掉的文件找不出来。 7.由于缺少项目开发经验,对一些事务分析不知如何去思考。 8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。 二?解题的方法与技巧 1?首先要懂得数据流图设计要略。 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数, 一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。

汽车数据流分析

1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。 汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。 读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。 2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。 2.1怎样用电脑通信方式来获得汽车数据流? 电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通用诊断仪;另一种称为专用诊断仪。 通用诊断仪的主要功能有:控制电脑版本的识别、故障码读取和清除、动态数据参数显示、传感器和部分执行器的功能测试与调整、某些特殊参数的设定、维修资料及故障诊断提示、路试记录等。通用诊断仪可测试的车型较多,适应范围也较宽,因此被称为通用型仪器,但它与专用诊断仪相比,无法完成某些特殊功能,这也是大多数通用仪器的不足之处。 专用诊断仪是汽车生产厂家的专业测试仪,它除了具备通用诊断仪的各种功能外,还有参数修改、数据设定、防盗密码设定更改等各种特殊功能。专用诊断仪是汽车厂家自行或委托设计的专业测试仪器,它只适用于本厂家生产的车型。 通用诊断仪和专用诊断仪的动态数据显示功能不仅可以对控制系统的运行参数(最多可达上百个)进行数据分析,还可以观察电脑的动态控制过程。因此,它具有从电脑内部分析过程的诊断功能。它是进行数据分析的主要手段。 2.2怎样用电路在线检测方式来获得汽车数据流? 电路在线测量方式是通过对控制电脑电路的在线检测(主要指电脑的外部连接电路),将控制电脑各输入、输出端的电信号直接传送给电路分析仪的测量方式。电路分析仪一般有两种:一种是汽车万用表;一种是汽车示波器。 汽车万用表也是一种数字多用仪表,其外形和工作原理与袖珍数字万用表几乎没有区别,只增加了几个汽车专用功能档(如DWELL档、TACHO档)。 汽车万用表除具备有袖珍数字万用表功能外,还具有汽车专用项目测试功能。可测量交流电压与电流、直流电压与电流、电阻、频率、电容、占空比、温度、闭合角、转速;也有一些新颖功能,如自动断电、自动变换量程、模拟条图显示、峰值保持、读数保持(数据锁定)、电池测试(低电压提示)等。 为实现某些功能(例如测量温度、转速),汽车万用表还配有一套配套件,如热电偶适配器、热电偶探头、电感式拾取器以及AC/DC感应式电流夹钳等。 汽车万用表应具备下述功能: (1)测量交、直流电压。考虑到电压的允许变动范围及可能产生的过载,汽车万用表应能

数据流图(DFD)专题讲解

软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。 一.解题当中考生表现出的特点 由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点: 1.拿卷就做,不全面了解试卷,做到心中有数。这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。这样,在解题时目标就会明确很多。 2.速度快,读一遍题就开始动手做。 3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。 4.在阅读题目时,不打记,不前后联系起来思考。 5.边做边怀疑边修改,浪费时间。

6.缺少的数据流找不准,可去掉的文件找不出来。 7.由于缺少项目开发经验,对一些事务分析不知如何去思考。 8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。 二.解题的方法与技巧 1.首先要懂得数据流图设计要略。 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。 (2)保持父图与子图的平衡。 为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

数据流图画法要求

数据流图(DFD)画法要求 一、数据流图(DFD) 1.数据流图的基本符号 数据流图由四种基本符号组成,见图5-4-1所示。 图5-4-1 数据流图的基本符号 例:图5-4-2是一个简单的数据流图,它表示数据X从源S流出,经P加工转换成Y,接着经P加工转换为Z,在加工过程中从F中读取数据。 图5-4-2数据流图举例 下面来详细讨论各基本符号的使用方法。 2.数据流

数据流由一组确定的数据组成。例如“发票”为一个数据流,它由品名、规格、单位、单价、数量等数据组成。数据流用带有名字的具有箭头的线段表示,名字称为数据流名,表示流经的数据,箭头表示流向。数据流可以从加工流向加工,也可以从加工流进、流出文件,还可以从源点流向加工或从加工流向终点。 对数据流的表示有以下约定: 对流进或流出文件的数据流不需标注名字,因为文件本身就足以说明数据流。而别的数据流则必须标出名字,名字应能反映数据流的含义。 数据流不允许同名。 两个数据流在结构上相同是允许的,但必须体现人们对数据流的不同理解。例如图5-4-3(a)中的合理领料单与领料单两个数据流,它们的结构相同,但前者增加了合理性这一信息。 两个加工之间可以有几股不同的数据流,这是由于它们的用途不同,或它们之间没有联系,或它们的流动时间不同,如图5-4-3(b)所示。 (a)(b)(c) 图5-4-3 简单数据流图举例 数据流图描述的是数据流而不是控制流。如图5-4-3 (c)中,“月末”只是为了激发加工“计算工资”,是一个控制流而不是数据流,所以应从图中删去。 3.加工处理 加工处理是对数据进行的操作,它把流入的数据流转换为流出的数据流。每个加工处理都应取一个名字表示它的含义,并规定一个编号用来标识该加工在层次分解中的位置。名字中必须包含一个动词,例如“计算”、“打

系统分析数据流图10例教学教材

数据流图10例 1.请根据以下描述画出某库存管理系统的数据流图。该系统的数据流程描述如下:(1)首先,根据计划部门转来的收货通知单,和已存在的物资编码文件,建立物资采购单流水账;(2)然后,根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件;(3)最后,对物资台账分类汇总,将结果存储于物资总账文件中。 答: 图.1 2.请根据以下描述画出系统的数据流图。该子系统共有三个加工,(1)首先,根据生产计划、库存台账文件编制采购计划,建立采购计划文件;(2)其次,根据订货合同、采购计划文件,建立合同台帐文件;(3)最后,根据合同分类文件打印合同分类表。 答:

3.请根据以下业务流程描述,画出某物资管理系统的数据流图。该系统的业务流程描述如下:(1)生产车间向物资部提出物资需用计划,物资部计划人员根据库存台帐,编制物资采购计划;(2)采购人员根据物资采购计划,以及供货商报价单,编制合同台帐;(3)采购的物资到货后,库存管理人员根据技术科提供的验收报告,以及合同台帐,进行物资入库处理,并更新库存台帐。 答: 4.请根据以下描述画出某设备管理系统的数据流图。该系统的数据流程描述如下: (1)首先,根据技术科的验收报告,建立设备台帐;(2)然后,根据技术科的设备检修记录,更新设备台帐;(3)最后,对设备台帐分类汇总,打印输出统计报告。 答: 图.3

5.请根据以下业务流程描述,画出某仓库管理系统的数据流图。该系统的业务流程描述如下:(1)仓库管理员依据物资到货通知单,建立物资台帐;(2)领料人员向仓库管理员提交物资领用申请,库管员查询库存台帐并打印领料单;(3)月末进行物资盘点,生成并打印“物资收支存报表”。 答: 图.5

文件流是以外存文件为输入输出对象的数据流

文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据读入。字符串流也称为内存流。 字符串流也有相应的缓冲区,开始时流缓冲区是空的。如果向字符数组存入数据,随着向流插入数据,流缓冲区中的数据不断增加,待缓冲区满了(或遇换行符),一起存入字符数组。如果是从字符数组读数据,先将字符数组中的数据送到流缓冲区,然后从缓冲区中提取数据赋给有关变量。 在字符数组中可以存放字符,也可以存放整数、浮点数以及其他类型的数据。在向字符数组存入数据之前,要先将数据从二进制形式转换为ASCII代码,然后存放在缓冲区,再从缓冲区送到字符数组。从字符数组读数据时,先将字符数组中的数据送到缓冲区,在赋给变量前要先将ASCII代码转换为二进制形式。总之,流缓冲区中的数据格式与字符数组相同。这种情况与以标准设备(键盘和显示器)为对象的输入输出是类似的,键盘和显示器都是按字符形式输入输出的设备,内存中的数据在输出到显示器之前,先要转换为ASCII码形式,并送到输出缓冲区中。从键盘输入的数据以ASCII码形式输入到输入缓冲区,在赋给变量前转换为相应变量类型的二进制形式,然后赋给变量。对于字符串流的输入输出的情况,如不清楚,可以从对标准设备的输入输出中得到启发。 文件流类有ifstream,ofstream和fstream,而字符串流类有istrstream,ostrstream和strstream。文件流类和字符串流类都是ostream,istream和iostream类的派生类,因此对它们的操作方法是基本相同的。向内存中的一个字符数组写数据就如同向文件写数据一样,但有3点不同: 1. 输出时数据不是流向外存文件,而是流向内存中的一个存储空间。输入时从内存中的存储空间读取数据。在严格的意义上 说,这不属于输入输出,称为读写比较合适。因为输入输出一般指的是在计算机内存与计算机外的文件(外部设备也视为文件)之间的数据传送。但由于C++的字符串流采用了C++的流输入输出机制,因此往往也用输入和输出来表述读写操作。 2. 字符串流对象关联的不是文件,而是内存中的一个字符数组,因此不需要打开和关闭文件。 3. 每个文件的最后都有一个文件结束符,表示文件的结束。而字符串流所关联的字符数组中没有相应的结束标志,用户要指定 一个特殊字符作为结束符,在向字符数组写入全部数据后要写入此字符。 字符串流类没有open成员函数,因此要在建立字符串流对象时通过给定参数来确立字符串流与字符数组的关联。即通过调用构造函数来解决此问题。建立字符串流对象的方法与含义如下。 建立输出字符串流对象 ostrstream类提供的构造函数的原型为: ostrstream::ostrstream(char *buffer,int n,int mode=ios::out); buffer是指向字符数组首元素的指针,n为指定的流缓冲区的大小(一般选与字符数组的大小相同,也可以不同),第3个参数是可选的,默认为ios::out方式。可以用以下语句建立输出字符串流对象并与字符数组建立关联: ostrstream strout(ch1,20); 作用是建立输出字符串流对象strout,并使strout与字符数组ch1关联(通过字符串流将数据输出到字符数组ch1),流缓冲区大小为20。 建立输入字符串流对象 istrstream类提供了两个带参的构造函数,原型为: istrstream::istrstream(char *buffer); istrstream::istrstream(char *buffer,int n); buffer是指向字符数组首元素的指针,用它来初始化流对象(使流对象与字符数组建立关联)。可以用以下语句建立输入字符串流对象: istrstream strin(ch2); 作用是建立输入字符串流对象strin,将字符数组ch2中的全部数据作为输入字符串流的内容。 istrstream strin(ch2,20); 流缓冲区大小为20,因此只将字符数组ch2中的,20个字符作为输入字符串流的内容。 建立输入输出字符串流对象 strstream类提供的构造函数的原型为: strstream::strstream(char *buffer,int n,int mode); 可以用以下语句建立输入输出字符串流对象:

软件工程-数据流图(DFD)大题解析

1某公司为了给员工分配住房,开发了员工住房分配系统,功能如下: 计算原始分:根据员工信息(员工号、姓名、年龄、性别、学历、工龄、婚否、职务、职称、住房情况)计算原始分,并将员工信息存入员工信息文件中。 计算标准分:根据员工的原始分计算标准分,并将其存入员工分数文件(员工号、标准分)。 计算分房分:根据标准分、分房计划文件(员工号、住房请求)中的分房人数,计算分房分,并存入分房分数文件(员工号、分房分)中。 分房分查询:员工可以根据自己的员工号查询相应的分房分,若输入错误则返回出错信息。 试根据上面的系统功能描述: (1)画出该系统的分层数据流图。(8分) (2)写出相应的数据字典(要求至少写出三项)。(4分) (3)将数据流图转换为软件的结构图。(8分) (1): 1) 2)第一层数据流图 员工信息文件员工分数文件夹分房分数文件 2. 名称:员工信息 别名: 描述:员工的各种信息 定义:员工号+姓名+年龄+性别+学历+工龄+婚否+职务+职称+住房情况 位置:员工信息文件 名称:分房计划文件 别名: 描述:准备分房的计划 定义:员工号+住房请求 位置:公司系统 名称:分房分数文件 别名:

描述:计算出的每个员工分房分数的文件 定义:员工号+分房分 位置:公司系统 2阅读以下说明和图,回答问题1至问题5,将解答填入答题纸的对应栏内。(20分) 【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1)每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2)学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。 3)在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。 4)对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 5)若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。 6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 现采用结构化方法对这个系统进行分析与设计,得到如图2-1所示的顶层数据流图和图2-2所示的第1层数据流图。 【问题1】(4分) 使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。 E1:考试委员会 E2:主讲教师 E3:每个选课学生 E4:教务处 【问题2】(3分) 使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。 D1:课程信息文件 D2:课程单元信息文件 D3:学生信息文件 D4:课程成绩文件 D5:无效成绩文件 【问题3】(6分) 数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。

软考历年真题--下午题--数据流图(讲解)

试题一(15分) 阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。 1、购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。 2、读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。 3、读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。 4、注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;

图书信息查询可得到图书基本信息和图书的借出情况。 图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示其中,加工2的细化图如图1-3所示。 【数据流图1-1】 图1-1图书管理系统顶层图 【数据流图1-2】

软件开发中的数据流分析

软件开发中的数据流分析 数据流分析中,信息流是系统的一个需要考虑的关键因素,通常用数据流图来进行描绘。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。也就是说,数据流图的作用就是从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。 1 数据流图的标示 数据流图是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。DFD 有四种元素,其基本符号如图3-5所示。 1)外部实体 与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示。 2)数据的加工 加工是对数据进行变换而活处理的单元,它接收一定的数据输入,对齐进行处理,并产生输出。在数据流图中加工/处理用带标记的圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。 3)数据流 在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示。数据流由一组固定的数据组成,用来指出数据在系统内传播的路径。如订票单由旅客姓名、身份证号、年龄、日期、单位和目的地等数据项组成。由于数据流是流动中的数据,在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名(与数据存储之间的数据流不用命名)。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。数据流图中的箭头表示的是数据流,而程序流程图中的箭头表示的是控制流。

4)数据存储 表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等,用带标记的双实线表示。 在数据流图中,如果有两个以上数据流指向一个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。为表达这些关系,可以对数据流的加工表上不同的几号。一般来说,数据流与加工之间可用星号“*”表示相邻的一对数据流同时出现,用“+”表示相邻的两数据流可取其一或者两者,用“☉表示相邻的两数据流只能取其一,具体情况如图3-6所示。 为了能够有效表达数据处理过程的数据加工情况,需要采用层次结构的数据流图,即按照系统的层次结构进行逐步分解,并以分分层的数据流图来反映这种结构关系,这样就能比较清楚地表达和理解整个系统。

第8章 数据流与文件的输入输出

第8章 C++的I/O系统 8.1 知识要点 1.C++语言的“流”是指信息从外部输入设备(如键盘、磁盘等)向计算机内部(内存)输入和从内存向外部输出设备(显示器、磁盘)输出的过程。这种输入输出过程被形象地比喻为“流”。 2.C++系统中的所有I/O类均包含在iostream.h 、fstream.h、strstream.h这三个系统头文件中。 3.C++系统编译预处理时,要对# include命令进行“文件包含”处理,把该命令中指定的文件中的全部内容嵌入到该命令的位置,再编译整个C++文件,生成相应的目标代码程序。“文件包含”命令可以节省程序设计人员的重复劳动,也可以共享一些相同的程序段。 C++语言不仅提供了现成的I/O类库供用户使用,而且还为用户进行标准I/O操作定义了4个类对象,它们分别是cin、cout、cerr、clong 4.用格式控制符进行格式化输入、输出 5.所谓“文件”一般是指:存储在外部介质上的数据的集合。文件可用于存入程序代码,也可用于存放数据。 6.C++语言的文件名也是由文件的主名和扩展名两部分组成,它们之间用“.”号分隔。文件的主名是由用户命名的一个有效的C++标识符,为了同其他软件系统兼容,一般不超过8个有效字符。 7.C++语言把文件看作是一个字符(字节)序列,即由一个一个字符的数据顺序组成。根据数据的组织形式可分为ASCII文件和二进制文件两种。ASCII文件又称为文本(text)文件或字符文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件又称为字节文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。 8.对文件的操作 要在程序中使用文件,就要在程序的开始包含预处理命令: #include 对一般文件(主要是磁盘文件)的操作过程是:打开,读/写,关闭。 用户对标准I/O文件不需要进行打开/关闭,标准I/O文件函数分为以下三种: (1)字符I/O函数字符输入函数getchar ( )和字符输出函数putchar ( )。 (2)字符串I/O函数字符串输入函数gets ( )和字符串输出函数puts ( )。 (3)格式化I/O函数格式化输入函数scanf ( )和格式化输出函数printf ( )。 9.对字符文件的操作 (1)字符文件 在字符文件中,以换行符‘\n’结束的一串字符称为记录;终端屏幕上输出的一行字符就相当于一条记录;交互输入时,用户通过键盘输入,以回车键结束的一串字符也是一条记录。 (2)向字符文件写入数据向字符文件写入数据有2种方法。 1)调用从ostream流类中继承来的插入操作重载函数。使用方法同交互输出过程,但这时插入操作符的第一个操作数应是某个定义过的文件对象而不是cout。 (3)从字符文件读取数据到内存变量从打开的字符文件中输入数据到内存变量有3种方法。 10.对字节文件(二进制文件)的操作 (1)字节文件 与字符文件不同的是,字节文件中存放的是可供机器直接读取的二进制代码,在打开方式中带有ios::binary选项 (2)建立二进制文件和write()成员函数一个文件被用户定义的一个文件流对象按字节方式打开后,通过文件流对象调用在ostream流类中定义的write()成员函数就能够向文件流对象所对应的文件中写入数据。 (3)访问二进制文件和read()成员函数 从字节文件读数据,就是把具有一定字节数的内容原原本本地复制到内存中由指定字符

汽车数据流分析思路

汽车数据流分析思路 1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。2.1怎样用电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通

用诊断仪;另一种称为专用诊断仪。 怎样分析节气门开度? 节气门开度是一个数值参数,其数值的单位根据车型不同有以下种: 若单位为电压(V),则数值范围为0~5.1V; 若单位为角度,则数值范围为0度~90度; 若单位为百分数(%),则数值范围为0~100%。 该参数的数值表示发动机微机接收到的节气门位置传感器信号值,或根据该信号计算出的节气门开度的大小。其绝对值小,则表示节气门开度小;其绝对值大,则表示节气门开度大。在进行数值分析时,应检查在节气门全关时参数的数值大小。 以电压为单位的,节气门全关时的参数的数值应低于0.5V; 以角度为单位的,节气门全关时的参数值应为0度; 以百分数为单位的,节气门全关时该参数的数值应为0。此外,还应检查节气门全开时的数值。 节气门全开时的数值应分别为4.5V左右;82度以上;95%以上。若有异常,则可能是节气门位置传感器有故障或调整不当,也可能是线路或微机内部有故障。 怎样分析发动机转速? 读取电控装置数据流时,在检测仪上所显示出来的发动机转速是由电控汽油喷射系统微机(ECU)或汽车动力系统微机(PCM)根据发动机点火信号或曲轴位置传感器的脉冲信号计算而得的,它反

数据流图深入讲解

软件设计师:数据流图深入讲解[1] https://www.wendangku.net/doc/3a8024153.html,作者:佚名来源:考试吧2010年6月28日发表评论进入社区 软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。 一、解题当中考生表现出的特点 由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点: 1.拿卷就做,不全面了解试卷,做到心中有数。这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。这样,在解题时目标就会明确很多。 2.速度快,读一遍题就开始动手做。 3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。 4.在阅读题目时,不打记,不前后联系起来思考。 5.边做边怀疑边修改,浪费时间。 6.缺少的数据流找不准,可去掉的文件找不出来。 7.由于缺少项目开发经验,对一些事务分析不知如何去思考。 8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。 二、解题的方法与技巧

1.首先要懂得数据流图设计要略 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。 (2)保持父图与子图的平衡。 为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。 顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入 数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。 底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。 中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。 任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数 据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。 在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但 是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1 所示。

数据流图(DFD)专题讲解

软件工程考试 之 数据流图(DFD)专题讲解及例题分析 ——解题的方法与技巧 1.首先要懂得数据流图设计要略 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。 (2)保持父图与子图的平衡。 为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。 顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。 底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。 中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。 任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。 在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。

相关文档