❶ 采用数据流图的方式进行数据流程分析一般应遵循的原则是什么
JPEG(Joint Photographic Experts Group) 是一个由 ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。
JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在V-CD和DVD-Video电视图像压缩技术中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG 2000(简称JP 2000)标准,这个标准中将采用小波变换(wavelet)算法。
JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。压缩编码大致分成三个步骤:
1.使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。
2.使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。
3.使用霍夫曼可变字长编码器对量化系数进行编码。
译码或者叫做解压缩的过程与压缩编码过程正好相反。
JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB, YCbCr和CMYK。
JPEG压缩编码算法的主要计算步骤如下:
1.正向离散余弦变换(FDCT)。
2.量化(quantization)。
3.Z字形编码(zigzag scan)。
4.使用差分脉冲编码调制(differential pulse code molation,DPCM)对直流系数(DC)进行编码。
5.使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码。
6.熵编码(entropy coding)。
2. 量化
量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。
对于有损压缩算法,JPEG算法使用均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
3. Z字形编排
量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,如图5-17所示。这样就把一个8 ? 8的矩阵变成一个1 ? 64的矢量,频率较低的系数放在矢量的顶部。
4. 直流系数的编码
8 ? 8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8 ? 8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码,
Delta=DC(0, 0)k-DC(0, 0)k-1 ........ (5-5)
5. 交流系数的编码
量化AC系数的特点是1 ? 64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。
JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。
6. 熵编码
使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。
在JPEG有损压缩算法中,使用霍夫曼编码器来减少熵。使用霍夫曼编码器的理由是可以使用很简单的查表(lookup table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。
❷ 面向数据流的设计方法主要有哪几个步骤
通常所说的结构化程序设计就是基于数据流的设计方法。
1.变换流
信息沿输入通路进入系统,由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以
后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换流。
2.事务流
数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这
类数据流应该划为一类特殊的数据流,称为事务流。图中的处理T称为事务中心,它完成下述任务。
(1)接收输入数据(输入数据又称为事务)。
(2) 分析每个事务以确定它的类型。
(3) 根据事务类型选取一条活动通路.
3.变换分析
第1步复查基本系统模型
第2步复查并精化数据流图。
第3步确定数据流图具有变换特性还是事务特性。
第4步确定输入流和输出流的边界,从而孤立出变换中心。
第5步完成“第一级分解
软件结构代表对控制的自顶向下的分配,所谓分解就是分配控制的过程。对于变换流的情况,数据流图被映射成一个特殊的软件结构,这个结构控制输入、变换和输出等信息处理过程。位于软件结构最顶层的控制模块Cm协调下述从属的控制功能。输入信息处理控制模块Ca,协调对所有输入数据的接收。变换中心控制模块Ct,管理对内部形式的数据的所有操作。输出信息处理控制模块Ce,协调输出信息的产生过程。
第6步完成“第二级分解”
第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。
第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。
4.事物分析
数据流具有明显的事务特点时采用事务分析方法。事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。由事务流映射成的软件结构包括一个接收分支和一个发送分支。
❸ 结构化分析方法的数据流图
一,→:数据流。是由一组固定成分的数据组成,箭头的方向表示数据的流向,箭头的始点和终点分别代表数据流的源和目标。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有合适的名字,以反映数据流的含义。
二,○:外部实体。代表系统之外的实体,可以是人、物或其它系统软件,他指出数据所需要的发源地或系统所产生的数据归属地。
三,□:对数据进行加工处理。加工是对数据进行处理的单元,它接受一定的数据输入,对其进行处理,并产生输出。
四,=:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
(2)分层数据流图
对于一个大型系统,如果在一张数据图上画出所有的数据和加工,则会使得数据流图复杂而难以理解,为了控制复杂性,结构化分析法采用数据流图分层技术。一套分层的数据流图由顶层、底层和中间层组成。
(3)保持数据守恒
(4)加工细节隐蔽 E-R图包含实体、关系和属性等3种成分。这三个成分来理解现实问题,接近人们的思维方式。
❹ 总结条件循环结构的一般方法
仅供参考
(一)数值型for循环
数值型for循环的一般形式为:
for(表达式1;表达式2;表达式3)
如图for所示
(1)先求解表达式1,然后求解表达式2,若其值为真(true),则执行for语句中内嵌的循环语句;若其值为假(false),则转到第5步结束循环。
(2)求解表达式3。
(3)转回上面求解表达式2,继续执行。
(4)循环结束,执行for语句下面的一个语句。
(二)while语句
while(表达式)
语句;
其中作为循环条件的表达式必须是boolean型变量、常量或表达式,循环体语句可以是任意Java语句,包括复合语句。其语义是,首先计算表达式的值,当值为真(true)时,反回循环体语句;当值为假(false)时结束循环。
(三)do-while语句
与for语句和while语句不同的是,do-while语句是后判定型循环,即先执行循环体,再判定循环条件。当循环条件为真(true)时反复执行循环体,直到循环条件为假(false)终止循环。因此,其循环体将至少被执行一次,而先判定型循环的循环体可能一次都不被执行。do-while语句的一般形式为:
do
语句块
while(表达式);
(四)
如果for、while或do-while循环控制语句的循环体中又包含循环控制语句就构成了嵌套循环(nestedloop)。这3种循环语句之间可相互嵌套,构成复杂的逻辑嵌套结构。
其实每个解释中都是有图解的,但是我只能添加一张图片,没有找到如何添加多张图片,自己看文字解释吧。希望对你有帮助
❺ 24。结构化分析方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型
DFD与数据字典
❻ 从数据流推导出模块结构图一般有哪两种方法
从数据流推导出模块结构图一般有两种方法:
事务分析;
变换分析。
❼ 简述结构分析方法基本手段和基本策略
结构化分析方法的基本手段是逐层分解,而数据流图则是描述分解的基本手段。结构化分析方法能够长期被人们接受并采纳,主要是因为它有以下的特点: 一、强调用户自始至终的积极参与 在系统分析阶段,用户始终积极参与,使得用户可以更多的了解新系统,并随时从业务和用户角度提出新的要求。另一方面也可使系统分析人员能更多的了解用户的要求,更深入的调查和分析管理业务,使新系统更加科学、合理。 二、注重整体分析,层层落实 按系统的观点,任何事情都是相互联系的有机整体。在分析时应首先站在整体的角度,将各项具体的业务或组织融合成一整体加以考察,首先确保全局的正确,然后再层层分解进行解剖分析。 三、强调系统的适应性 各种事物都是运动和变化的。同理,在进行系统分析时,要充分预料到可能会发生的变化,增强系统的适应性,以应付各种各样的变化。这些变化主要来自以下几个方面: 1、系统外部环境的变化。如外部的组织机构发生了变化,将引起信息传递渠道变化;上级主管部门需要的信息发生变化,则引起输出和处理模块的变化。 2、系统内部处理模式的变化。如系统内部组织机构、管理方式和工艺流程的改变,必将引起数据的收集、输入以及处理方式的变化。 3、用户要求的变化。随着时间的推移、问题的深入、技术的发展,用户的要求也会随之变化。
❽ 结构化分析方法的基本手段是什么
结构化分析方法(Structured Method,结构化方法)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。
它的设计原则包括:
使每个模块执行一个功能(坚持功能性内聚)
每个模块用过程语句(或函数方式等)调用其他模块
模块间传送的参数作数据用
模块间共用的信息(如参数等)尽量少
基本实现手段如下:
一: 数据流图
含义
数据流图是SA方法中用于表示逻辑系统模型的一种工具,它从数据传递和加工的角度,以图形的方式来刻画数据流从输入到输出的变换过程。
(1)、元素
A、数据流。是由一组固定成分的数据组成,箭头的方向表示数据的流向,箭头的始点和终点分别代表数据流的源和目标。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有合适的名字,以反映数据流的含义。
B,外部实体。代表系统之外的实体,可以是人、物或其它系统软件,他指出数据所需要的发源地或系统所产生的数据归属地。
C,对数据进行加工处理。加工是对数据进行处理的单元,它接受一定的数据输入,对其进行处理,并产生输出。
D、数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
(2) 分层数据流图
对于一个大型系统,如果在一张数据图上画出所有的数据和加工,则会使得数据流图复杂而难以理解,为了控制复杂性,结构化分析法采用数据流图分层技术。一套分层的数据流图由顶层、底层和中间层组成。
(3)保持数据守恒
(4)加工细节隐蔽
二、数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素定义的集合。数据字典是结构方法的核心。数据字典有以下几个条目:数据项条目、数据流条目、文件条目和加工条目。
三、判定表
有些加工的逻辑用语形式不容易表达清楚,而用表的形式则一目了然。如果一个加工逻辑有多个条件、多个操作,并且在不同的条件组合下执行不同的操作,就可以使用判定表来描述。
四、判定树
判定树和判定表没有本质的区别,可以用判定表表示的加工逻辑都可以用判定树来表示。
五、结构化语言
采用一种介于自然语言和形式化语言之间的结构化语言来描述加工逻辑,既可以像自然语言那样最方便,也可以像形式化语言一样能够精确描述事物,且被计算机易于处理。
六、E-R图
E-R图包含实体、关系和属性等3种成分。这三个成分来理解现实问题,接近人们的思维方式。
注意事项:
一,命名。
二,画数据流而不是控制流。
三,一般不画物质流。
四,每个加工至少有一个数据流和一个输出数据流。
五,编号
六,保持父图和子图的平衡
七,数据流图的一致性
八,提高数据流图的易懂性
❾ 汽车故障诊断数据流分析的步骤
汽车因设计、材料、生产工艺、使用方式、检修保养等差异,在使用过程不可避免地要发生故障。汽车常见故障是逐渐形成的。当汽车发生故障时,能够用经验和科学知识准确地快速地诊断出故障原因,找出损坏的零部件和部位,并尽快地排除汽车常见故障,对汽车的使用和维修有利。因此,分析故障的原因、列举常见主要故障、
❿ 什么是基于数据流的设计方法,如何实施
面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此“又称结构化设计(Structured
Design,简称SD)。该方法由美国IBM公司L.Constantine和E.Yourdon等人于1974年提出,与结构化分析(SA)衔接,构
成了完整的结构化分析与设计技术,是目前使用最广泛的软件设计方法之一。