文档库 最新最全的文档下载
当前位置:文档库 › 系统复杂性的度量方法

系统复杂性的度量方法

系统复杂性的度量方法
系统复杂性的度量方法

系统复杂性的度量方法?

宋学锋

(中国矿业大学管理学院,中国徐州,221008)

摘要:本文在前人工作的基础上,对系统复杂性的度量问题进行系统了地总结、分析和研究,首先,具体给出了浑沌系统的定性和定量判别方法;然后,提出了度量浑沌复杂性的“浑沌度”的概念和计算方法;最后,系统总结了结构复杂性的五种度量方法。

关键词:复杂性,浑沌,度量

0.引 言

国家自然科学基金委员会于1999年8月4日至6日在京郊九华山庄召开了以“复杂系统与复杂性科学”为主题的科学论坛。与会专家一致认为,目前的科学发展正处于一个新的转折点,其突出标志之一就是复杂性科学的兴起。在我国应大力提倡和加强对复杂性科学这个虽还处于萌芽状态,但已被有些科学家誉为是“21世纪的科学”的跨学科的新兴领域的研究。

根据复杂性科学目前的研究情况,我们认为可以将之分为两大学派:“自然科学学派”和“组织行为科学学派”。自然科学学派认为系统的复杂性存在于客观系统中,主要强调复杂性存在的“客观性”,因此,在对复杂性的研究上主要强调从复杂系统内部的客观演化机理方面来进行研究;如:浑沌理论与非线性动力学、自适应系统理论、系统动力学理论等就属于自然科学学派的范畴。而组织行为科学学派则认为系统的复杂性来自人的“脑”中[1],强调的是复杂性的“相对性”,因此,在对复杂性的研究上强调从复杂系统的外部通过改进和提高人类组织的认识水平来“管理”客观复杂性。如:结构复杂性科学[2]等理论就属于组织行为科学学派的范畴。

然而,作为新兴的学科,人们对如何判别和度量系统的复杂性(Complexity)尚未达成共识,或者说尚未认识清楚。因此,本文在前人工作的基础上,特就系统复杂性的度量问题进行总结、分析和研究,旨在抛砖引玉,以便尽快将这一复杂性科学的基本问题研究清楚,为复杂性科学的进一步研究和发展奠定扎实的基础。

以下,我们分别从浑沌系统与结构复杂性两个方面,采用定性与定量相结合、微观分析和宏观综合相结合的方法来总结和探讨复杂系统的度量问题。

1.浑沌系统的复杂性度量

自然科学学派或认为复杂性来源于浑沌,或认为复杂性来源于浑沌的边缘(Edge of Chaos),至于复杂性的概念及其与浑沌的联系与区别,我们另文讨论。总之,复杂性与浑沌现象关系密切。因此,判别和度量浑沌现象对于把握系统的复杂性具有重要意义。

我们认为,对于系统的浑沌可以从以下三个层次上去理解和把握。一是对于一些可以给出定量模型的系统,可以直接采用Li-York定义[3],进行较严格的定量分析和判别;二是对于一些由时间序列数据反映的系统浑沌可以由我们后面将要介绍的判别方法进行判别;三是对于一些经济现象要进行定性的判断,可以用以下我们总结的浑沌的定性本质和规律去判别。而对于不同的浑沌系统的复杂性可以用我们提出的“浑沌度”的方法进行度量和比较。

1.1经济管理系统浑沌的定性判别方法

从经济学的特点来看浑沌理论关于浑沌的定义,有的过于抽象,难以验证;有的则过于笼统,不够准确。因此,很有必要探讨和研究适合于经济和管理科学的浑沌的定性判别方法,而

?本文为国家自然科学基金项目,项目号:79970115,且受江苏省“青蓝工程”和“333”工程资助。

不是照搬物理学和数学等自然科学对浑沌的定义和方法。

那么经济与管理的规律究竟有什么特点呢?著名的美国经济学家诺贝尔经济学奖获得者,保罗·A·萨缪尔森指出:“经济学的规律只是在平均意义上才是对的,它们并不表现为准确的关系。”[4]按照萨缪尔森的这种思想,在经济学领域里对浑沌的理解和把握可以不必太拘泥于数学定义中规定的苛刻而抽象、难以与经济含义相对应的条件,只须从平均意义上把握浑沌的主要和本质特征就可以了。

1.1.1浑沌系统的本质特点

我们总结出浑沌经济系统的本质特点主要有以下几个方面:

(1)积累效应 

浑沌经济系统在运动过程中,如果系统的起始状态稍微有一点改变,那么,随着系统的演化,这种变化最会迅速被积累和放大,最终导致系统行为发生、巨大”的变化,即“差之毫厘,谬之千里”。这种现象可称为积累效应,俗称“蝴蝶效应”(气象学上把蝴蝶翅膀在空中的扇动对远处气候变化造成的较大影响称为蝴蝶效应)数学上又称之为初值敏感性。

(2)奇怪吸引性 

浑沌经济系统在运行过程中,往往伴随着“奇怪吸引性”的出现。所谓奇怪吸引性,通俗地,是类似于“旋涡”的,能够把许多杂乱无章和互不关联的事物吸引到自己周围,并使这些事物按一定规则运动和发生联系的核心事物。奇怪吸引子的出现使系统从表面上看杂乱无章,一片混乱,其实,这种现象下面却隐含着良好的秩序。譬如:以利润为目的的市场竞争中的“高额利润”就是一种奇怪吸引子,它驱动着众多的生产者和消费者在市场中进行激烈的“角逐”。 (3)不可叠加性 

由于浑沌现象发生于非线性系统,因此,浑沌系统不再具有线性系统所特有的叠加性。所谓叠加性,即:整体等于部分之和。是指线性系统中,各要素之间的比例关系和各要素间的简单合并或加和性。如某些经济变量间的线性比例关系,一些复杂经济系统可看成一些简单子系统的叠加。对于浑沌经济系统而言,我们就不能再简单地认为系统各要素之间具有比例关系或是简单的加和关系。 

(4)非周期性 

系统演变的不规性,即系统演变不具有明显的规律性,或着说系统在运动过程中不重复原来的“轨迹”,称为非周期性。

(5)结构自相似性 

浑沌经济系统本身与其子系统、孙子系统等不同层次系统在结构上具有的相似性或类似性,称为自相似性。如:从中央到地方,从地方到基层的各级管理机构的设置等就具有结构相似性。(6)分形性 

浑沌经济系统的几何结构,在一般情况下,不是传统意义上的维数(如:一条直线、一个平面、一个体积等),而是一种具有分数维的“分形”物,其维数不再是整数,而是某个分数。如:处于浑沌阶段的股价指数曲线就具有明显的分形特征,它的维数就是一个分数[5],[6]。 1.1.2浑沌系统具有的与传统观念不同的规律

浑沌经济系统还具有以下四条与传统观念不同的规律: 

(1)浑沌现象可以出现在简单的系统里。传统观念通常认为系统的复杂行为是由于系统的复杂性决定的。事实上,却不一定,因为有些简单的系统也可以产生复杂的浑沌行为,如:逻辑斯特迭代系统等。 

(2)浑沌是系统本身内在的或固有的,并不一定来自外部环境的干扰作用。

如:1987年,美国发生的“黑色星期一”现象,并不是由于经济波动、政治冲突、战争等外部干扰引起的。 

(3)浑沌系统是确定的。即浑沌可以出现于完全确定性的系统里,而非随机系统。也就是说浑

沌经济系统的复杂性和不确定性并不是由随机因素造成的。

(4)浑沌现象是反“直觉”的。即:浑沌规律是不能凭直觉和经验进行判别的,因为,研究表明:人的直觉只能感知线性规律,对于浑沌这样的非线性规律是无能为力的。

上述这六个定性特征和四条规律从不同的侧面反映了浑沌经济系统的主要特征,对实际的

经济系统或经济现象可以根据这些特征进行粗略地综合性判断[5],[7]。

1.2系统浑沌的定量判别方法

1.2.1连续系统浑沌的定量判定方法 

对于连续系统浑沌判定的主要依据是李—约克提出的定义和由此派出生来的一些充分条件。

定理1(Li-York )设f(x)是[0,1]上的连续函数,若存在点x ∈[0,1],使得不等式:

f 3(x)≤x<f(x)<f 2(x) 或者:f 3(x)≥f>f(x)>f 2(x)

其中:f 2(x)=f(f(x)),f 3(x)=f(f 2(x)),则f(x)在[0,1]上是浑沌的。 

这个定理可以通俗地理解为“周期三意味着浑沌”,亦即如果一个系统有周期三的点,那么这个系统就一定是浑沌的。 

利用定理1,可以证明农产品价格蛛网模型是浑沌系统。事实上,可以证明凡是可以化为逻

辑斯谛的经济模型都是浑沌的[5]。 

定理2(沙可夫斯基) 设f:[a,b ]→[a,b ]是一个连续的紧映射,则如果f(x)有周期为某数的解,那么它就一定有序列(*)中排在它后面的那些数的周期解:

3→5→7→9→ …… 

…2·3→2·5→2·7→ …… 

…22·3→22·5→22·7→ …… 

…23·3→23·5→23·7→ …… (*)

……… 

…2m →2m-1→…→22→2→1

例如:某系统有周期4解,那么它一定有周期2解和周期1解;若系统有周期3解,那么它就存在一切数的周期解即浑沌,因为3排在上述序列的最前头。

在定理2的基础上可以得出以下推论: 

(1) 如果f 有一个周期点,它的周期不是2的一个乘幂,f 就必然有无穷多个周期的周期点;

(2) 如果f 仅有有限个周期的周期点,则f 必有周期为2的幂次的周期;

(3) 如果f 有周期3或有大于1的奇数周期点,则f 必有所有其它周期的点。 

1.2.2根据时间序列判定浑沌的定量方法[8]-[10]

对绝大多数经济系统,我们最初往往只知道有关的观察结果,即经济数据。而为了研究经济系统的运行规律,往往要对经济数据作一些统计分析或者根据有关数据建立定量的数学模型,然后再作进一步的分析。诚然,如果根据有关数据能够构造出较好反映客观规律的数学模型,当然很好。遗憾的是对于复杂的非线动态经济系统,往往很难建立准确的数学模型,因此,按照传统做法先建立模型,然后再用前述的定量方法研究其浑沌规律就行不通了。所以,探讨直接用时间序列判定相应系统是否浑沌的方法显得十分必要。 

若已知某系统有关的时间序列数据,则我们可以用以下几种方法来判断该系统是否是浑沌的。

(1)连续功率谱 

“功率谱”是单位频率上的能量,它能反映出功率(强度)在频率上的分布情况。功率谱原是一个物理学概念,但利用它可以区分周期函数和非周期函数。因为周期函数的功率谱是由许多离散的谱线构成,每根谱线的高度指示了相应频率的振动强度。特别当发生分叉时,功率谱将中国科技论文在线___________________________________________________________________________https://www.wendangku.net/doc/dd11980761.html,

改变它的特征。基本频率为f 的周期解,当周期倍化时,在f/2处出现附加的谱线。非周期即浑沌运动的功率谱不再有离散的谱线,而是连续的。

设我们观察到一组经济时间序列数据(时间间隔为ΔT ):

X 1,X 2,X 3,…,X n

则相应的功率谱可用Fourier 变换的方法求得[9],[10]。 

实践中,数据越多,即时间序列越长,谱分析研究的结果越精确。计算功率谱可以程序化,我们编制了求解的计算机程序,见文献[5]。

(2)正的Liapunov 指数 

浑沌的另一个重要的定量特征是具有正的Liapunov 指数。前文曾经指出浑沌具有积累效应或称初值敏感性,亦即初始值的微小偏差会被系统以指数的形式迅速放大。实际上,这个放大“指数”就是所谓的Liapunov 指数。 

Liapunov 指数也是系统运动相轨线的平均发散性或平均收敛性的一种度量。浑沌系统具有正的(大于0) Liapunov 指数,因此,只要求出系统的Liapunov 指数,根据其值的正负性就可判

别系统是否是浑沌的。Liapunov 指数的求解方法如下所述[9]。 

(a) 连续系统的Liapunov 指数:

考虑系统: dx(t)/dt=f(x(t)),x(t)∈R n

设n 维相空间中一轨道与另一相邻轨道分别具有初始条件x 0和x 0+Δx 0,由此生成切向量W (x 0,t),则:

称为Liapunov 指数。

(b) 离散系统的Liapunov 指数 

设n 维迭代映射:x j+1=f (x j ),令:A j =[M(x j )·M(x j-1)…M(x 1)]1/j ,其中:M(x j )为f 的Jacobi

矩阵。并设A j 的特征值为λi (j),则Liapunov 指数由下式给出[3]:

一般地:若max {σi }>0,则系统作浑沌运动,并出现奇怪吸引子。三维(或二维)自流系统,的运动性质与Liapunov 指数值的关系如下表所示: 

Liapunov 指数(σ1,σ2,σ3) 运动性质

(-,-,-) 平衡点

(0,-,-) 极限环(周期运动)

(0,0,-) 二维环面(准周期运动)

(+,0,-) 混沌运动或奇怪吸引子

(3)分数维数 

浑沌吸引子的几何特征具有分数维数。分数维数的定义如下:设s 是n 维空间中的子集,M(ε)是覆盖s 所需的边长为ε的n 维立方体的最小数目,则s 的Hausdorff 维数为:

如果一个吸引子s 的维数d(s)为一个分数,那就可以断言该吸引子是浑沌吸引子。 一

()()()()σx w t w x t w x t w x 000000

10,lim ,,,=→∞→()σλi j i j

j =→∞lim ln 1()()

()

d s M =→lim ln ln /εεε01

般而言,分数维d(s)大于它的拓扑维数,而小于它要占据的空间维数,即:

d<d(s)<d+1

一般来说,计算d(s)是比较困难的,不过可通过Liapunov 指数间接求出它。因为Kaplar 和Yorke 猜想它们存在下列关系:

其中:d 为Hausdorff 维数,σ1≥σ2≥…≥σn 是Liapunov 指数,j 是使下式成立的大整数: σ1+σ2+…+σj >0

根据此式算出的Hausdorff 维数,是近似的,但与实际值是很接近的。 

对于经济系统,我们通常只能得到一个变量的时间序列:

x 0,x 1,x 2,…,x n ,… (时间间隔为Δt )

经济系统的浑沌行为应该体现在这个时间序列里。因此,应该可以从这个时间序列求出其维数。为此,我们需要由原序列构造一个m 维相空间,它的分量是从原数据中挑出来的,其时间间隔为τ,它是Δt 的整数倍。 

例如:取τ=1·Δt ,而构造的三维相空间为:

x 1(x 0,x 1,x 2) 

x 2(x 1,x 2,x 3) 

……

这里τ的选择是使其构成的m 维相空间的每一个分量是相互独立的。这样它们就可在m 维空间中形成动力系统的轨道。 

由Whitney 嵌入定理,这个嵌λ的相空间维数m 必须足够大,它和浑沌吸引子维数d 之间满足:

m = 2d + 1

为了计算维数,我们任取一个数r ,然后检查有多少“点对”(x i ,x j )之间的距离小于r ,把

这些“点对”在所有“点对”(若有n 个点,则共有n 2个“点对”)中所占的比例记为c(r),则:

式中: 

c(r)描述了随r 增加时,“点对”数如何增长的分布函数。选取适当大小的r ,则c(r)随r 的变化为:

c (r )= r

d

这里d 就是要求的维数。因此,d 具有描述该吸引子结构的特征。对于确定的m 值,在ln c(r)与ln r 的坐标图中,若有一段是直线,则该直线的斜率就是d 。

(4)正测度熵 

熵是经济动力系统的一种统计性质,它给出了系统在单位时间内产生的平均信息量的一个上限,是浑沌性态的一种度量。 

设吸引子为一集合,它被边长为ε的N 维立方体完全覆盖,对于ε,设立方体的个数为M(ε),通过M(ε)的概率为p i ,则测度熵可定义为:

d j i

i j j =+?=+∑σ

σ11

()()

c r n r x x j i

i j i j n =??=≠∑121θ,()θx x x =>

I p p i i M i

εε=?=∑1ln

测度熵I(ε)与Liapunov 指数具有如下关系[9]:

因此,在给定一组经济数据(时间序列)的前提下,可采用求Liapunov 指数的方法间接求出。

1.3经济系统浑沌度理论

1.3.1浑沌度的提出

定义1 浑沌度就是浑沌系统所具有的不规则程度和复杂程度。不规则程度主要指系统非周期程度和无序程度;复杂程度主要是指系统的积累效应程度或初值敏感程度以及在几何结构上的分维程度。 

为了进一步刻画浑沌度的概念,需要把它定量化。为此,我们给出如下定义。

定义2 设( f,I )为一浑沌经济系统,σi ,i = 1,2,…,n 为其Liapunov 指数,m 为该系统几何结构的分数维,d 为极差,即d = max f (x)-min f (x),则向量:

β=( σ, m , d )

称为该系统的浑沌度向量,其中σ= max {σi }。 

浑沌度向量β可以作为对经济系统浑沌度的一个综合度量。不同的浑沌经济系统可能会有不同的向量β,为了进行比较,下面分析其顺序结构。

先分析σ,对于一维系统,X f X n n +=1(),Liapunov 指数σ可由下式导出: ????X X X X d X dx

X X n n n

n n f f f e =+?≈=()()()000000σ

由上式可以看出,在其它条件相同的前提下,σ越大表明系统积累效应越强;因此,浑沌度也就越高。 

再来分析分维m ,分数维m 大于它的拓扑维n 而小于它要占据的空间维数n+1,即:

n<m<n+1

对同类空间中的浑沌系统,分数维m 越大,说明其几何结构越不规则,越复杂。

可见,随着不规则程度的增加,相应的分数维也逐渐增加。值得说明的是,分数维的值与度量该曲线的标度r 有密切关系;同一曲线也会因标度r 的不同计算出来的分维数也不同。这是因为若r 过大,那些小于r 的波动情况就会被忽略。对经济系统而言亦是如此,比如:我们要研究某个系统每天的变化情况,就应该选用以天为单位的统计数据,每个小时的变化情况就可忽略不计;若选用月统计数据进行研究,就不能反映每天的变化情况。另外,由于计算误差等原因,经济曲线的维数大多是分数,这并不表明它们都是浑沌系统。一般认为:经济系统分维m>1.5时才具有明显的浑沌性态[11]。总之,对浑沌经济系统而言,其分维m 越大,浑沌度越高。

最后,来分析极差d ,由于对经济问题来说,一般认为起伏越大,系统越不稳定;因此,d 越大浑沌度也就越大(对浑沌经济系统而言)。

()I i i i εσσ=

>∑,0

中国科技论文在线___________________________________________________________________________https://www.wendangku.net/doc/dd11980761.html,

综上所述,对于不同的浑沌系统A 和B,若它的相应的浑沌度向量β1和2β之间满足:β1>2β(或β1<2β),则就可断言系统A 的浑沌度高于(或低于)系统B 的浑沌度,当然,若β1=2β, 则它们具有同样的浑沌度。这样以各种浑沌系统的浑沌度向量β构成的集合具有一种半序结构。

定义3 若浑沌经济系统的浑沌度向量为β=(σ,m,d ) 则称数值:γ=P 1σ+P 2m+P 3d 为该系统的浑沌指数,其中P i >0,(i=1,2,3),且 ∑P i =1。 

在定义3中的Pi 是各浑沌定量指标的权重或系数,它们随经济系统的具体情况或研究的目的不同而不同。一般情况下,可以认为σ,m 和d 具有同等重要性,可取P 1=P 2=P 3=1/3,此时,浑沌指数γ的计算公式简化为:

γ=1/3(σ+m+d)

显然,不同的浑沌经济系统,γ越大其浑沌度越大。为了剔除具体问题单位选取对d 的影响,可用极差率来代替上述的d ,即用d/max f(x) 来代替。 

值得说明的是定义2与定义3是不可相互取代的,因为,有可能两个系统满足:β1≠β2,但γγ12=或β1=β2,但γγ≠21,这时需要同时考虑β与γ值的大小。

1.3.2浑沌度的意义

有了上述浑沌度向量和浑沌指数的概念以后,我们就可以比较不同的浑沌系统的复杂和不

规则程度[6],更重要的是,用这些量可以对浑沌经济系统进行预警分析,这对宏观经济调控或微

观经济管理都具有十分重要的意义[5]。另外,这也有可能成为浑沌经济理论走向实用的重要途径

之一。

2.系统结构复杂性的度量

按照组织行为学派,特别是结构复杂性科学的观点,复杂性是人们对复杂系统的感觉,亦即系统复杂性在人头脑中的映射。因此,复杂性与系统包含的“因素”数量、因素间不同的“二元关系”的数量、研究小组群体观点差异程度等因素有关。这些因素多与人们在学习和认识客观系统的过程有密切关系,它们可以用以下方法进行度量。

2.1 米勒指数(Miller Index )

米勒指数(记为M )是指:复杂系统研究小组认为所研究的系统在问题环境中所包含问题的个数(用N 表示)与人们在短暂记忆能力水平上一次所能处理信息的最大个数(7)之比,即:M=N/7。这个指数的定义是根据心理学研究成果得出的,米勒在文献[12]中的研究结果显示出:人们在短暂记忆能力的平均水平上,一次能有效回忆并处理信息的个数最多是7。数字7也因此被称为“魔数”。显然,米勒指数是对需要同时处理的问题集合大小的度量,它越大,表明相对于人们的“能力”而言,其复杂性越高;反之依然。

2.2 迪摩根指数(De Morgan Index )

迪摩根指数(记为D )是指:复杂系统研究小组在所研究系统中确定的不同二元关系的个数(记为K )与10之比,即:D=K/10。其中:二元关系的个数是按照ISM (Interpretive Structural Modeling )方法(见[13])定义和计算的,而分母10是系统在米勒指数和观点差异指数均为1中国科技论文在线___________________________________________________________________________https://www.wendangku.net/doc/dd11980761.html,

时呈最简单的线性结构时的二元关系的个数。由定义可知,迪摩根指数是对所研究问题结构复杂性的一种度量。

2.3观点差异指数(Spreadthink Index)

观点差异指数(记为S)是指:研究小组成员不同观点的个数(记为V)与5之比,即:S=V/5。其中:V是指NGT(Nominal Group Technique)方法(见文献[14],[15])。显然,观点差异指数是对研究小组成员对所研究问题包含的5个最重要因素的意见分歧程度的度量。

以上三个系统复杂性的度量指数均以1为临界值,当指数小于或等于1时,表明系统不具有复杂性,而当指数大于1 时,表明系统具有复杂性。研究表明临界值1反映了人的对复杂系统的认识限度。

2.4情景复杂性指数(Situational Complexity Index)

情景复杂性指数(记为SCI)是由米勒指数、迪摩根指数和观点差异指数之积构成的,即:SCI=M·D·S=(N/7) ·(V/5) ·(K/10)=(1/350) NVK

按照文献[16]的研究结论,系统复杂的充分条件是:SCI>100。

2.5亚里士多德指数(Aristotle Index)

亚里士多德指数(记为A(n))是指:所研究系统包含的各因素间具有的演绎关系(Syllogism)的个数。显然,A(n)的值越大表明系统诸因素之间的演绎关系越多,越显得错综复杂,因此,系统的复杂度也就越高。

根据结构复杂性科学理论,任何一个复杂系统都可以用ISM方法表示成一个结构图,构成这种结构图的基本元素有两个,一是结构图的层次,另一个是结构图的“圈”。所谓圈是指每个因素都具有双向联系的结构。系统结构图包含的演绎关系数可以通过对每个层次和每个圈包含演绎个数的累加得到。

显然,在每个圈中,具有演绎关系的最少因素个数为3,即:

A(0)= A(1)= A(2)=0

一般地,A(n)等于在n个数中每次取3个数的排列组合数,亦即:

A(n)=P(n,3)=n/(n-3)P(n-1,3),n>3

对于线性层次(每个因素都在分布在一条直线上)而言,所包含演绎的个数的计算公式如下:

A(0)= A(1)= A(2)=0

A(n)= A(n-1)+1/2(n-1)(n-2),n>3

以上五种指数,分别从不同的角度反映了系统的结构复杂性,因此,构成了对复杂系统结构复杂性的度量。

3.结论

本文在前人工作的基础上,从研究复杂性科学的自然科学学派和组织行为学派两个方面系统总结、分析和研究了系统复杂性的度量问题。具体给出了浑沌系统的定性和定量判别方法,提出了度量浑沌复杂性的“浑沌度”的概念和计算方法,并系统总结了结构复杂性的五种度量方法。

如果说复杂性科学的研究可以分为物理层次、生物层次和社会层次的话,我们认为,在物理层次上,亦采用自然科学学派的观点和方法,应该强调复杂性的客观性,因此,可以认为复杂性存在于系统之中,进行定量分析、度量和研究。

对于社会层次上的复杂性问题,我们认为可以把系统的复杂性视为在“脑”中,因为,社

会问题和经济管理问题,不容等到把复杂系统内部的“客观”复杂性都搞清楚之后再作决策,因此,应该强调复杂性的“主观性”或“相对性”的一面,把着眼点放在改进方法论、提高在现有条件下对复杂性的认识和把握水平上来,从而有利于问题的有效解决。从这个意义上说,社会科学或经济管理科学研究复杂性不能照搬自然科学学派的观点和方法,而较亦采用结构复杂性科学的观点和方法。

至于在生物层次上,研究系统复杂性既要强调复杂性的客观性,又要重视复杂性的相对性,二者相结合的观点和方法可能比较适合生态系统复杂性研究的特点。

参考文献

[1]Warfield, J. N., Twenty Laws of Complexity: Science Applicable in Organizations, Systems

Research and Behavioral Science, 16, 3-40, 1999

[2]Warfield, J. N., Song Xuefeng, An Effective Approach to Manage Complexity of Organizations:

The Structure-Based Science of Complexity, Journal of Complexity, No.1, 2000 (to be published) [3]Li, T-Y & James A. York, Period Three Means Chaos, American Mathematical Monthly,V ol.82,

pp985-92, 1975

[4][美] 保罗·A·萨缪尔森,威廉·D·诺德豪斯,经济学(上),北京:中国发展出版社,1991

[5]宋学锋,浑沌经济学理论及其应用研究,徐州:中国矿业大学出版社,1996

[6]宋学锋,顾世清,深沪证券市场股价波动的浑沌度及其调控方法,管理科学学报,2000,No.1

[7]宋学锋,煤炭供需失衡与浑沌经济学,煤炭经济研究,1995, No.3

[8]宋学锋,浑沌经济系统的定量特征及其计算方法,复杂系统、理论、方法、应用,北京:科

技文献出版社,1994

[9]陈予恕,非线性动力学中的现代分析方法,北京:科学出版社,1992

[10]刘式达,刘式适,非线性动力学和复杂现象,气象出版社,1989.12

[11]方曙,黄登仕,社会科学中的分形,科学, 1990,V ol.42, No.2

[12]Miller, G. A. The Magical Number Seven, Plus or Minus Two: Some Limitations on Our

Capacity for Processing Information, Psychology Review, V ol. 63, No.2, 1956, pp81-97

[13]Warfield, J. N., A Science of Generic Design: Managing Complexity Through Systems Design,

The 2nd Edition, Ames, IA: Iowa State University Press, 1994

[14]Warfield, J. N. and Cárdenas Roxana, A Handbook of Interactive Management, Ames, IA: Iowa

State University Press, 1994

[15]Delbecq, A. L., Van de Ven, and Gustafson D. H., Group Techniques for Program Planning: A

Guide to Nominal Group and DELPHI Processes, Glenview, IL: Scott, Foresman, 1975

[16]Staley, S. M., Complexity Measurements of Systems Design, Integrated Design and Process

Technology, IDPT, 1995, V ol.1, pp153-161

[17]Warfield, J. N., Spreadthink: Explaining Ineffective Groups, Systems Research, 1995, V ol.12,

No.1, pp5-14

[18]Warfield, J. N., The Structure-Based Science of Complexity (to be published), 2000

[19]宋学锋,浑沌经济学基础理论研究,中国矿业大学学报,1998,No.2

[20]Song Xuefeng, The Mathematical Mechanism of Chaos and Its Prospects in Economic Systems,

Advanced in Management Science, Beijing: International Academic Publishers, 1994

[21]Song Xuefeng, On the Basic Theory of Chaotic Economics and Its Applications, Proceedings of

International Conference on Management Science and the Economic Development of China, Hong Kong University of Science and Technology, Hong Kong, 1996

[22] Song Xuefeng ,The Degree of Chaos and the Evaluation on the Behavior of Chaotic Economic Systems, International Symposium on Asia Science & Technology and Development, Changsha: Central South University Press, 1995

[23] Song Xuefeng, The Methods of the Chaos Degree and Chaos Border Point and Their Application to Shanghai Stock Market, Proceedings of the 3rd International Conference on Systems Science and Systems Engineering, Beijing: Scientific and Technical Documents Publishing House, 1998, pp113-117

[24] Song Xuefeng, Research on the Chaotic Regular of Shenzhen and Shanghai Stock Markets, The Proceedings of The 3rd International Conference on Management Science, Springer-Vager Press, 1998

The Methods for Measuring the Complexity of Systems

Song Xuefeng

School of Business Administration

China University of Mining and Technology

Xuzhou, Jiangsu, 221008, P. R. China

Abstract: There is a wide range of complex phenomena emerged from the natural systems, the biologic systems, and the economical and social systems. For resolving the problems under the environment of complexity, many scientists have been done a lot of works since 1980s. However, it seems that there has been no any systematic and perfect method yet for measuring the complexity of systems. So in this paper, the quantitative and qualitative methods for judge the chaos of systems are presented firstly. Then the chaos degree for measuring the complexity of chaotic systems is put forward. Finally, the five methods for measuring the complexity of systems based on the Structure-Based Science of Complexity are reviewed systematically. Keywords: Complexity, Chaos, Measurement

中国科技论文在线___________________________________________________________________________https://www.wendangku.net/doc/dd11980761.html,

软件度量总结(精)

软件度量总结 这次总结的结构比较简单,就是按照五个章节分别阐述了自己的理解。 一.软件度量的应用范围。 经过这一阶段的学习,我认为想要明白软件度量,首先要分清度量和测量的区别。度量具有前置性,它提供了一种定量研究软件问题的方法;测量具有实时性或后置性,主要集中在给度量提供数据或者处理数据的方法上。由于软件工程强烈的不确定性,使得软件工程的精确测量困难重重,但软件度量主要研究的是可能性的规律,通过概率和统计学的研究,寻找事物内在的规律。其并不具备 1+1=2的特征, 而是研究在多大可能性上这个结论是合理的,因为软件的主体是人,具有概率属性,设备和材料容易度量,但人很难度量。软件度量的主要作用是评估状况、跟踪进展情况、评价产品有效性和改进设计和过程的质量。定性分析可以提供迅速地判断能力,但定性分析终究需要定量分析的验证与支持,否则其结果很可能成为无目之本,出现错误。 软件度量的方法体系主要包括 5个方面:1. 项目度量,目的在于度量项目规模、成本、进度、顾客满意度等,辅助项目管理进行项目控制; 2. 规模度量,主要依靠经验和经验的模型,是决定项目成败的重要原因之一,是估算工作量、成本预算及策划项目进度的基础; 3. 成本度量, 4。产品度量,实质上是软件质量的度量,软件的质量由一系列质量要素组成,每个质量要素又由一些衡量标准组成,主要肚量方法是McCabe 复杂性度量法; 5,过程度量,对软件开发过程的个各方面进行度量,目的在于预测过程的未来属性,减少结果的偏差,主要包括成熟度度量(例如 CMMI, GJB5000A、管理度量(主要包括里程碑管理、风险度量等项目管理度量,审查度量、质量保证度量等质量管理度量,变更控制、版本管理度量等配置管理度量、生命周期度量三个大的方面。 不同层次的人员对软件度量有不同的需求。高级管理人员,如 CEO 、 COO ,关注点在上市时间、客户满意度、费用的节省等商业策略的组成部分上;中级管理层,如部门经理、总监等,则主要关注生产力、成本控制、效率等,他们更多的是着眼于

浅析软件质量指标度量

软件质量指标度量 V 1.0 2012.3

目录 1综述 (3) 1.1编写目的 (3) 1.2阅读指南 (3) 2软件质量指标 (4) 2.1需求功能点覆盖率 (4) 2.2用例执行覆盖率 (4) 2.3缺陷修复率(截至于**年*月*日) (5) 2.4缺陷遗留个数(截至于**年*月*日) (5) 2.5缺陷分布统计(模块缺陷率) (5) 2.6缺陷分布统计(严重缺陷率) (6) 2.7缺陷密度及收敛 (7) 3测试过程质量指标 (9) 3.1缺陷探测率 (9) 3.2有效缺陷率 (9) 3.1用例执行效率 (10) 3.2缺陷发现率 (10) 4交付质量指标 (12) 4.1加载回退率 (12) 4.2故障回退率 (12) 5版本说明 (13)

1综述 1.1 编写目的 本文档主要为测试经理、测试组长/测试人员、技术负责人、项目经理、开发人员等提供软件质量、测试质量、交付质量等衡量依据。通过不同指标的目标设定、过程跟踪、结果分析,为当期被测产品的质量提供可参考的数据,也为后续测试提供数据的基础积累,并作为制定方法流程的依据。 1.2 阅读指南 ●软件测试质量指标主要针对研发项目、商务项目被测产品出具数据 度量。 ●测试过程质量指标主要为测试经理、测试组长对测试人员的测试执 行质量出具数据度量。 ●交付质量主要为新需求的交付质量出具数据度量。 三者可单独使用,也可结合使用。

2软件质量指标 2.1 需求功能点覆盖率 【需求覆盖率】:计算测试用例总数之和除以与之一一对应的功能点数之和,主要查看是否有功能点遗漏测试的情况。 【公式】:∑测试用例数(个)/ ∑功能点(个) 说明:用例覆盖需求矩阵,一个需求对应多个功能点。 【数据来源】:《联通集中集团客户业务支撑系统销售管理用户需求说明书》《联通集中集团客户业务支撑系统销售管理需求跟踪矩阵》 【计算结果】需求覆盖率=113/8=14.13 2.2 用例执行覆盖率 【用例执行覆盖率】:计算测试用例执行总数除以与之一一对应的测试数之和,主要查看是否有测试用例执行遗漏或有效的情况。 【公式】:∑执行的测试用例个数(个)/ ∑测试用例个数(个)*100% 【数据来源】:《iSMS测试进度跟踪表》 【计算结果】:用例执行覆盖率=100%

软件工程简答题

1你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。 答:系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。一方面要协助用户对所开发的软件阐明要求,另一方面还要与高级程序员交换意见,探讨用户所提要求的合理性以及实现的可能性。最后还要负责编写软件需求规格说明和初步的用户手册。 为能胜任上述任务,分析员应当具备如下的素质: (1) 能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。 (2) 善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整理成为各种逻辑成分,并给出简明、清晰的描述。 (3) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。 (4) 善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。 (5) 能够倾听他人的意见,注意发挥其它人员的作用。 (6) 具有良好的书面和口头交流表达能力。 2可行性研究主要研究哪些问题?试说明之 可行性研究主要做4个方面的研究: ?经济可行性:进行成本∕效益分析。从经济角度判断系统开发是否“合算”。 ?技术可行性:进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。 ?法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。 ?方案的选择:评价系统或产品开发的几个可能的候选方案。最后给出结论意见。 3如何理解模块独立性?用什么指标来衡量模块独立性? 解答: 如果两个模块互相独立,那么对其中一个模块进行编码、测试或修改时可以完全不考虑另一个模块对它的影响。一般采用两个准则度量模块独立性。即模块间的耦合和模块的内聚。低耦合高内聚。 4 PAD图的特点是什么? 解答:问题分析图(problem analysis diagram),1973年由日本日立公司发明。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。下图给出PAD图的基本符号。 5用PDL表示的程序结构一般有哪几种? 解答:过程设计语言(Problem Design Language,简称PDL),也称程序描述语言(Problem Descripition Language),又称为伪码。它是一种用于描述算法设计和处理细节的语言。 用PDL表示的程序结构一般有以下几种:

浅谈软件系统可靠性

浅谈软件系统可靠性 1 概述 近年来,随着计算机在军用与民用产品上的应用日益增多,软件缺陷所引发的产品故障,甚至灾难性事故也越来越严重,软件故障已成为高新技术产品发展的瓶颈。在这种情况下,一旦计算机系统发生故障,则其效益就会大幅度地消减,甚至完全丧失,从而使社会生产和经济活动陷入不可收拾的混乱状态。因此可以说,计算机系统的高可靠性是实现信息化社会的关键。 计算机系统硬件可靠性方面已有六十余年的发展历史,冗余技术、差错控制、故障自动检测、容错技术和避错技术等可靠性设计技术已经成熟。相比之下,软件可靠性的研究只有三十几年的发展历史,加上软件生产基本上仍处于作坊式的手工制作,其提高软件可靠性的技术与管理措施还处于十分不完善的状况。20 世纪70 年代末至80 年代初,软件可靠性的研究集中于对软件可靠性模型进行比较和选择。90 年代以来,软件可靠性研究工作进展较快,主要集中在软件可靠性设计、软件可靠性测试与管理以及软件可靠性数据的收集这三个方面。 2 软件可靠性的基本概念 2.1 软件可靠性的定义 1983年,美国IEEE计算机学会软件工程技术委员会对软件可靠性的定义如下: a)在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误。 b)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。 软件可靠性定义中提到的“规定的条件”和“规定的时间”,在工程中有重要的意义。 定义中的“时间”有3种度量。第一种是日历时间,指日常生活中使用的日、周、月和年等计时单元;第二种是时钟时间,指从程序运行开始到运行结束所用的时、分、秒;第三种是执行时间,指计算机在执行程序时实际占用的CPU 时间。 定义中所指的“条件”,是指环境条件,包括了与程序存储、运行有关的计算机及其操作系统。 2.2 影响软件可靠性的主要因素 软件可靠性表明了一个程序按照用户的需求和设计的目标,执行其功能的正确程度。这要求一个可靠的程序应是正确的、完整的、一致的和健壮的。软件可靠性的决定因素是与输入数据有关的软件差错,正是因为软件中的差错引起了软件故障,使软件不能满足需求。影响软件可靠性的因素主要包括: 1、软件开发的支持环境; 2、软件的开发方法;

软件工程第十一章

11.1 概述 11.1.1 软件质量的定义 软件质量定义为: (1) 与所确定的功能和性能需求的一致性。 (2) 与所成文的开发标准的一致性。 (3) 与所有专业开发的软件所期望的隐含特性的一致性。 11.1.2 软件质量的度量和评价 影响软件质量的因素可以分为两大类: (1) 可以直接度量的因素,如单位时间内千行代码(KLOC)中产生的错误数。 (2) 只能间接度量的因素,如可用性或可维护性。 在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件质量特性进行度量,以测定软件具有要求质量特性的程度。

11.1.3 软件质量保证 1. 什么是软件质量保证 软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。 2. 质量保证的策略 质量保证策略的发展大致可以分为以下三个阶段: (1) 以检测为重。产品制成后才进行检测,这种检测只能判断产品的质量,不能提高产品质量。 (2) 以过程管理为重。把质量保证工作重点放在过程管理上,对制造过程的每一道工序都进行质量控制。 (3) 以新产品开发为重。 3. 质量保证的主要任务 (1) 正确定义用户要求。 (2) 技术方法的应用。 (3) 提高软件开发的工程能力。 (4) 软件的复用。 (5) 发挥每个开发者的能力。 (6) 组织外部力量协作。

(7) 排除无效劳动。最大的无效劳动是因需求规格说明有误、设计有误而造成的返工。 (8) 提高计划和管理质量。 4. 质量保证与检验 软件质量必须在设计和实现过程中加以保证。 11.2 质量度量模型 11.2.1 McCall质量度量模型 这是McCall等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下: (1) 面向软件产品操作。 (2) 面向软件产品修改。 (3) 面向软件产品适应。 11.2.2 ISO的软件质量评价模型 软件质量度量模型由三层组成。 11.3 软件复杂性 11.3.1 软件复杂性的基本概念 软件复杂性度量的参数很多,主要有: (1) 规模,即总共的指令数,或源程序行数。 (2) 难度,通常由程序中出现的操作数的数目所决定的量来表示。 (3) 结构,通常用于程序结构有关的度量来表示。 (4) 智能度,即算法的难易程度。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少。同时它也是软件可理解性的另一种度量。

软件开发度量及考核方法精修订

软件开发度量及考核方 法 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

本人觉得如果要提高软件开发人员的开发质量,必须有相应的考核制度,有了制度后才能推动开发人员想方设法改善自已的开发质量。虽然目前很多公司有这方面的绩效考核,但是大多数没有对软件开发的过程进行细粒度的度量,所以不能依据有效的度量数据来考核开发人员的工作绩效,大部份只是凭考核人主观意志来考核,不能形成对被考核人有效的说服力。以下文档是本人根据以前经验和相关的资料所编写的度量方法和考核方法,希望能对公司改善考核制度有用。由于时间有限,有不足之处,请各位仁兄多提意见,谢谢! 1 目的 对软件开发的过程所产生的软件项的质量和过程进行定量的评价,用评价的结果指导软件的开发过程,不断地提高软件开发质量水平,并依据度量记录来考核软件开发人员的工作绩效。 2 软件项包括 1)技术文档:参照公司"软件工程产品集",所确定的配置项;主要包括:可行性分析报告、需求分析报告、软件功能规格说明、开发计划、质量计划、系统设计报告、测试文档、技术报告、用户手册、总结报告等; 2)计算机程序。 3 度量数据的来源 1)项目计划; 2)评审报告; 3)测试报告; 4)问题报告; 5)软件维护记录; 4 质量度量 度量指标 主要根据各类软件项检查表的检查指标来确定,例如,软件需求规格说明书检查表(见附录1),有10个检查指标,则根据具体项目检查侧重点不同,可从中选择相应的检查指标作为度量指标。 质量等级 1)软件项的质量等级的确定根据度量综合指标进行。 2)度量综合指标计算公式为:Total = ∑QiMi。 3)其中i=1,2,...n代表指标数量; 4)Q代表度量的指标; 5)M代表度量的指标Q在整个指标体系中所占的权重系数,对不同的开发项目可能不同,此系数根据开发的不同着重点给出。 度量指标权重系数表: 序号指标权重 1 指标1 权数1 2 指标2 权数2 3 指标3 权数3 4 指标4 权数4 5 指标5 权数5 加权平均分 6)质量评价:一般地,根据度量综合指标值,有以下评分标准。 质量评价计分标准表 序号得分质量评价 1 ~优质

计算机四级考试

全国计算机等级考试(四级)考试大纲 基本要求 ⒈具有计算机及其应用的基础知识。 ⒉熟悉计算机操作系统、软件工程和数据库的原理及其应用。 ⒊具有计算机体系结构、系统组成和性能评价的基础及应用知识。 ⒋具有计算机网络和通信的基础知识。 ⒌具有计算机应用项目开发的分析、设计和组织实施的基本能力。 ⒍具有计算机应用系统安全和保密性知识。 考试内容 一、计算机系统组成及工作原理 ⒈计算机系统组成:

⑴计算机的发展。 ⑵计算机的分类及应用。 ⑶计算机硬件结构。 ⑷主要部件功能。 ⑸计算机软件的功能与分类。 ⑹系统软件与应用软件。 ⒉计算机工作原理: ⑴计算机中数的表示。 ⑵运算器。 ⑶控制器。 ⑷存储器。

⑸输入与输出系统。 ⒊计算机的主要性能: ⑴计算机系统性能指标。 ⑵处理机指标。 ⑶存储容量能力。 ⑷I/O总线能力。 ⑸系统通信能力。 ⑹联机事务处理能力。 ⑺软件支持。 二、数据结构与算法 ⒈基本概念:

⑴数据结构的基本概念。 ⑵算法的描述与分析。 ⒉线性表: ⑴线性表的逻辑结构。 ⑵线性表的顺序存储结构。 ⑶线性表的链式存储结构。 ⒊数组: ⑴数组的定义与运算。 ⑵数组的顺序存储结构。 ⑶矩阵的压缩存储。 ⒋栈与队列:

⑴栈的定义和运算。 ⑵栈的存储结构。 ⑶队列的定义和运算。 ⑷链队列与循环队列。 ⒌串: ⑴串及其操作。 ⑵串的存储结构。 ⒍树和二叉树: ⑴树的定义。 ⑵二叉树的定义及性质。 ⑶二叉树与树的转换。

⑷二叉树的存储。 ⑸遍历二叉树与线索二叉树。 ⒎图: ⑴图及其存储结构。 ⑵图的遍历。 ⑶图的连通性。 ⑷有向无环图。 ⑸最短路径。 ⑹拓扑排序。 ⒏查找:

软件项目量化管理方法

软件项目量化管理方法 摘要:本文在对软件企业量化管理应用常见问题分析的基础上,以解决可操作性、可比性等问题为着眼点,识别出了量化管理中必须明确的四要素,表述了企业在量化四要素上采用的常见做法。 本文采用80/20原则,说明了企业在识别度量对象时应避免的问题;采用持续改进的理论,说明了企业在量化管理应遵循的客观规律。在结合平衡记分卡与目标驱动组合式的量化管理方法理论基础上,提出了软件企业的量化管理的具体应用步骤。 关键词:量化管理四要素80/20原则持续改进GQ(I)M 1. 引言 如今,很多国内软件企业选择采用能力成熟度系列模型(Capa bility Maturity Model, CMM)或其它模型来建立本企业的软件过程规范,欲通过提升软件过程的能力达到提高产品质量、降低开发风险、减少开发成本、保证产品按时交付等目的。将软件过程规范的一个目的就是使软件过程可视化,这个可视化则要求了对软件过程的量化;而产品质量是否提高、开发风险是否降低、开发成本是否减少、项目延期是否缩短,对这些问题的回答则要求了对软件项目的量化;软件过程改进与量化管理息息相关。

不少企业在将识别出的量化管理方法应用于软件项目管理过程时,发现不少问题。最为常见的是: 量化工作的可操作性不强,如:部分量化数据难以收集、难以统计投入的成本没有得到预期的产出。如:量化工作投入了成本,但形成的量化结果参考价值不高提供给管理层用于决策的支持数据也不够,数据缺乏可比性量化结果不是管理层所关心的,达不到管理层预期的过程可视化程度 针对此类问题,本文识别出了在量化管理中必须要考虑的四个方面,即:量化四要素,并从量化四要素对量化管理方法进行了分析,建议了软件企业采用的量化管理方法。 2. 量化四要素 “只有通过对产品、过程的度量,才能描述、评价、提高产品与过程”。 笔者认为,要度量,就要明确度量的对象;要度量对象,就要明确标识度量对象的计量单位;要产生度量结果,就要明确度量方法,包括度量技术和数据收集的方法;要评价度量对象,就要明确用于比对的基准指标,即表征度量对象目前情况的标尺,通过该标尺与度量结果的比对,得出对度量对象的评价。而度量对象(Object)、计量单位(Unit)、度量方法(Method)、基准指标(Benchmark),这就是笔者所说的量化四要素。

《软件工程》试卷

一、单项选择题(每题1分,共10分) 1.软件测试得目得就是() A、评估软件得质量 B、发现软件得错误 C、找出软件中得所有错误 D、证明软件就是正确得 2.研究开发所需得成本与资源属于可行性研究中得()研究 A、技术可行性 B、经济可行性 C、法律可行性 D、操作可行性 3.软件详细设计得主要任务就是确定每个模块得() A、外部接口 B、功能 C、编程 D、算法与使用得数据结构 4.进行需求分析得描述工具有很多,但不包括() A、数据流图 B、流程图 C、判定表 D、数据字典 5.产生软件维护得副作用,就是指() A、开发时得错误 B、隐含得错误 C、因修改软件而造成得错误 D、运行时误操作 6.第一个有代表性得结构化程序设计语言就是( ) A、 FORTRAN B、 PASACL C、 C D、 COBOL 7.用黑盒法设计测试用例得方法之一为() A、边界值分析 B、逻辑覆盖 C、循环覆盖 D、基本路径测试 8.数据字典就是用来定义()中得各个成份得具体含义得 A、流程图 B、功能结构图 C、系统结构图 D、数据流图 9.开发软件所需高成本与产品得低质量之间有着尖锐得矛盾,这种现象称为() A、软件工程 B、软件周期

C、软件危机 D、软件产生 10.白盒法又称为逻辑覆盖法,主要用于() A、功能测试 B、系统测试 C、单元测试 D、确认测试 二、填空题(每空1分,共10分) 1.面向数据流得设计方法能够把信息流映射成软件结构,信息流可以分为两种类型。信息沿输入通路进 入系统,同时由外部形式变换成内部形式,进入系统得信息通过变换中心,经加工处理以后,再沿输出通路变换成外部形式离开软件系统,当DFD具有这些特征时,这种信息流就叫做。如果当数据沿输入通路到达一个处理T时,这个处理根据输入数据得类型在若干动作序列中选出一个来执行,这种数据流就称为。 2.软件配置管理就是应用于整个软件过程中得保护性活动,它就是在软件整个生命期内管理变化得一组 活动。软件配置由一组相互关联得对象组成,这些对象也称为。一旦一个配置对象已被开发出来并且通过了复审,它就变成了。 3.度量软件规模得方法主要有两种,技术根据以往开发类似产品得经验与历史数据,估计实 现一个功能所需得源程序行数;技术依据对软件信息域特性与软件复杂性得评估结果,估算软件规模。 4.在确认测试中,如果软件就是为许多客户开发得,那么让每个客户都进行正式得验收测试就是不现实 得。在这种情况下,绝大多数软件开发商都使用称为测试与测试得过程,来发现哪些瞧起来只有最终用户才能发现得错误,其中前者由最终用户们在一个或多个客户场所进行得,而后者就是在开发者得场所进行得。 5.已知产品得内部工作过程,可以通过测试来检验产品内部动作就是否按照规格说明书得规定正常进 行,这种软件测试方法称为:;如果已经知道了产品应该具有得功能,可以通过测试来检验就是否每个功能都能正常使用,这种软件测试方法称为:。 三. 判断题(每题1分,共5分) 1、典型得黑盒测试方法包括:等价类划分法、边界值分析法与基本路经测试法。() 2、MC/DC覆盖以及条件组合覆盖得测试用例数得上限分别为n个与2n个。() 3、CMM得主要作用有两个,一就是为软件项目得招投标工作提供依据,二就是为软件企业得内部改进提供参考。() 4、软件质量保证措施主要有:基于非执行得测试、基于执行得测试与程序正确性证明。()

《软件工程》试卷1

一、单项选择题每小题1分,共20分。(在每小题的四个选项 中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内) 1.在下列工具与环境中()属于较早期的CASE。 A.基于信息工程CASE B.人工智能CASE C.结构的基于图形CASE D.集成的CASE环境 2.Putnam成本估算模型是一个()模型。 A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性 B.可重用性 C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是() A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量的参数包括() A.效率 B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象7.软件调试技术包括() A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是() A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 9.软件测试方法中的静态测试方法之一为() A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 10.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 11.第一个体现结构化编程思想的程序设计语言是()

A.FORTRAN语言 B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是() A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 13.在详细设计阶段,经常采用的工具有() A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的() A.代码的规模 B.运行速度 C.质量 D.可维护性 15.需求分析中开发人员要从用户那里了解() A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 16.结构化程序设计主要强调的是() A.程序的规模 B.程序的效率 C.程序设计语言的先进性

IEEE软件可靠性系列标准分析

IEEE软件可靠性系列标准分析 摘要:对IEEE软件可靠性系列标准进行分析,总结了IEEE制定软件可靠性标准的经验,以及软件可靠性发展趋势。同时,结合我国软件可靠性标准化工作现状,提出软件可靠性标准的制定及相关标准修订的可借鉴之处。关键词:软件可靠性标准;软件可靠性度量;软件可靠性评估过程;软件可靠性模型 随着计算机技术的快速发展,现代航电系统大量使用软件系统,其中某些软件系统在保证航空系统安全、可靠完成任务时起到了至关重要的作用,但这些软件的失效可能导致灾难性后果。为了提高软件可靠性,相关领域的学者展开了广泛的软件可靠性研究,特别是全球最大的专业学术组织IEEE,更是在这方面作出了卓越的成绩。IEEE在开展软件可靠性研究的同时,也非常重视相关标准的制定工作。1988年,IEEE制定了第一份关于软件可靠性度量体系方面的标准[1]以及该标准的实施指南[2]。2005年,IEEE对软件可靠性度量体系标准进行了修订[3]。2008年,IEEE对R-013-1992标准进行修订 [4],R-013-1992标准是AIAA(美国航空与航天学会)在1992年制定的关于软件可靠性评估的标准[5],这也说明IEEE在软件可靠性方面的成绩是国际公认的。IEEE主要制定了软件可靠性度量体系和评估两方面的标准。本文将对IEEE制定的软件可靠性标准进行介绍和分析,总结IEEE制定软件可靠性标准的经验,以及软件可靠性发展趋势,结合我国软件可靠性标准现状,提出可靠性标准的制定及相关标准修订的可以借鉴之处。1 IEEE软件可靠性标准分析1.1 标准简介IEEE软件可靠性标准主要包括软件可靠性度量体系和软件可靠性评估两方面。其中,软件可靠性度量体系由IEEE Std 982.1-2005(软件可信性度量词典)和IEEE Std 982.2-1988(软件可靠性度量实施指南)组成,IEEE Std 982.1-2005是IEEE Std 982.1-1988的修订版;软件可靠性评估主要包括IEEE Std 1633-2008(软件可靠性操作规程),它发布于2008年,替代了AIAA/ANSI R-013-1992(软件可靠性操作规程)。在IEEE软件可靠性标准体系中,IEEE Std 982.1-2005主要回答了使用哪些参数对软件可靠性进行度量的问题,即用户可以通过哪些方面对软件质量、特别是软件的可靠性进行了解和评价。与IEEE Std 982.1-1988相比,IEEE Std 982.1-2005作出了较大程度的修改。1988版关于软件可靠性属性有39个不同的度量参数,而2005版中只有12个,并且其中75%的度量参数是新增或修改的。IEEE Std 982.2-1988主要回答了如何使用这些度量参数对软件可靠性进行度量的问题,但是该标准主要是针对IEEE Std 982.1-1988度量参数体系的,而IEEE Std 982.1-2005中有75%的度量参数和IEEE Std 982.1-1988不一样。因此,对于当前的软件可靠性度量参数体系,该标准实际上已经失去了指导意义。IEEE Std 1633-2008主要解决了如何进行软件可靠性评估的问题,包括软件可靠性评估过程和软件可靠性评估模型两方面。其中,软件可靠性评估过程包含13个步骤,这些步骤不是全部必需的,可根据软件特点和当前所处的软件生命周期阶段进行删减;软件可靠性评估模型方面推荐了三个模型,这三个模型都是在实际工程中表现优异的评估模型。1.2 软件可靠性度量参数体系IEEE Std 982.1-2005是IEEE Std 982.1-1988的修订版,它体现了软件可靠性作为软件质量重要属性在软件质量控制方面的新方法和新趋势。与1988版相比,2005版作出了较大程度的修改。1988版关于软件的可靠性属性有39个不同的度量参数,而2005版删除了其中的32个度量参数,并对剩余度量参数中4个进行了修改,只有3个得到完全保留,同时新增了5个度量参数。即可靠性度量参数由原来的39个变更为12个,其中有75%的度量参数是新增或修改的。可以说2005版基本上重新定义了软件可靠性的度量体系,新度量参数体系如表1所示。IEEE在选取度量参数建立软件可靠性度量参数体系时,有如下准则:(1)该参数是否得到了学术界和工业界的公认;(2)该参数是否能有效地反映出软件可靠性的真实情况;(3)该参数是否过于复杂,以至难于使用和理解;(4)该参数适用情况是否过于狭小。从IEEE选取度量参数的准则可以看出,软件可靠性度量的发展

软件可靠性的评价准则

软件可靠性的评价准则 迄今为止,尚无一个软件可靠性模型对软件的不同特性和不同使用环境都有效。已公开发表的100余种软件可靠性模型,表达形式不同,适应性各异,与实际的软件开发过程有较大差异。而且,新模型还在不断发表。因此,在进行软件可靠性预计、分析、分配、评价和设计之前,对软件可靠性模型进行评价及选择与软件项目相符或相近的模型非常重要。通过建立有效的评价准则,在考虑它们与各种软件的关系的基础上,对拟评价的可靠性模型就有效性、适应性和模型能力等进行评价,判定它们的价值,比较它们的优劣,然后选择有效的软件可靠性模型。另一方面,在可接受的模型之间无法做出明确的选择时,可根据模型的使用环境等,在模型评价准则的基础上,进行模型择优。当然,软件可靠性模型的评价不仅依赖于模型的应用,还依赖于理论的支持和丰富的、高质量可靠性数据的支持。软件可靠性模型的评价最早始于1984年Iannino、Musa、Okumoto和Littlewood所提出的原则。根据这一原则,结合后人的工作,形成了基本的软件可靠性评价准则集。它们是软件可靠性模型比较、选择和应用的基础。 准则一:模型预测有效 软件可靠性模型最重要的评价指标是模型预测的有效性。它根据软件现在和过去的故障 行为,用模型预测软件将来的故障行为和可靠性水平。它主要通过能有效描述软件故障随机过程特性的故障数方式对模型进行描述与评价。基于软件故障时间特性的随机过程也是一种常用的方法,而且这两种方法相互重叠。 要确定软件可靠性模型预测的有效性,首先要比较模型预测质量。这种比较通常通过相 对误差法、偏值、U图法、Y图法、趋势法等方法进行。故障数度量是一种在工程上被广泛应 用的方法。此外,还可以通过比较不同数据集合所做出的中位线图形来评价模型预测的有效性。如果一个模型产生的曲线最接近于0,则该模型是最优的。而且,这种有效性测定方法有效地克服了规范化图形评价与具体软件项目之间的联系,保证了它的独立性。 用给定可靠性数据对软件可靠性模型进行比较时,必须考察拟合模型与观察数据的一致 性和符合性。当然,根据拟合模型进行采样,是否可以获得足够的观察数据非常重要。拟合优度检验是一种系统地表达并证明观察数据和拟合模型之间全局符合性的方法,使用最广泛的是x2检验。 1.准确性 软件可靠性模型预测的准确性可用前序似然函数来测定。设观察到的失效数据对应于软 件相继失效之间的时间序列t1,t2,..,ti-1,并用这些数据来预测软件在未来可能的Ti,即希 望得到Ti的真实概率密度函数Fi(t)的最优估计值。假设以t1,t2,...,ti-1为基础预测Ti的 分布Fi(t)的概率密度函数 @@42D11000.GIF;表达式1@@ 对Ti+1,Ti+2,...,Ti+n的这种向前一步预测,即进行了n+1次预测之后的前序似然函数为 @@42D11001.GIF;表达式2@@ 由于这种度量常常接近于0,所以常用其自然对数进行比较。假定比较的两个软件可靠性 模型分别为A和B,则对它们进行n次预测之后的前序似然比为 @@42D11002.GIF;表达式3@@

软件工程题库及答案

一、选择题 软件 (2) 1.在软件开发的各种资源中,(D)是最重要的资源。 A开发工具B方法C硬件环境D人员 2.软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D)。 A.程序、数据 B.程序、文档 C.程序 D.程序、数据、文档 4.软件是一种(B)产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机 (1)

5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A) A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式(C ) (A)成本高(B)生产率低 (C)技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A)。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和(C)过程中遇到的一系列严重问题。

A开发B使用C维护D更新 软件工程 (2) 1 0."1:为了解决软件危机人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。 (A)运筹学(B)工程学(C)软件学(D)数学 1 1." 2.在软件工程时期,决定软件质量的主要因素是(A) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展 1 2." 3.软件管理工作涉及到的直接对象不包括(B)。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目

软件复杂度概述

软件复杂度概述 在硬件的可靠性设计中,有一条基本原则“简单就是可靠”。这个原则同样也适合软件,与功能的增多或增强相伴的是不断升级与补丁。现在已经有若干种软件复杂性的度量方法可供参考,其中McCabe QA是比较出色和实用的方法,它能够计算出多种软件复杂度,由此可对软件进行检查、分析和查明那些可能导致错误的代码。 复杂度 70年代,软件系统已经变得极其复杂,无论是开发还是维护都是一项成本高昂的工作。人们意识到必须使软件模块化,以便于开发、测试和维护。为此,成立于1976的McCabe&Associates公司开发出了McCabe Cyclomatic Complexity Metric(圈复杂度)技术对软件进行结构测试。Metric以软件复杂度测量的数目为基础,能帮助工程师识别难于测试和维护的模块,圈复杂度已经成为评估软件质量的一个重要标准。人们可以用圈复杂度对软件的复杂度和质量进行衡量,来安排工程进度,在成本、进度和性能之间寻求平衡。 复杂度的种类 有模块、类和程序三类复杂度。模块复杂度包含了关于模块的复杂度信息;类复杂度是针对那些使用McCabe面向对象特性的程序,它包含了关于类的复杂度信息;程序复杂度包含了关于程序的复杂度信息。 集成复杂度报告 对应于三种复杂度的是三种复杂度报告。如果一个报告的复杂度信息不只一种,那么就把这些复杂度信息组合成新的报告。 集成复杂度信息只收集一个部件及其下级的信息。例如:如果一个程序级报告包含一个类复杂度,那么只报告组成程序的类的信息,而不包含类组成的信息。 McCabe复杂度 McCabe复杂度是对软件结构进行严格的算术分析得来的,实质上是对程序拓扑结构复杂性的度量,明确指出了任务复杂部分。McCabe复杂度包括:圈复杂度、基本复杂度、模块设计复杂度、设计复杂度、集成复杂度、行数、规范化复杂度、全局数据复杂度、局部数据复杂度、病态数据复杂度。 McCabe复杂度的用途 在软件工程中,有三种使用McCabe复杂性度量的方式。 作为测试的辅助工具。McCabe复杂性度量的结果等于通过一个子程序的路径数,因而需要设计同样多的测试案例以覆盖所有的路径。如果测试案例数小于复杂性数,则有三种情况一是需要更多的测试;二是某些判断点可以去掉;三是某些判断点可用插入式代码替换。 作为程序设计和管理指南。在软件开发中,需要一种简单的方式指出可能出问题的子程序。保持子程序简单的通用方法是设置一个长度限制,例如50行或2页,但这实际上是在缺乏测试简明性的有效方法时无可奈何的替代方法。不少人认为McCabe度量就是这样一种简明性度量。但是要注意,McCabe度量数大的程序,不见得结构化就不好。例如,Case语句是良结构的,但可能有很大的McCabe度量数(依赖于语句中的分支数),这可能是由于问题和解决方案所固有的复杂性所决定的。使用者应当自己决定如何使用McCabe度量所提供的信息。 作为网络复杂性度量的一种方法。Hall和Preiser提出了一种组合网络复杂性度量,用于度量可能由多个程序员组按模块化原理建立的大型软件系统的复杂性。他们提出的组合度量公式为 式中C1,...,Ck是各个模块的复杂性;CN是网络复杂性;W1和W2为权值。 McCabe复杂度即可用于度量各个模块的复杂性,也可用于度量网络复杂性。

软件工程概论知识点汇总

软件危机是指在计算机软件的开发和维护过程中遇到一系列严重问题。 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门。 软件工程方法学包含3个要素:方法、工具和过程 目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 软件生命周期由软件定义、软件开发和运行维护3个时期组成。 软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。 软件定义分3个阶段,即问题定义、可行性研究和需求分析。 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的主要内容包括技术可行性、经济可行性和操作可行性3个方面。 开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试。其中前两个阶段称为系统设计,后两个阶段称为系统实现。 系统流程图是概括地描绘物理系统的传统工具;而数据流图是系统逻辑功能的图形表示工具。 模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 分析建模的用处是为了更好地理解复杂事物。 软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。 需求分析过程应该建立3种模型,分别是数据模型、功能模型和行为模型。 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。 结构程序设计的定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制接口进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。 衡量模块独立程序的两个定性标准是内聚和耦合。 确认测试也称为验收测试,它的目标是验收软件的有效性。 等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。一个理想的测试用例能独立发现一类错误。 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功的运行的概率。 软件的可用性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。 软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 Jackson方法是一种面向数据结构的设计方法。 完整的软件测试一般要经过单元测试、集成测试、确认测试和系统测试等4个阶段。 模块化是指把程序划分成独立命名切可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 软件复杂性度量的参数包括: ①规模②难度③结构④智能度 数据字典应该有下列4类元素的定义组成: 1、数据流; 2、数据流分量(即数据元素) 3、数据存储 4、处理 产生软件危机的原因?

可靠性定义及其度量指标

可靠性定义及其度量指标 【大纲考试内容要求】: 1、了解机械失效三个阶段和维修度、有效度、平均无故障工作时间; 2、熟悉可靠性、故障率、可靠性预计、人机界面设计要点。 【教材内容】: 第四节机械的可靠性设计与维修性设计 一、可靠性定义及其度量指标 (一)可靠性定义 所谓可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。 这里所说的规定条件包括产品所处的环境条件(温度、湿度、压力、振动、冲击、尘埃、雨淋、日晒等)、使用条件(载荷大小和性质、操作者的技术水平等)、维修条件(维修方法、手段、设备和技术水平等)。在不同规定条件下,产品的可靠性是不同的。 规定时间是指产品的可靠性与使用时间的长短有密切关系,产品随着使用时间或储存时间的推移,性能逐渐劣化,可靠性降低。所以,可靠性是时间的函数。这里所规定的时间是广义的,可以是时间,也可以用距离或循环次数等表示。 (二)可靠性度量指标 1.可靠度 可靠度是可靠性的量化指标,即系统或产品在规定条件和规定时间内完成规定功能的概率。可靠度是时间的函数,常用R(t)表示,称为可靠度函数。 产品出故障的概率是通过多次试验中该产品发生故障的频率来估计的。例如,取N个产品进行试验,若在规定时间t内共有Nf(t)个产品出故障,则该产品可靠度的观测值可用下式近似表示:R(t)≈[N—Nf(t)]/N (4—7) 与可靠度相反的一个参数叫不可靠度。它是系统或产品在规定条件和规定时间内未完成规定功能

的概率,即发生故障的概率,所以也称累积故障概率。 不可靠度也是时间的函数,常用F(t)表示。同样对N个产品进行寿命试验,试验到瞬间的故障数为Nf(t),则当N足够大时,产品工作到t 瞬间的不可靠度的观测值(即累积故障概率)可近似表示为: F(t)≈Nf(t)/N (4—8) 可靠度数值应根据具体产品的要求来确定,一般原则是根据故障发生后导致事故的后果和经济损失而定。 2.故障率(或失效率) 故障率是指工作到t 时刻尚未发生故障的产品,在该时刻后单位时间内发生故障的概率。故障率也是时间的函数,记为γ(t),称为故障率函数。 产品的故障率是一个条件概率,它表示产品在工作到t 时刻的条件下,单位时间内的故障概率。它反映t 时刻产品发生故障的速率,称为产品在该时刻的瞬时故障率且γ(t),习惯称故障率。故障率的观测值等于N个产品在t时刻后单位时间内的故障产品数△Nf(t)/△t与在t时刻还能正常工作的产品数Ns(t)之比,即: γ(t)=△Nf(t)/[Ns(t)·△t] (4——9) 故障率(失效率)的常用单位为(1/106h)。 产品在其整个寿命期间内各个时期的故障率是不同的,其故障率随时间变化的曲线称为寿命的曲线,也称浴盆曲线,如图4—6所示。 由图可见,产品的失效过程可分为以下3个阶段:

软件工程第十一章

11.1概述 11.1.1 软件质量的定义 软件质量定义为: (1)与所确定的功能和性能需求的一致性。 (2)与所成文的开发标准的一致性。 (3)与所有专业开发的软件所期望的隐含特性的一致性。 11.1.2 软件质量的度量和评价 影响软件质量的因素可以分为两大类: (1)可以直接度量的因素,如单位时间内千行代码(KLOC)中产生的错误数。 (2)只能间接度量的因素,如可用性或可维护性。 在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件质量特性进行度量,以测定软件具有要求质量特性的程度。

11.1.3 软件质量保证 1. 什么是软件质量保证 软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。 2. 质量保证的策略 质量保证策略的发展大致可以分为以下三个阶段: (1)以检测为重。产品制成后才进行检测,这种检测只能判断产品的质量,不能提高产品质量。 (2)以过程管理为重。把质量保证工作重点放在过程管理上,对制造过程的每一道工序都进行质量控制。 (3)以新产品开发为重。 3. 质量保证的主要任务 (1)正确定义用户要求。 (2)技术方法的应用。 (3)提高软件开发的工程能力。 (4)软件的复用。 (5)发挥每个开发者的能力。 (6)组织外部力量协作。

(7) 排除无效劳动。最大的无效劳动是因需求规格说明有误、设计有误而造成的返工。 (8) 提高计划和管理质量。 4. 质量保证与检验 软件质量必须在设计和实现过程中加以保证。 11.2 质量度量模型 11.2.1McCall质量度量模型 这是McCall等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下: (1)面向软件产品操作。 (2)面向软件产品修改。 (3)面向软件产品适应。 11.2.2 ISO的软件质量评价模型 软件质量度量模型由三层组成。 11.3 软件复杂性 11.3.1 软件复杂性的基本概念 软件复杂性度量的参数很多,主要有: (1)规模,即总共的指令数,或源程序行数。 (2)难度,通常由程序中出现的操作数的数目所决定的量来表示。 (3)结构,通常用于程序结构有关的度量来表示。 (4)智能度,即算法的难易程度。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少。同时它也是软件可理解性的另一种度量。

相关文档