软件演化过程(通用9篇)
软件演化过程 篇1
0 引 言
对软件体系结构(SA)的研究如今已经受到软件研究学者的普遍关注,SA已发展成为软件工程的一个重要研究领域。在软件过程研究领域,Osterweil提出的“软件过程也是软件”[1]很好地阐明了软件过程与软件之间的关系。软件过程同软件本身一样,是由人们开发出来的,软件过程同样具有其体系结构。提出SEPA的概念是为了从整体上了解软件演化过程,控制演化过程中复杂性,支持演化过程的开发和复用,提高过程质量。正如SA对于软件开发的重要意义一样,SEPA作为软件演化过程的高级抽象,体现了最根本的过程设计思路,在明确了整个过程中各个组成部分的同时,也限定了各部分之间的交互方式。SEPA影响着软件演化过程设计开发中的资源配置和开发团队的组织以及其他各方面的活动,关系着最终过程产品的质量。
1 相关工作
在软件演化过程以及软件体系结构研究领域,许多专家学者已取得了很多成果。Lehman和Aoyama等人对软件演化过程作了大量研究,提出了许多关于软件演化过程的理论及实践方法[2,3,4];在软件演化过程的设计方法以及过程改进方面,一些学者也作了大量研究[5]。在软件体系结构研究领域,许多研究者已取得了丰硕的成果。文献[6]总结了SA的发展历史;文献[7,8]总结了这十年间的SA研究与实践进展。也有一些学者讨论了过程与体系结构之间的关系,如文献[9]提出了一种基于体系结构的软件过程模型。
目前在过程体系结构研究领域,尤其是对软件演化过程体系结构的研究几乎还没有,在国内外暂时还找不到相关文献。本文在前人的研究基础之上提出了软件演化过程体系结构(简称SEPA)的概念,并对SEPA的描述工具、风格以及设计方法进行了详细论述,提出了一种基于SEPA的软件演化过程设计方法。
2 软件演化过程体系结构SEPA
本文借鉴了目前对于软件体系结构比较有影响力的定义[10,11],对于SEPA给出了如下定义:软件演化过程体系结构(SEPA)是由构成软件演化过程的过程构件、反映这些构件间相互作用的过程连接件,以及指导构件和连接件如何结合在一起的约束关系共同组成。过程构件是以过程包的形式存在的对外界透明的过程单元,它通过一组端口与外界交互;过程连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块;约束关系确定了构件与连接件之间的连接关系。
定义1 演化过程构件 是一个四元组Com={Porti,Porto,Imp,Desc},其中Porti是输入端口,Porto是输出端口。输入端口和输出端口分别体现着Com执行的开始和结束,是Com与外界交互的唯一接口。Imp是构件的实现,对应着一个Petri网形式的软件过程模型。Desc是对Com的描述。Porti= {ID,Cons},Porto= {ID,Cons},其中ID为端口标识,Cons是端口附着条件。
定义2 过程连接件 是一个三元组Con={Interface,Imp,Style},其中Interface为Con的接口集合,Imp为连接件的实现,Style是连接件的类型。Interface= {If1,If2,…,Ifn},Ifi= {ID,Type},其中ID为接口标识,Type是接口类型,表示Ifi是输入接口或者输出接口。Style∈{SERIAL,SYNCHRO,MUTEX},表明了连接件所代表的连接语义(串行、同步和互斥)。
定义3 约束关系 R={<port,intf>|port∈{Com.Porti,Com.Porto}∧intf∈Con.Interface∧port与intf连接在一起}。
定义4 软件演化过程体系结构 是一个三元组SEPA =<G,L,Y>,G是演化过程构件集合,L是过程连接件集合,Y是约束关系集合。
SEPA把整个软件演化过程看作是由不同的过程构件和连接件连接在一起形成的拓扑结构。一个过程构件通常被看作是一个软件演化子过程。可以看出,SEPA作为软件演化过程的总体蓝图体现出了演化过程的结构特性,即软件的演化过程是由若干以构件形态存在的子演化过程及其交互构成的。SEPA实际上可以被看作是软件演化过程的一个全局的模型和总体的视图。
3 SEPA描述工具
3.1 图形描述工具
使用图形来描述SEPA的优点是简单直观,下面给出一种用图形来表示SEPA的方法。图1(a),(b)分别表示的是演化过程构件体和构件的端口(图1(b)上方是输出端口,下方是输入端口)。输入和输出端口确定了过程构件执行的方向。图1(c)是一个完整的过程构件。
(a)构件体 (b)端口 (c)一个完整的构件
图2表示过程连接件的输出和输入接口(上方是输出接口,下方是输入接口)。图2(b)、2(c)和2(d)分别表示三种类型的连接件(串行、同步和互斥连接件),其所代表的语义是连接件的输入输出和接口所连接的构件之间需要串行、同步或互斥的执行。一个串行连接件只允许拥有一个输入接口和输出接口,而同步和互斥连接件拥有一个输入接口和多个输出接口,或者多个输入接口和一个输出接口。构件与连接件进行连接时总是构件的输入端口与连接件的输出接口相连,构件的输出端口与连接件的输入接口相连。图3表示一个包含四个过程构件和两个连接件的体系结构,图中用虚线表示约束关系。
(a)接口 (b)串行连接件 (c)同步连接件 (d)互斥连接件
3.2 演化过程体系结构描述语言EPADL
描述演化过程体系结构是研究演化过程体系结构的前提。为了支持体系结构的设计和过程的开发,形式化的建模符号系统是必须的。EPADL(Evolution Process Architecture Description Language)不但是形式化描述SEPA的基本工具,而且也是对SEPA进行求精、分析和验证的前提和基础。
定义5 EPADL 一种软件演化过程体系结构描述语言,其语法规则用BNF范式描述:
4 体系结构风格
体系结构的风格可以理解为描述某一特定应用领域中系统组织方式的惯用模式。在软件体系结构研究领域中对体系结构风格的研究一直是一个重点,一个工程领域的成熟往往以其设计模式和风格的成熟为标志[12]。SEPA由于具有过程的特性,例如过程构件的执行总是有始有终,构件执行的方向总是向前推进等特点,因此SEPA的风格与管道和过滤器风格最相似。管道和过滤器风格中构件被称为过滤器,它把特定的输入转换为输出,连接件被称为管道,起到传递信息流的作用。管道和过滤器风格如图4所示。
5 基于SEPA的软件演化过程设计
基于SEPA的软件演化过程是用Petri网来进行描述的。定义6给出了它的定义。
定义6 软件演化过程模型 是一个四元组P=<C,A,F,M>。C为一个有限条件集合,A为一个有限活动集合,C∩A=ϕ。F⊆(C×A)∪(A×C)称为流关系。M∈C为初始标记。
用Petri网描述工具对SEPA中的构件和连接件进行实现,并按照构件间的逻辑关系使用连接件进行拼接后就得到完整的软件演化过程模型。构件的获得方式可以是从构件库中直接提取,或是按照实际需要自行设计得到。
连接件体现了演化过程中各构件间(即子过程之间)的执行关系。为了保证拼接后模型的正确性,即拼接后的Petri网过程模型能够正确点火执行,在连接件的实现中引入了虚活动va和虚条件vc,它们没有实际意义,仅用来传递token。一个连接件被实现为一个Petri网模型片段,图5是对图2(b)、(c)、(d)所表示的连接件的内部实现。
过程构件分为两种:原子构件和复合构件。原子构件是组成复合构件的最小构件单元,往往代表演化过程中的独立活动。一个原子构件由两个端口虚条件和一个活动构成,如图6(a)所示。复合构件可以由若干原子构件与连接件拼接而成,也可以由若干复合构件与连接件拼接而成,如图6(b)、(c)、(d)、(e)分别表示包含顺序、分支、同步和重复结构原子构件的复合构件(带斜线的构件表示原子构件)。
6 结束语及未来工作
SEPA是对软件演化过程的总体描述,是指导设计软件演化过程的蓝图。本文全面地阐述了SEPA有关的概念、研究目的、SEPA与演化过程的关系、SEPA的风格和视图等,提出了一些描述SEPA的方法,并对SEPA背景下的演化过程设计提供了一些新的思路。对过程构件的实现采用自底向上的组合拼接方式降低了分层实现的复杂性,采用统一的Petri网描述工具保证了接口的一致性。目前对软件过程体系结构的研究还比较少,本文立足于对演化过程的体系结构进行研究,具有较大的创新性。
未来的研究工作包括:SEPA建模辅助工具的设计、SEPA中的反馈研究、演化过程构件库的设计以及构件的分类、比较和提取等。
参考文献
[1]Osterweil L J.Software Processes are Software Too.Proceedings of the9th International Conference on Software Engineering,Monterey,CA,1987:2-13.
[2]Lehman M M,Ramil J F.Software Evolution and Software Evolution Processes.Annals of Software Engineering,2002.
[3]Chatters B W,Lehman M M,Ramil JF,Wernick P.Modelling A Soft-ware Evolution Process:A Long-term Case Study.Jaurnal of software,Proc.:Improvement and Practice,2000,5:2-3.
[4]Lehman MM.Feedback in the Software Evolution Process.Keynote Ad-dress,CSR Eleventh Annual Workshop on Software Evolution:Models and Metrics.Dublin,7-9Sept.1994,Workshop Proc.,Information and Software Technology,sp.is.on Software Maintenance,1996,38(11).
[5]Li Tong,Yang Hongji.ALanguage and Approach to Modelling Software Process for Software evolution.
[6]Kruchten P,Obbink H,Stafford J.The past,present,and future of soft-ware architecture.IEEE Software,2006,23(2):22-30.
[7]Kruchten P,Obbink H,Stafford J.Special issue on software architec-ture.IEEE Software,2006,23(2).
[8]梅宏,申峻嵘.软件体系结构研究进展.软件学报,2006,17(6):1257-1275.
[9]Zhang Yousheng,He Yuyun.Architecture-Based Software Process Mod-el.ACMSIGSOFTSoftware Engineering Notes.
[10]Bass L,Clements P,Kazman R.Software Architecture in Practice.2nd ed.Boston:Addison Wesley Professional,2003.
[11]IEEE.IEEE recommended practice for architectural description of soft-ware-intensive systems.IEEE,IEEE Std1471-2000.
[12]冯冲,江贺,冯静芳.软件体系结构理论与实践.人民邮电出版社,2004.
软件演化过程 篇2
这本书分两部分。第一部分是《爷爷的爷爷哪里来》,第二部分是《悠长的岁月》。我比较感兴趣的是《爷爷的爷爷哪里来》,讲的是人类的起源。
1929年,周口店发掘工作由裴文中组织,他们经过一段时间的奋斗,发现了猿人头盖骨,震动了整个学术界,它们被称为“北京人”。
“北京人”距今约70万年―20万年,手脚分明,已经可以独立生火,几十人一起居住。贾兰坡认为他们是最早的人,可裴文中不同意,他们两人的争论一直持续了四年。
我也认为“北京人”不是最早的`人,因为人类用火是花了很长时间才学会的。在中国有“燧人氏钻木取火”的传说,在西方则有“普罗米修斯盗火”的传说。这都说明了使用火在人类的演变过程中的重要作用,而这应该是一个缓慢演变的过程。
1962年,他们在陕西省蓝田县公王岭发现了一些智力、四肢均不如“北京人”发达的猿人,它们生活在距今约70万年―115万年之间,被命名为“蓝田人”。
1965年,他们又在云南元谋县上那蚌村发现了距今约170万年左右的“元谋人”,它被公认为是中国最早的人类。
软件演化过程 篇3
软件构件技术如今已经受到软件工程研究者们的普遍关注,并已发展成为软件工程的一个重要研究领域。在软件过程研究领域Osterweil等人提出“软件过程也是软件”[1],很精辟地阐明了软件演化过程与软件之间的关系,即软件演化过程和软件本身一样是被人们开发出来的。构件技术在软件演化过程设计中同样可以起到重要作用,本文引入过程构件技术的目的是要将软件演化过程(SEP)模型封装在构件中,构件之间采用统一接口,构件通过连接件进行交互,用构件与连接件拼接出整个演化过程模型。从总体上看,基于过程构件的过程建模是一种自底向上的风格。采用构件技术可以有效地控制演化过程的复杂性,支持演化过程的开发和复用,提高过程质量,同时还影响着过程设计开发中的资源配置和开发团队的组织以及其他各方面的活动,关系着最终过程产品的质量,因此研究基于构件的软件演化过程设计方法具有重要的意义。本文着重研究利用过程构件技术来设计软件演化过程,得出了一些有用的方法和结论。
1相关工作
在软件演化过程以及软件构件技术研究领域,许多专家学者已取得了很多成果。Lehman和Aoyama等人对软件演化过程作了大量研究,提出了许多关于软件演化过程的理论及实践方法[2,3,4];在软件演化过程的设计方法以及过程改进方面一些学者也做了大量研究[5]。在软件构件技术研究领域许多研究者已取得了丰硕的成果。文献[6]总结了构件技术的发展历史;文献[7,8]总结了这十年间的构件技术研究与实践进展。也有一些学者把软件过程与构件技术相结合,如文献[9]提出了一种基于体系结构的软件过程模型。
目前国内外有关过程构件技术的运用还相对较少,也没有涉及软件演化过程设计的相关文献。本文在前人的研究基础之上利用过程构件技术来设计和开发软件演化过程SEP,提出了一种利用过程构件来设计SEP的方法,试图通过构件技术提高过程设计效率、过程的可复用性和过程质量。
2软件演化过程SEP
持续演化是软件的一大特征,软件的演化性在软件工程中不断得到体现。软件演化过程SEP是软件不断更新和完善以满足用户需要的过程,也是软件自身不断成熟发展的过程。对软件的演化过程进行设计,构建软件演化的过程模型,有利于更好地对软件的演化进行管理、控制、规划、分析和度量,从而有效降低软件演化的成本,提高演化后软件的质量。
本文采用线性Petri网来描述SEP。Petri网是描述过程、组织和设备的规则特别是信息流的一个模型,是为了一致、准确地描述尽可能大量的与信息传递和信息转换相关的现象而设计的一种概念和理论[10]。用Petri网作为软件演化过程的描述工具,能够准确有效地反映出软件在演化过程当中的动态特征。
定义1 Petri网相关定义 三元组N=<C,A,F> 是一个网当且仅当:
(1) C与A为不相交的集合;
(2) F⊆(C×A)∪(A×C)是N上的二元关系,称为流关系。
设x∈N,·x={yyFx}称为x的前提,x·={yxFy}称为x的后提,则显然有:
x∈C⇔·x⊆A∧x·⊆A x∈A⇔·x⊆C∧x·⊆C
设x∈N,Inflow(x)={(a,x)(a,x)∈F,a∈N}称为x的输入流;
Outflow(x)={(x,a)(x,a∈F,a∈N)称为x的输出流。
有关Petri网点火规则及其它相关定义请参考文献[11]。
定义2 线性Petri网 五元组P=<C,A,F,entry,exit>是一个线性Petri网,当且仅当:
(1) (C,A,F)满足文献[11]所定义的Petri网定义及点火规则;
(2) entry称为入口,满足entry∈C∧·entry=0∧entry·=1∧entry唯一;
(3) exit称为出口,满足exit∈A∧·exit=1∧exit·=0∧exit唯一;
(4) 任意c1,c2∈C(c1≠c2)满足:·c1∩·c2≠ϕ⇒c1·∩c2·=ϕ,c1·∩c2·≠ϕ⇒·c1∩·c2=ϕ;
(5) 任意a1,a2∈A(a1≠a2)满足:·a1>1∨·a2>1⇒·a1∩·a2=ϕ,a1·>1∨a2·>⇒a1·∩a2·=ϕ;
(6) 不存在c∈C满足·c>1∧c·>1,不存在a∈A满足·a>1∧a·>1。
用Petri网建模通常需要考虑Token资源,本文由于不涉及Petri网的动态执行,因此将Token标识忽略,只对模型本身进行分析。图1表示的是一个线性Petri网,其中C={c0,c1,c2,c3,c4,c5,c6,c7,c8,c9},A={a1,a2,a3,a4,a5,a6,a7,a8},F={(c0,a1),(a1,c1),(c1,a2),(a2,c2),(a2,c3),(c2,a3),(c3,a4),(a3,c4),(a4,c5),(c4,a5),(c5,a5),(a5,c6),(c6,a6),(c6,a7),(a6,c7),(a7,c7),(c7,a8),(c7,a8),(a8,c9)},entry=c0,exit=c9。根据流关系F(也称为弧集)的语义可以看出A中的活动a1和a2串行执行,a3和a4同步执行,a6和a7互斥执行。图2(a)、(b)所显示的Petri网均不符合定义2的要求,因此不是线性Petri网。
定义3 软件演化过程模型 是一个线性Petri网P=<C,A,F,entry,exit>。C为一个有限条件集合,A为一个有限活动集合,C∩A=ϕ。entry和exit分别为过程开始和结束条件。
如图1就可以描述一个软件演化过程。过程是活动的集合,从活动a1开始执行并传递Token资源,直到c9得到Token后整个演化过程执行结束。条件集合确定了活动执行的条件,活动间执行的逻辑关系包括串行、同步和互斥三种。
3演化过程构件和连接件
3.1分层Petri网
由于Petri网自身的特性,在活动和条件较多,模型较复杂的情况下其复杂性会剧烈增加,产生“状态爆炸”,因此人们多半采用分层的办法,自顶向下地构造分层Petri网解决状态爆炸的问题,如文献[5]就提出了一种用基本块分层建模的方法。也可以将上层的一个活动细化为一个下层的Petri子网片段,如图3所示。采用上述分层技术存在分层粒度过细、过程复用性差、接口一致性难保证等问题。利用构件技术可以较好地解决这些问题。
3.2过程构件和连接件
定义4 演化过程构件 是一个四元组Com={Porti,Porto,Imp,Desc},其中Porti是输入端口,Porto是输出端口。输入端口和输出端口分别体现着Com执行的开始和结束,是Com与外界交互的唯一接口。Imp是构件的实现,对应着一个Petri网形式的软件过程模型。Desc是对Com的描述。Porti= {ID,Cons},Porto= {ID,Cons},其中ID为端口标识,Cons是端口附着条件。
定义5 过程连接件 是一个三元组Con={Interface,Imp,Style},其中Interface为Con的接口集合,Imp为连接件的实现,Style是连接件的类型。Interface= {If1,If2,…,Ifn},Ifi= {ID,Type,Activities},其中ID为接口标识,Type是接口类型,表示Ifi是输入接口或者输出接口,Activities表示接口附着的活动。Style∈{SERIAL,SYNCHRO,MUTEX},表明了连接件所代表的连接语义(串行、同步和互斥)。
从体系结构的角度看SEP就是由不同的过程构件和连接件连接在一起形成的拓扑结构。一个过程构件通常被看作是一个软件演化子过程,构件体封装了软件演化子过程相关的活动、条件和弧。连接件将具有逻辑关系的相关构件连接起来,保证构件按照正确的逻辑顺序执行,并提供统一的接口保证连接的正确性。
3.3图形描述工具
使用图形来描述构件和连接件的优点是简单直观。图4(a)和(b)分别表示的是演化过程构件体和构件的端口(图4(b)上方是输出端口,下方是输入端口)。输入和输出端口不但是构件与外界的交互,同时还确定了构件执行时Token资源传递的方向。图4(c)是完整的一个过程构件。
(a) 构件体 (b) 端口 (c) 一个完整的构件
图5(a)表示过程连接件的输出和输入接口(上方是输出接口,下方是输入接口)。(b)、(c)和(d)分别表示三种类型的连接件(串行、同步和互斥连接件),其所代表的语义是连接件的输入和输出接口所连接的构件需要被串行、同步或互斥的执行。一个串行连接件只允许拥有一个输入接口和一个输出接口,而同步和互斥连接件拥有一个输入接口和多个输出接口,或者多个输入接口和一个输出接口(图中所表示的仅是最多两个接口的情况,实际可以大于两个)。构件与连接件进行连接时总是构件的输入端口与连接件的输出接口相连,构件的输出端口与连接件的输入接口相连。图6表示一个包含四个过程构件和两个连接件的演化过程,图中用虚线表示构件与连接件被连接在一起。
(a) 接口 (b) 串行连接件 (c) 同步连接件 (d) 互斥连接件
3.4实现连接件和构件
连接件体现了演化过程中各构件间(即子过程之间)的执行关系。为了保证拼接后模型的正确性,即拼接后的Petri网过程模型能够正确点火执行,在连接件的实现中引入了虚活动va和虚条件vc,它们没有实际意义,仅用来传递token。一个连接件被实现为一个Petri网模型片段,图7是对图5(b)、(c)、(d)所表示的连接件的内部实现。
过程构件分为两种:原子构件和复合构件。原子构件是组成复合构件的最小构件单元,往往代表演化过程中的独立活动。一个原子构件由两个端口虚条件和一个活动构成,如图8(a)所示。复合构件可以由若干原子构件与连接件拼接而成,也可以由若干复合构件与连接件拼接而成,如图8(b)、(c)、(d)、(e)分别表示包含顺序、分支、同步和重复结构原子构件的复合构件(带斜线的构件表示原子构件)。
4基于构件的软件演化过程设计
4.1元模型
对于SEP的设计,我们可以采用一种称为元模型的抽象,不同的SEP设计方法都可以用这个元模型来表示。如图9所表示的元模型中,建模者分析客户对软件的演化需求,并在领域知识及现有软件系统设计的配合下提取出演化子过程,通过分析子过程间的逻辑关系从而导出组成SEP的结构(构件和连接件)。
图9中的矩形表示概念,箭头表示概念间的关联。客户是提出演化需求的相关人员,领域知识表示解决某一类问题的知识集合,现有软件系统设计是演化前的软件系统相关设计信息,演化需求描述了软件演化的具体要求,SEP子过程及其关系被实现为过程构件和连接件,SEP结构是元模型最终获得的组成SEP的构件和连接件描述。元模型揭示了设计SEP其实就是由演化需求导出SEP结构的一个过程。
构件的获得方式可以是从构件库中直接提取,或是按照实际需要自行设计得到。直接提取就是从以前建立好的可复用的过程构件库中直接取出合适的构件作为子过程的实现。自行设计就是如3.4节所说用Petri网描述工具自底向上地对构件进行实现,最后再按照构件间的逻辑关系使用连接件进行拼接后就得到完整的软件演化过程模型。
4.2拼接
在软件体系结构研究领域中,基于SA的构件组装过程中构件间交互的不匹配是一个核心问题,其原因是各构件的实现方式以及接口存在很多差异。而本文中的过程构件及连接件都是用统一的Petri网模型片断来实现的,因此构件和连接件的接口具有一致性,组装也就变得很容易了。
构件和连接件的拼接关系被转化为Petri网中一的条弧作为各Petri网模型片段间的衔接。弧从构件输出端口的条件指向连接件输入接口的虚活动,或从连接件输出接口的虚活动指向构件输入端口的条件。图10是对图6所表示的SEP的一个实现的例子,可以看出构造出的Petri网模型仍然保持了构件间的逻辑关系。拼接后SEP模型中增加了以下几条弧:(Com1.Porto.Cons,Con1.If1.Activities[0]),(Con1.If2.Activities[0],Com2.Porti.Cons),(Con1.If2.Activities[1],Com3.Porti.Cons),(Com2.Porto.Cons,Con2.If1.Activities[0]),(Com3.Porto.Cons,Con2.If1.Activities[1]),(Con2.If2.Activities[0],Com4.Pori.Cons)。
5结语
本文全面地阐述了基于过程构件设计软件演化过程的有关的概念和方法,提出了一种自底向上构造软件演化过程模型的方法,为演化过程设计提供了一些新的思路。对过程构件的实现采用自底向上的组合拼接方式降低了分层实现的复杂性,采用统一的Petri网描述工具保证了接口的一致性,并通过理论论证证明了采用构件技术描述SEP所具有的完备性。目前对软件演化过程设计的研究还相对较少,本文立足于对过程的设计进行研究,具有较大的创新性。
未来的研究工作包括:软件演化过程的体系结构、演化过程构件库的设计、构件的分类检索和提取、基于构件的过程改进等。
摘要:软件构件技术已成为软件开发的一种重要方法,同样过程构件技术在软件过程设计中也起着重要作用。过程构件技术对于提高软件过程的设计效率,增强过程的可复用性以及保证软件过程的质量有着十分重要的意义。主要针对软件演化过程(SEP)的设计,提出一种基于过程构件的过程设计方法,通过对过程构件和连接件进行连接与组装,最后得到以Petri网形式描述的软件演化过程模型。
关键词:软件演化过程,软件构件,过程设计,过程构件
参考文献
[1]Osterweil L J.Software Processes are Software Too[C]//Proceedings of the9th International Conference on Software Engineering,Monterey,CA,March1987:2-13.
[2]Lehman M M,Ramil J F.Software Evolution and Software Evolution Processes[J].Annals of Software Engineering,2002.
[3]Chatters B W,Lehman M M,Ramil J F,et al.Modelling A Software E-volution Process:A Long-term Case Study[J].J.of Softw.Proc.:Improve-ment and Practice,2000,5(2-3).
[4]Lehman M M.Feedback in the Software Evolution Process,Keynote Ad-dress.CSR Eleventh Annual Workshop on Software Evolution:Models and Metrics[C]//Dublin,7-9Sept.1994,Workshop Proc.,Informa-tion and Software Technology,sp.is.on Software Maintenance,1996,38(11).
[5]Li Tong,Yang Hongji.Constructing a concurrent software testing process for reliability[C]//Proceedings of Software Test and Reliability Estima-tion Process(STEP2003).IEEE CS Press,2003.
[6]Kruchten P,Obbink H,Stafford J.The past,present,and future of soft-ware architecture[J].IEEE Software,2006,23(2):22-30.
[7]Kruchten P,Obbink H,Stafford J.Special issue on software architecture[J].IEEE Software,2006,23(2).
[8]梅宏,申峻嵘.软件体系结构研究进展[J].软件学报,2006,17(6).
[9]Zhang Yousheng,He Yuyun.Architecture-Based Software Process Mod-el[J].ACM SIGSOFT Software Engineering Notes.2003,28(2).
[10]周之英.现代软件工程(第二册)[M].北京:科学出版社,2000.
软件演化过程 篇4
引言
近十多年来,复杂网络理论研究逐渐得到深入和推广,其应用非常广泛,涉及社会学、生物、计算机等领域。在软件工程领域,软件系统尤其是大型软件系统规模的持续增长引发系统复杂性的质变,许多大型软件系统在内部结构、外部交互、演化方式等维度上表现出新特性。从结构方面,由于规模变大,从局部度量系统内部结构复杂性变得越来越困难,网络思想有助于从全局的角度解决这一问题。根据软件系统内部实体(如包,类、方法、组件等)间的依赖关系,将软件系统抽象为一个网络,即软件网络。从参与者角度而言,软件系统的开发不再是单个精英团队或专家所能完成,而是依靠大众开发,利用群体智慧才能达到目标,是一个典型的“社会-技术”交融系统。技术层面分析主要是对已有软件采用逆向工程方法抽象其组织结构,构建软件网络;社会层面分析主要是根据社区群体交互采用社会网络分析方法,挖掘群体行为。复杂网络与软件工程的交叉研究,已引起了众多学者的关注与认可,如李兵等基于软件网络的拓扑结构度量开源软件系统的复杂性,提高软件设计质量;Bhattachary等根据软件网络中节点的重要性进行缺陷预测,为测试人员提供检测优先顺序;鉴于软件拓扑结构的多粒度性,潘伟丰等分别从软件包、类和方法3个粒度研究了开源软件系统的演化特性。
软件网络的研究结合了复杂网络和软件工程理论,它以软件系统的结构特征为切入点,将复杂网络的理论应用到软件工程领域。持续演化是计算机软件的固有特性,了解和发现软件演化规律,有助于提高软件产品质量,降低软件开发和维护成本。针对软件演化问题,Lehman提出8个典型的定律,涉及软件的规模、质量、复杂度、生产率与开发过程等。目前,随着软件的网络化趋势越来越明显,软件与网络的关系更加密不可分,用网络的观点来分析软件演化,为软件工程实践提供了新的视角。然而,软件开发是一个社会性(“人”)和技术性(“软件”)汇聚的过程,很多已有研究只是从技术层面出发,探索了软件系统技术维度的复杂性与应用。在软件生命周期中,从需求获取、到系统的设计与开发,以及后期维护等阶段都离不开人的参与,即软件系统的社会属性。软件的结构决定功能,而Conway定律指出系统的最终设计结构等同于设计系统的组织成员之间的交互结构。因此,一个软件系统既是一个技术依赖的制品,也涉及一个社会交互的群体,其网络模型可抽象为一个社会-技术网络。
软件系统在不断适应环境和需求变化的过程中持续演化,软件演化作为一种技术,主要关心对软件进行修改的方法;作为一种现象,主要关心谁驱动的演化以及演化效果如何。基于社会-技术网络模型,本文尝试从软件演化分析角度探讨社会-技术网络中的协同演化问题,弥补已有研究工作只从单一网络层面审视软件的演化过程。本文采用类依赖关系描述软件网络,任务参与关系描述开发者网络,基于复杂网络度量研究与验证开源软件系统版本演化过程中存在的规律。本文的主要工作为:构建开源软件系统的社会-技术网络模型,统计开源软件系统中软件网络与开发者网络的网络规模、平均度、最短路径、聚类系数、社区结构网络度量指标等;依次对比分析两类网络在10个软件版本中网络指标的演化趋势,发掘它们演化规律的一致性与差异。
1 相关工作
Valverde等首次将复杂网络方法引入软件结构分析中,将软件系统的类图用无向网络来表示,分析软件网络中的复杂网络特性(如“小世界”和“无标度”),认为软件开发中局部优化过程可能是导致软件网络呈现这些特性的原因。Valverde等还考虑了类之间的有向性,构建有向网络对系统结构进行研究,发现除了以上特性外,软件网络同时具有层次性和模块性。随后,一些研究者从不同方面(开发语言、项目规模、分析粒度等)再次验证了软件网络的诸多特性并成功应用于工程实践。在软件生命周期中,软件处在一个不断变化的环境(新需求、新应用环境、性能改进等)中,为适应环境软件系统必须不断演化。Jenkins等对软件包之间的关系进行建模,分析一系列版本中软件架构图的结构稳定性。Wang等获取了Linux kernel模块233个版本的类调用网络,研究软件网络的演化特性。李兵等将复杂网络与演化算法相结合,提出一种新的软件网络演化模型,发现该方法能够很好地刻画实际软件系统复杂网络特性的涌现过程。潘伟丰等更是从包、类和方法3个粒度分析了软件网络中节点度、聚类系数、最短路径等指标的演化特性。Businge等研究了Eclipse系统及相关插件的演化规律,发现结果基本满足Lehman的8项目演化定律。
软件开发团队的演化对软件质量也会带来很大影响,研究开发者网络的演化有助于更好地理解团队成员在参与开发过程中的改变。Ngamkajornwiwat等使用社会网络分析方法研究了KOffice项目开发者社区的演化。Hong等讨论分析了开发者合作网络中幂律分布、模块性和社区大小等属性的演化。Datta等在IBM提供的Jazz平台上,将开发者合作网络的平均最短路径、聚集系数、巨型组件大小和平均度等指标与科学家合作网络进行时间序列的演化对比。Kumar等研究了贡献者数、社区大小、聚类系数等6个指标的演化。此外,Cataldo等、Lim等、Sharma等应用社会网络分析方法分别分析了分布式项目、合作网络与涉众投入关系、项目测试阶段团队的演化。
以上研究工作存在一个主要的不足:局限于单个网络层面分析软件系统中的演化问题,忽略了软件系统的社会-技术一致性,以及开发者合作网络与软件网络之间的相互影响。软件是由人开发的,现实中,由于人员的动态调整,尤其是核心成员的变动,可能使得原有的设计方案受到影响,最后导致软件结构发生变化。针对此类情况,仅从软件网络或开发者网络的演化分析并不能全面反应实际软件系统的演化问题。
2 研究方法
本文的研究主要分为3部分,首先利用我们团队开发的聚焦爬虫工具从Sourcforge.net网站爬取开源项目Vuze的邮件列表信息,并结合使用TortoiseSVN工具导出该项目的版本日志信息;根据网上提供的项目版本信息,使用Dependencyfinder工具解析源代码构建软件网络,再根据所获取的项目历史信息构建开发者网络;基于所得的软件网络与开发者网络,进行协同演化分析。
1) 数据获取。我们的工作需要具备获取项目源代码和修改日志相关信息的权限,所以选取开源软件为实
验对象。开源软件Vuze(原名Azureus)是一款知名的采用BitTorrent协议的P2P文件共享客户端软件,可用于查找/下载种子文件。该软件项目的开发信息都公开部署在开源平台Sourceforge.net上,任何感兴趣的开发者都可以为项目提供个人的贡献。通常一个成功的开源软件在其生命周期中都会有一系列版本,本文选取从版本4.3.1.0开始的10个连续版本作为演化分析对象,为便于描述,我们将版本V4310标记为1,依此类推版本V4502标记为10。
针对每个目标版本,我们先编译源代码并将编译后的压缩文件.zip导入dependencyFinder中,得到.xml解析文件;然后利用自行开发的工具分析.xml解析文件,获取类之间的依赖关系并保存为.net网络格式;最后利用网络可视化工具Gephi即可呈现对应的软件网络。另外,我们根据对应版本的提交时间,有选择地爬取项目的邮件列表信息与提交日志。我们先对开发者信息进行去重,例如Paul Gardner与P.Gardner实际上是指同一个开发者;以往在对邮件列表信息处理时,会发现同一个开发者使用多个邮箱进行交互的情况,而本次处理过程中并未发现此类情况。最后我们把在同一个线程出现和修改了同一个类文件的开发者间视为有一条合作连边,构建无向非加权开发者网络。
2) 网络模型。软件网络模型:根据选取的粒度不同,常用的软件网络有包级软件网络、类级软件网络和方法级软件网络。考虑到包级粒度过于粗糙而方法级粒度一定程度上太细会加重数据处理负担,本文所使用的网络是基于类之间依赖关系的软件网络(Software Dependency Network,简称SDN),定义为:Gc=(Vc,Ec),其中Vc为节点集,即为开源软件中所有的类和接口;Ec为节点对之间的边集,即为对象之间的关联关系。在CDN中,4种情况下类A与类B之间被视为存在关联关系:类A与类B之间有继承关系;类A与接口B之间有实现关系;类A中有类B的变量;类A中的`方法调用了类B对象。在软件实现中,类之间的依赖关系是有向的,而考虑到开发者合作的相互性,我们的软件网络为无向非加权网络,即类A与类B之间只有存在以上4种关系中的至少一种便有eab=1,否则eab=0。关于软件网络的详细介绍,推荐感兴趣的读者参考我们之前的工作。
开发者网络模型:开源软件社区中的开发者大部分是来自世界各地的志愿者,他们加入一个开源软件的开发主要是为了增加开发经验和体检虚拟团队合作的乐趣,通过知识共享、信息交互体现群体智慧在软件开发过程中的作用。开发者可以通过各种交互渠道,如邮件列表、版本控制工具CVS/SVN/Git、Bug库和论坛等,来实现交互。在构建开发者合作网络(Developer Collaboration Network,简称DCN)过程中,用Gd=(Vd,Ed)表示一个开发者网络,其中Vd代表参与项目的开发者,Ed为开发者之间的合作,即若开发者C 与开发者D 参与了同一任务(包括bug修复,功能改进)则被视为存在一条合作连边ecd=1,否则ecd=0。本文没有考虑两个开发者间的合作次数。
3 演化分析
3.1 节点与边的协同演化
网络的节点数与边数直接反映了一个网络的规模,一个开源软件系统的软件网络节点代表系统中类的个数,而边代表类之间的依赖关系,功能越多类越多,边越多系统越复杂。因此,软件网络规模的变化能够体现软件系统内部结构复杂性的变化。与软件网络相对应,开源社区开发者合作网络中节点代表参与的社区开发者,开源社区中的开发者可自由选择感兴趣的项目,因此节点规模间接反映项目的受欢迎程度;开发者间的合作紧密程度可通过网络的连边进行体现,边越多表示开发者间合作越紧密,加权网络中边的权重还可表示合作的频率。已有研究关注开发者潜在合作同行的推荐,以缓解合作的稀疏性。
为分析两类网络节点与边的演化情况,分别给出了它们在10个版本中的变化趋势,其中横轴表示每个版本对应的版本序列号(1-10),纵轴表示对应的指标值。显示SDN网络与DCN网络的节点数均随时间不断增多,只是增长趋势有所不同。SDN网络中节点与边的增长在一定周期内幅度很小,之后存在一个大的增加,随后又保持相对稳定,如版本1-3,4-7,8-10这3个阶段增长幅度很少,可能的解释是这些阶段主要负责系统的维护工作,无新的功能添加;而3-4,7-8之间却有一个大幅度的增长,分别增加了90和98个类文件,说明在这两个阶段版本间有新的功能添加。SDN网络规模的演化也表明大致3-4个版本周期后会有一次大的更新。
虽然同样呈增长趋势,但DCN网络与SDN网络的演化趋势明显存在差异。首先,开发者数量线性增长更明显,不存在周期性增长的现象,其中一个主要原因可能与开源社区的零散、自由的松耦合合作方式有关,感兴趣的开发者任何时刻都可以参与项目提供贡献,这种自愿性使得项目成员随时间一直增长,经历10个版本,开发者数由原来的38人增加到144人。其次,DCN 网络中边的增长幅度相对更缓慢,说明合作并不紧密;在版本6-9期间,网络的合作仅增加了18。需要注意的是,DCN网络中开发者既可以自由加入,同样可以随时离开,所以这里的增长都是相对前一个时间段而言。
实验结果表明:DCN网络与SDN网络的规模随时间均满足持续增长规律,只是SDN网络节点与边的增长趋势表现出一定的周期性,而DCN网络的线性增长趋势更明显,但节点与边增长不同步。
4 讨论
很明显,DCN网络与SDN网络的规模差别甚大,他们的演化方式也不同。一个成型的软件系统在维护过程中仅需修改少量的模块,而开发人员变化可能更大。开源社区中开发者往往分布在世界各地,不受时间、地域和文化等因素的约束,任何有能力的个人都可以提供问题的解决方案,甚至一些开发者只是在某一个版本中做出贡献,在以后的版本中都不加参与。这种“低门槛”正是为什么DCN网络节点呈明显的线性增长的一个主要原因。软件系统的每个版本并不会一直有新的功能添加,有些版本只是修改上一版本中存在的缺陷问题,这种修复工作一般不会导致网络规模的明显变化。另外,SDN网络规模与DCN网络规模并不成正比,表明开发团队的壮大并不会直接影响系统内部结构的复杂性。
平均度〈k〉可反映一个网络中节点的平均连接程度,在软件工程实践中,SDN网络〈k〉有助于项目负责人根据需要对新建与维护的工作量进行成本预测,DCN网络〈k〉可为评估项目完成时间与团队协调代价提供参考;加上SDN网络与DCN网络最短路径均小于6,聚类系数较大且随时间还有不同程度的增大,说明在STN网络中,尽管SDN网络与DCN网络的一些指标增长并不同步,但随着时间的变化,两类网络中节点的直接或间接的关联关系会越来越明显。根据开发者的开发历史信息与DCN网络的“小世界”特性,一个修改任务可以很快分配到具备完成任务能力的人手中。
随着需求的变动与运行环境的改变,软件系统的结构会相应变动,而模块度的波动是最直观的体现。SDN网络模块度的演化可用于软件重构,例如两个版本间的模块度大幅度下降意味着存在重构点。相对于SDN网络,DCN网络的抱团现象不明显且波动较大,说明社区开发者更多的是小范围的局部合作,整体上合作比较稀疏。众所周知,这种合作不利于知识的传播,所以可根据DCN网络中模块度的变化对社区成员合作进行协调,提供更多的交互渠道,建立开发者推荐和激励方法。
通过对比STN网络中DCN网络与SDN网络在一些指标上的演化,我们得到了一些有趣的发现,但本文也存在一些不足之处:首先,10个版本的时间跨度并不相等,我们仅以网上提供的提交时间为划分基准,虽然在数据处理过程中不可避免会引入一些偏差,但实验结果表明,这些小的偏差并没有影响最终的演化分析,所以,文中的发现具有一定的代表性。其次,开发者的历史信息只考虑了邮件列表和提交日期,针对开发者间的合作,我们假设参与同一个任务的开发者间存在合作,且构建的DCN网络为无权网络,无法呈现他们之间的合作次数。虽然DCN网络的定义比较狭隘,但很多已有研究工作采用了这种基于“共事”关系构建DCN网络的方法,并证实了这种DCN网络的有效性。
5 总结与展望
随软件版本的更新,软件网络与开发者合作网络的规模不断增大,软件网络以3-4个版本为周期有规律地增长,而开发者合作网络呈明显的线性增长;两类网络的平均度均满足近似线性增长,但整体上增长并不一致;它们均有“小世界”特性,且最短路径都表现为阶段性下降,但开发者间局部合作更明显;它们的社区结构都不断地变化,且整体上模块度呈下降趋势,但开发者合作网络的变化更大。总之,我们的工作发现开源软件系统的社会-技术网络模型中两类网络既有共性又有差异,一定程度上既相互促进又相互影响。
群体决策过程的复杂性及其演化 篇5
在现实生活中,复杂性现象很多,如经济领域、金融领域、管理领域、生命科学领域、自然科学领域等等。复杂性科学的研究重点是探索宏观领域的复杂性及其演化的问题,其研究对象是复杂系统,在这种系统中,众多因素在多方面进行着错综复杂的相互作用。由于大多数重大决策都面临着多变的决策环境、复杂的决策问题以及不断演化的决策过程,必须通过群体决策的方式来提高决策的可靠性。由此可见,群体决策问题具有复杂系统的典型特征。当前对群体决策理论的研究主要有三种理论模式[1]:效用决策模式、行为决策模式和复杂决策模式。关于效用决策模式方面的研究成果斐然,但大多集中在具体决策环节的效用算法优化和决策技术上。行为决策模式则从决策个体、决策群体的角度研究决策者的行为特征,规避影响决策的各类因素,营造良好的决策环境,以便提高决策质量。复杂决策模式的研究正是从系统论的角度重新诠释整个群体决策过程的复杂性的。目前针对群体决策的研究倾向于前两种理论模式,不足之处在于过多采用还原论的方法将整个决策过程进行分离,对决策过程的某个局部细节进行研究,缺乏整体性考虑。
因此,本文尝试基于复杂性科学理论的思想,从决策过程(Decision Making Process,DMP)的角度,论述了群体决策过程的复杂性,从横向过程和纵向过程两个方面探讨群体决策过程复杂性的构成,并分析了两种复杂性演化模式,最后提出面向复杂性的群体决策过程控制策略,以期对群体决策理论研究提供一种新的思路。
2 复杂性科学基本理论
从历史看来,正式提出“复杂性研究”的是埃德加.莫兰(Edgar Morin),提出“复杂性科学”概念的是普利高津(Llya Prigogine),而标志着复杂性科学诞生的是贝塔朗菲(Von Bertalanffy)对一般系统论的创立[2]。从此开始,复杂性科学研究方兴未艾,成果颇丰。1984年被誉为世界复杂性问题研究中枢的美国圣塔菲研究所(Santa Fe Institute,SFI)成立,并提出了很多极有影响力的复杂性科学理论,如复杂自适应系统理论(CAS)等。我国复杂性科学研究始于20世纪80年代,突出代表为钱学森教授,他提出了开放的复杂巨系统的概念和处理这类问题的系统方法——即从定性到定量的综合集成研讨厅体系。一般来说,复杂性科学主要研究对象为复杂系统与复杂性。复杂性科学的产生是为了避免传统还原论科学的局限性,而采用整体论或非还原论的方法论,其研究方法是定性与定量相结合、微观与宏观相结合、还原论与整体论相结合以及推理与思辨相结合。从复杂系统的特点来看,复杂性科学注意研究对象的完整性,注意构成对象系统的要素之间的联系性,注意由部分组成整体之后的涌现性,更注意研究对象在时间上的动态演化性。
黄欣荣[3]认为,复杂性科学并不是一门学科,而是在复杂性视野下的一群学科,其复杂性科学的内核为现代系统科学、非线性科学以及通过计算机仿真研究而提出的各种算法。目前来说,构成复杂性科学的核心理论主要有:涌现生成理论、复杂适应系统理论、进化计算理论、自组织临界性理论、人工生命理论、复杂网络理论。复杂性科学理论的每个分支研究角度有所差异,但是其遵循的原理基本相同,具体表现为:整体性原理、动态性原理、时间与空间相统一原理、宏观与微观相统一的原理、确定性与随机性相结合的原理[4]。目前复杂性科学理论已经运用于物理科学、生命科学、经济科学以及人文社会科学等领域中,取得了较好的成果。但是复杂性科学研究在某些领域尚不够深入,比如社会科学领域中的复杂性问题、经济管理领域中复杂性的运行机理等等,仍存在整体性考虑、定量化分析以及合理化建模的不足,需要开展相应的研究。
3 群体决策过程的复杂性
3.1 群体决策
对于那些复杂的决策问题,往往涉及目标的多重性、时间的动态性和状态的不确定性,这是单一决策个体的能力远远不能驾驭的。为此,群体决策因其特有的优势得到了越来越多的决策者的认同并日益受到重视。群体决策(Group Decision Making,GDM)一般是指为充分发挥群体的智慧,由多人共同参与决策分析并完成决策的整体过程,主要对某些重大的、复杂的、风险较大的问题进行集体决策(Collective Decision),以提高决策的质量。一般而言,群体决策主要包含了决策环境分析、决策问题分解、拟定决策方案、决策方案选择、决策结果评估等内容,决策主体和决策客体贯穿于整个群体决策过程。
由于群体决策由多个决策个体组成,其规模、结构均会影响整个决策的效果,决策过程中存在决策个体之间、决策个体与决策群体之间、不同决策群体之间的交互活动。因此,本文认为群体决策过程主要由决策知识构建过程、决策方案选择过程和群体共识形成过程构成。决策主体与决策客体之间有三个阶段的交互过程,如图1所示。
第一阶段,交互过程①为决策知识构建过程(Knowledge building process,KBP)。决策伊始,初始决策群体分析总体决策目标,找到初始决策问题,确定初始决策方案集。其次,决策个体针对初始决策目标、决策目标进行知识储备与预备,同时决策个体之间进行决策前的知识交互,互相启发,涌现出新的知识,形成决策知识。再则,初始决策方案可能会进行修正,甚至增减。
第二阶段,交互过程②为决策方案选择过程(Solutions choosing process,SCP)。首先,初始决策群体根据决策目标修正初始决策方案,得到新的决策方案集,确定群体分组、群体规模以及群体结构,以此确定扩大化的决策群体。其次,决策群体采用各种决策方法和技术对决策方案集进行判断,得到群体决策相关决策数据。最后,结合各种决策算法和决策信息,对群体决策得到的决策数据进行建模分析,得到决策方案集的排序。
第三阶段,交互过程③为群体共识形成过程(Consensus forming process,CFP)。在决策方案选择过程中,由于决策群体内部、决策群体之间可能存在意见不一致、利益冲突等问题,需要群体内部决策个体之间进行研讨,达成一定的群体内部共识,需要决策群体之间进行研讨,达成群体之间的共识,以便于更好地开展方案的决策。意见不一致可以通过决策权重设置来解决,利益冲突则通过决策博弈直到形成决策均衡。
3.2 决策过程复杂性
决策理论的代表性人物Simon教授[5]认为,“决策的制定过程主要由情报活动(intelligence activity)、设计活动(design activity)和抉择活动(choice activity)等三个基本阶段组成,各个决策阶段构成的链环远比此复杂,决策过程的每阶段本身又是一个复杂的决策过程,存在着环套环(Wheels within wheels)的现象。”实际上,由于受到环境中的不确定性因素、所能得到的有限信息量以及自身对决策信息判断计算能力的限制,决策者实施有限理性决策,而有限理性决策会带来决策过程的复杂性。
Lindblom教授强调[6]决策是一种“摸着石头过河”的过程,决策在接连有限的对比中做出,决策过程中价值目标的选择和对应采取行动的分析之间互相盘绕,很难相互区分,分析极为有限并且其初始点不是某个理想的目标而是现行的政策,决策所能考虑的仅是渐进的变化或边际的变化。决策者是有限理性的决策主体,其决策行为可能受到决策偏好、决策利益、决策环境的影响而导致决策主体的复杂性。由于决策问题可能具有一定的模糊性,在决策行动方案的递解分解过程中也会存在决策对象的复杂性。决策方案的选择过程由于决策者的信息交互、决策阶段的反馈循环导致选择过程的复杂性。由此可见,复杂性贯穿于整个决策过程。
3.3 群体决策过程的复杂性构成
有研究表明[7],当前的决策理论可分为两种研究路径。其一,当求解某一具体决策问题时,一般都是从时间维度的视角即按照时间的先后顺序来开展决策过程。其二,当研究某一个决策问题的共性时,考虑的重点则是从空间维度的视角来分析决策过程的某一具体的环节。在研究群体决策过程的复杂性时,本文从复杂性科学的整体性原理出发,沿用当前决策理论的这两种研究路径,主要从横向过程复杂性和纵向过程复杂性两个视角进行整体性的分析与研究。
(1)横向过程复杂性(Horizontal process complexity,HPC)
由前文可知,群体决策过程主要包括群体知识构建过程、方案构建过程和共识构建过程等三部分。由于整个群体决策过程是动态、不确定的,群体在知识构建、方案构建以及共识构建过程中存在着复杂性,具体表现在:
①源自知识构建的复杂性(Complexity from knowledge building)。
曾建华、何贵兵等[8]认为,群体决策的质量取决于其全部认知资源能否通过群体交互而得到有效利用,而决策信息和知识的有效分享、专长知识随决策情境和任务阶段变化而适应性转换、专长分布式群体对决策所需新知识的交互式构建是群体决策质量的三个重要的认知保证。Payne和Bettman[9]指出,决策中的知识构建过程包括问题表征、信息获取和解释、信息整合及知识表达四个阶段。决策问题的描述与表征形成决策问题知识,决策群体通过信息交互与整合构建群体知识库,甚至涌现出新的决策知识。不同专业领域的专家群体,不同信息交流模式的群体知识涌现都会导致群体知识的构建过程呈现复杂性。
②源自方案选择的复杂性(Complexity from solutions choosing)。
F. Herrera等[10]指出,群体决策选择过程主要包括群体偏好表述及转换、群体偏好集结与决策方案选择等三个方面。目前国内外的学术界对群体决策的研究大多集中在决策方案的选择算法上。在群决策的方案选择过程中,群决策主体面对着如此多的决策选择算法,可能存在算法选择的复杂性。同时,决策方案选择过程中还存在决策交互的现象,即子决策问题的决策过程之间的信息交叉、决策结果交叉,某一子决策过程产生的结果成为另一子决策过程的约束条件,影响其决策结果。
③源自群体共识的复杂性(Complexity from groups consensus)。
由于组织复杂性以及群体复杂性,在群决策过程中出现冲突是不可避免的,这就需要通过群体沟通达成群体共识来解决。Jehn[11]通过研究发现群体中存在三种冲突:以任务为中心的冲突、以关系为中心的冲突和以过程为中心的冲突。多目标群体决策的决策模式与决策过程存在着决策目标和决策问题的冲突、决策偏好和决策规则的冲突以及决策利益之间的冲突等三类决策矛盾冲突。因此在群体决策过程中需要达成决策目标和决策问题的共识,达成决策偏好和决策规则的共识,尤其要达成群体意见一致性的共识。由于群体决策过程中各类决策冲突的存在,必定导致群体共识的复杂性,要求群体进行交互决策达成一定的决策共识度。
(2)纵向过程复杂性(Vertical process complexity)
在群体决策进程的每一个进度结点中,存在着决策主体之间、决策客体之间以及决策主体与决策客体之间的交互,必然导致各类决策过程的复杂性。群体决策的纵向过程复杂性主要表现在:
①源自主体知识的复杂性(Complexity from subject knowledge)。
在决策过程中,主体知识是决策主体进行理性决策的材料和工具。而主体知识掌握多少和好坏必将影响着决策主体进行决策的质量。决策主体的有限知识会带来主体的有限理性,这两者均会导致主体决策产生决策偏差[12]。在实际群体决策过程,决策主体知识的拥有量会随着群体交互而不断增加,对整个决策过程产生一定的复杂性。
②源自主体行为的复杂性(Complexity from subject actions)。
在复杂的、不确定性的决策环境下,决策主体可能还存在规则支配和目标支配两种决策行为,决策主体会根据自身掌握的知识量来选择不同的决策行为。为了某一决策目标,单一决策主体通过聚类形成群体决策主体,而聚类的条件就是单一决策主体的决策偏好,如决策个性、风险承受程度、决策利益等。群体决策过程中,往往难以避免由于局部利益冲突带来的决策行为复杂性。
③源自群体结构的复杂性(Complexity from groups structure)。
为了获得高可靠性的群决策结果,决策群体要达到一定的规模。有研究认为[13],决策群体规模越大,越容易生成更合理的决策方案和决策结果。而大规模的决策群体具有多层次结构,各成员之间通过一定的结构构成一个复杂的网络,群体成员通过不断地学习交互并对层次结构进行重组[14]。
④源自决策问题的复杂性(Complexity from decision problem)。
群体决策问题往往是复杂和难以确定的,其目标通常是模糊和缺失的。决策目标的描述没有固定的模式或者程序,总体决策目标的递解分解存在模糊复杂性,决策子目标之间可能存在不可公度性和矛盾性,甚至还有决策目标交叉的现象。另外,决策过程不可避免地与决策环境进行信息交互和能量交互,决策环境随着时间进度不断地变化,并对决策目标产生影响,在一定程度上也使决策目标更加复杂化。群体决策过程复杂性的构成如图2所示。
4 群决策过程的复杂性演化
根据复杂性科学理论基本原理可知,复杂系统由于各个组成要素及其之间存在交互演化的不可确定性,因此具有复杂性和动态性。对于复杂群体决策,从决策过程的开始到结束,各种复杂性都在不断变化中,比如由于决策问题的模糊不确定性,在将决策问题进行分解后需要扩大群体规模,设定群体结构,此时决策问题复杂性演化为群体结构复杂性。源自群体结构的复杂性也会逐步演化为决策主体知识的复杂性。由于决策主体所拥有决策相关知识的差异性以及群体主体的有限理性必定会带来群体主体行为的复杂性。实际上,整个群体决策过程的复杂性也是从横向过程与纵向过程两个角度进行动态演化的。横向过程的复杂性演化是指群体决策的复杂性按照知识构建过程、方案选择过程和群体共识过程三个阶段进行演化,其演化的形式为螺旋向前式,前一个阶段的复杂性推动后一个阶段的复杂性,本文称之为横向旋进演化模式(Horizontal Spiral-propulsion Evolution Mode,HSE Mode)。纵向过程的复杂性演化是指群体决策某环节中,按照纵向空间的方式在决策主体与决策客体之间进行的决策交互形成的复杂性转换过程,其演化的形式为空间交互式,交互对象之间存在信息与行为的复杂性,本文称之为纵向交互演化模式(Vertical Interactive Evolution Mode,VIE Mode)。群体决策过程的复杂性演化模式如图3所示。
4.1 横向旋进演化模式(HSE Mode)
王浣尘等[15]曾提出一种“难度自增殖系统”的概念,认为“难度自增殖系统”指的是处理这类系统的困难程度会随着处理过程和时间进程而增加的系统。他还针对“难度自增殖系统”提出一种系统方法论——螺旋式结合推进原则(Spiral Combining Propulsion Principles),简称为旋进原则(SPIPRO Principles),认为旋进原则方法论在处理这样一类系统过程中,以动态跟踪系统目标为宗旨形成一条主轴线,坚持将多种方法相结合或交替灵活应用并及时进行反馈调整,以使系统在变化或演化过程中尽可能地接近主轴线。显然,作为一个系统工程,复杂大群体决策过程亦属于难度自增殖系统的范畴,其复杂性演化亦满足旋进原则的要求。因此,群体决策过程复杂性的横向演化呈现为旋进的态势。知识构建复杂性经过决策主体之间交互之后,群体知识达到一种稳态,并向前旋进演化为方案选择复杂性。当群体按照决策规则对决策方案集进行选择后,方案选择复杂性自然向群体共识复杂性旋进演化,达成群体之间的决策共识。
4.2 纵向交互演化(VIE Mode)
在群体决策过程中,涉及群体内部个体之间的决策知识交互、决策偏好交互,群体之间的群决策知识交互、群决策偏好交互,以及群体决策过程中前后决策过程之间的交互等,通过决策过程的交互,解决群体内部和群体之间的各类决策冲突问题,最终实现群体意见的一致性。陈建中,徐玖平等[16]认为通过多轮的交互决策过程,对决策方案、个体偏好等进行研讨,提供信息,澄清方案,在逐步优化选择过程中,逼近群体共同的理想决策方案。对于利益冲突类的决策过程,文献[17]中分析了交叉决策存在的可能,说明在复杂环境下系统决策不但需要依靠本系统各个决策部门的有效协作,充分利用群体决策信息共享的效益,且还需积极的获取对抗决策流信息,将信息优势最大化地转为决策优势,以获取系统最终竞争优势。决策主体和决策客体之间通过交互,决策过程复杂性不断地演化,比如从主体知识复杂性演化到主体行为复杂性,从决策问题复杂性演化到群体结构复杂性等。
5 群决策过程复杂性控制策略
5.1 对群体结构进行合理设计,控制群体主体复杂性
由前文可知,群体决策绩效会受到群体规模、决策环境的影响。关于群体规模对决策绩效的影响,无论在非计算机支持还是在计算机支持的决策环境下,国内外的研究人员进行了广泛的理论和实验探索。研究结果表明[18]:方案数量、方案质量随群体大小的增加而增加,群体规模的选择还受到群体个体所拥有相关决策知识量的影响。为了使群体决策结果更加可靠,当群体个体决策能力较强时,群体规模可以较小,而当群体成员决策能力较弱时,群体规模应当较大[19]。因此,在群体决策过程中,面向复杂性需要探讨的关键问题之一在于如何设计合适的群体规模,对决策主体进行适当的控制,形成良好的群体结构,集结更多的决策相关知识,以便更好地为群体决策服务,使群体决策过程复杂性得以横向旋进演化和纵向交互演化,提高群体决策的可靠性。
5.2 对决策问题进行合理分解,控制决策客体复杂性
对于高层决策的复杂问题而言,由于决策环境往往是复杂动态的,决策目标和对象一般具有不确定性和模糊性,因此需要适当地从还原论的视角对决策问题进行按层次进行递阶分解,以便研究如何开展决策[20]。在递阶分解过程中,随着决策问题的逐层展开,可能由于当时考虑不周导致子决策问题之间存在交叉、重叠甚至冲突等现象,而带来决策客体的过于复杂化,势必影响整个群体决策的绩效。为此,对决策问题本身进行分析,研究如何从整体论和还原论相结合的角度,适当地进行决策客体的分解和分组,控制好决策客体的复杂性,也是群体决策过程的关键任务之一。
5.3 对决策交互机制进行合理设计,控制决策过程复杂性
群体决策越来越受到重视,其原因在于群体决策有利于集中不同领域专家的智慧,通过集结群体的决策意见,应付日益复杂的决策问题,获取更高可靠性的决策结果。在群体决策过程中,决策交互机制的建立,是非常关键的步骤。对于决策客体而言,决策目标、决策问题和决策方案集的确定,均需要决策群体进行意见交互和意见集结。对于决策主体而言,决策主体知识的构建、决策主体行为的趋向以及群体规模的设置,亦需要决策群体进行意见的沟通与交互,尽可能降低决策冲突,达成决策意见的一致性,促使决策过程的复杂性按照横向旋进和纵向交互两个正确的方向进行演化。
6 结束语
复杂性科学是一种新兴的边缘、交叉学科,为复杂系统研究开辟了新路径。复杂系统是具有自适应能力的演化系统,是一种包含了多个行为主体、具有层次结构、允许反馈的系统。复杂性科学侧重于从整理论和系统论的角度对复杂系统开展研究。复杂群体决策系统具有复杂系统的典型特征,但是目前的研究大多依据还原论对群体决策的局部进行研究,缺乏对整个决策过程的整体思考。为此,结合复杂性科学理论的基本原理,本文尝试从决策过程的视角分析探讨了群体决策过程的复杂性,还分析了决策过程复杂性的两种演化模式:横向旋进演化模式和纵向交互演化模式,并提出面向复杂性的群体决策过程控制策略,以期为群体决策理论的研究打开新的思路。今后将在群体决策过程的复杂性测度、复杂性演化轨迹以及群体决策过程集结方面开展深入理论研究与实证分析。
摘要:由于群体决策过程受到决策环境、决策主体、决策客体的影响,复杂性贯穿于决策过程的始终。因此群体决策的过程复杂性逐渐成为决策理论的研究难点。基于复杂性科学理论,本文从横向过程复杂性和纵向过程复杂性两个维度对群体决策过程的复杂性构成框架开展分析与研究,探讨了横向旋进演化和纵向交互演化两种群体决策过程复杂性演化模式,并提出三个面向复杂性的群体决策过程控制的策略。
软件演化过程 篇6
一、社会网络演化影响因素研究
随着社会网络研究的不断成熟,企业成长过程中影响社会网络动态演化的各因素也逐渐成为了研究热点。社会网络演化的影响因素主要是资源、信任、环境和创业过程。
1、资源
创业资源分为资产型资源和知识型资源,前者是企业成长过程中投入的有形资源;后者是企业对有形资源进行整合和转化而产生的资源。资源基础理论强调有价值、稀缺的、难以模仿的、难以代替的异质性资源是企业发挥竞争优势的基础。创新网络模式认为,在日益动态复杂的竞争环境下,企业的竞争优势既来源于对组织内部资源的开发,也来源于对组织外部网络资源的探索。为了让企业在市场竞争中一直处于不败之地,创业者必须在消耗有限的初始资源之前,主动开发并维持能够获取企业发展所需资源的网络关系。研究表明创业企业社会网络内个体之间联系越密切,产生的摩擦和合作越多,其网络演化的速度和能力就越强。
2、信任
社会网络的演化和发展依赖于网络中信任程度的发展,信任可分为社会关系组成的信任和经济关系组成的信任,前者定义为情感信任;后者,即理性定义为认知信任。
创业初期,资源、信息、资金和情感性支持基本来源于创业者原有的社会关系和亲友关系(情感信任),创业者最关注财务资源的获取,对于由血缘和情感搭建起来的网络缺乏组织性管理。这时期的社会网络是基于情感信任存在的、比较松散、资源流向单一的关系网络。为了企业的快速成长,创业者会主动开发和建立获取资源的关系网络,随着互利的交易双方持续交往,网络中的认知信任逐渐偏高,网络的广度和深度得到进一步提升,社会网络会得到扩大和完善。然而,在发展过程中,随着一些不以盈利为目的的情感关系(强关系)成员的退出,社会网络中的情感信任程度会逐渐降低。与此同时,创业者会淘汰一些无法提供资源的网络关系,社会网络在淘汰与发展中得到优化,最终演变成了一种动态有序的关系结构网络。
3、环境
创业环境对于创业企业的影响一直都是学术研究重点,创业者在创业过程中会面临不同的环境问题和资源问题,而环境在企业发展过程中起着重要的结构性作用。就企业之间各种可能的交易和网络行为中可利用的资源而言,创业环境的变化能够影响企业发现有利的创业机会,随着环境不确定性和丰富性的不断变化,社会网络会呈现出网络收缩、网络动荡、网络强化和网络扩张四种演变模式。技术环境的革新能为新创企业在社会网络中争取有利的发展方位时创造更好的机会。研究表明,民族文化环境同样能够影响创业企业网络能力的发展,即企业开发和维持获取企业所需资源的网络关系的能力。总之,企业迫于环境中的竞争压力,会倾向表现得与众不同,通过不断更新和完善组织状态,使企业之间的连接关系发生相应改变,从而在整个网络关系中占据利于自身发展的网络位置。
4、创业过程
创业网络和创业过程相辅相成,创业网络的各种特征及变化会影响企业的发展过程和绩效结果,创业过程能促进创业网络的多元化发展,并推动其层级化发展。通过回顾文献可知,随着创业过程的推进,网络中资源交往由简单的点对点逐渐扩展为组织之间多层次的稳定交往,为了满足企业每个阶段的资源需求,与创业过程相对应的网络会呈现出阶段性演进的态势。董保宝基于创业过程视角构建的创业网络的演进阶段整合模型中,创业网络会随着企业的开发到成长再到成熟,经历低阶到高阶的演进过程,网络内容、网络治理机制、网络结构与网络能力也会随着这个过程发生不同的变化,并且会表现出不同的特点。
二、社会网络演化路径研究
创业研究领域中,国内外学者进行了大量的研究与探讨,试图描绘出社会网络的具体演化轨迹。本文结合文献,借鉴彭华涛学者的观点,将创业企业社会网络的演化路径归于以下两类。
1、存在终点的演化路径
虽然企业生命周期应该划为几个阶段一直没有统一,但是学者分析发现,企业生命周期划分为成立期、成长期、成熟期、衰退期四阶段在实际中最常见且最合适。企业社会网络发展是一个动态的过程,企业发展所需资源在生命周期不同阶段会有所差异,创业企业与社会网络之间的关系可概括为一个“诉求—被满足—再诉求—再被满足”的循环过程,从而可以认为社会网络的演化与创业企业的生命周期之间存在紧密关系。张宝建通过研究表明,企业创新网络的进化依据网络租金和结构洞的变化规律可划分为组建、成长、成熟和衰退四个阶段,并且网络的进化过程体现出功能和结构的协同演化。
2、不存在终点的演化路径
企业社会网络演化是一个渐进、不断发展的过程,在此过程中,企业根据内外部经济市场环境适时调整,使得自身经营状况不断发生变化。研究表明,企业创新网络的自组织演化轨迹是一个由不稳定到次混沌、混沌、动态稳定的循环模型。结合静态的网络演化形态和动态的网络演化动因,产业集群的创新网络演化过程可分为初始、裂变、集聚和重组四个阶段。Lechner&Dowling经过研究设计提出新创企业网络演化主要经历四个阶段:初创期、成长期、成熟期、发展转化期,并且在企业发展过程中各类网络关系之间的组合和网络结构随着时间的变化而不断向前演进。
关于企业社会网络演化过程是否有终点,学者们持有不同的观点。笔者认为演化过程有无终点一方面取决于创业者,当创业者满足于企业现有发展而执意使企业停滞于当前发展状态或者为降低网络关系开发成本而保持现状时,企业社会网络会出现演化暂停点;然而随着创业者和其专长成为过去式被市场淘汰或者创业者领导企业主动跟随市场的变化,社会网络演化过程将继续进行。另一方面取决于创业企业的发展,随着企业进入稳定成长期,内部结构和管理系统趋于完善,企业的网络关系逐渐以商业关系为主,当交易双方中任意一方无法给另一方带来相关利益时,双方之间的连接就会慢慢地弱化直至被一方主动淘汰。根据企业生命周期理论,当企业处于衰退期时,一旦再创业发展不及时,企业组织将不复存在,社会网络演化问题便不会再涉及。
三、社会网络演化内容研究
企业社会网络的演化是一个复杂的动态过程,期望通过利用社会网络为企业创造更多的价值,将抽象的网络演化过程具体化就显得尤为重要。有学者将社会网络演化过程分为:外部形态的变动,即网络规模和成员间连接关系的变化;内部通过有效的网络治理机制对网络要素进行相关的调整。董保宝(2013)则认为创业网络的演进应包括网络交往的内容、网络关系治理和网络交往成员之间的复杂关系,并且这三方面演进的实现一定程度上能保证整个企业创业网络的合理演进和完善。结合文献,创业网络发展主要包括网络关系内容、网络治理机制、网络结构和网络能力的共同发展。
还有一些学者是通过描述社会网络特征的变化来了解社会网络演化的具体内容的,比如朱秀梅(2011)将创业网络的特征概括为结构特征、社会特征和关系特征。其中,网络结构是指网络成员之间直接和间接联系的模式。社会特征主要包括人际、商业和机构网络,而关系特征主要用来衡量企业之间网络关系的质量。吴莹、彭华涛等(2013)认为企业社会网络随着创业阶段的深入而不断演化的过程主要表现在网络的关系、结构和规模三个方面。国外学者基于社会网络资本论的视角,对社会网络的演化过程进行了研究,其认为社会网络的演化过程是企业在形成和增加社会资本的过程中构建特定结构的网络,并依靠网络的不断复制而实现自身的成长与演进的过程。在企业成长过程中,随着社会网络演化程度的加深,网络规模不断扩大,内容也不断扩充,而且网络规模的变化也会导致创业企业内部的体制发生相应的变化。Weisz通过研究发现企业的构成从低网络密度向高网络密度演化,比构建初期就起始于高网络密度更有利于新企业的成长,但是有研究表明当企业发展处于衰退期时,企业社会网络结构会由稠密变得稀疏。学者王建和刘冰(2007)主要从开放性和多样性两个方面探讨了企业家社会网络的演化过程,其中网络开放性,是指网络主体之间联系的地域分布特点,网络多样性是指网络关系内各种资源之间的差异性,差异越大则资源种类越丰富。
以上学者从不同方面分析描述了创业企业社会网络的演化内容,所有研究观点综合起来构成了完整而立体的社会网络。
四、整合框架
社会网络中组织之间的相互作用是非线性的,随着时间的推移,社会网络将会展现出某种无法预知的新的结构状态,通过这种结构状态的不断更新,企业的创业敏感度和网络内利益关联体之间的凝聚力得到不断提高。当企业发展进入成熟阶段,创业者最初基于亲情和友情构建的强关系网络会因网络成员的长期承诺和利益需要逐渐变得稳定、透明,早期的个人关系网络逐步被正式且透明的循环交往关系网络取代。综上所述,社会网络演化的最终结果是社会网络以弹性有序的结构代替了稳定固化的结构,以渐变和突变代替了静态不变,从一个均衡演进为另一个更为强健的均衡。
社会网络演化研究旨在从动态的视角剖析和描述复杂的社会网络,本文结合四个常见维度构建了一个社会网络动态演化的整合框架,如图1 所示。
图1中,演化影响因素、演化路径、演化内容和演化结果构成了社会网络演化研究整合框架。社会网络演化影响因素揭示了能够影响社会网络演化的几个主流因素,而且与演化路径和演化内容之间分别存在相关关系。演化路径研究用来揭示社会网络演化轨迹,演化内容与演化路径对社会网络最终的演化结果均能产生重要的影响。根据企业面临的机遇和挑战,选择正确的演化路径和适时地保留、淘汰有关网络,有利于企业网络演化成最适合发展的均衡状态。本研究选取上述四个维度来分析社会网络演化过程,对该研究领域具有一定意义:第一,演化影响因素、演化路径、演化内容和演化结果这四个维度依次展现出社会网络演化过程的来龙去脉,从为何演化、具体什么内容在演化、如何演化到最终演化成什么;第二,将四个不同维度放在一个框架中进行研究思考,更具整体性,并给后续研究指出了一个可参考的研究方向。
五、现有研究不足与未来研究展望
第一,国内大多社会网络研究未能将中国国情与西方发展情况完全分开,实际创业中,国外研究理论不一定适合所有本土企业的发展。
第二,社会网络理论研究起源于西方,在发展较为成熟后才被引入中国,在最初的本土化研究中几乎全部借鉴了国外的理论模型,而且国内越来越多企业效仿西方国家成功企业的发展模式,中西结合的过程中容易导致本土化研究遗失。
第三,现有网络研究只探讨了创业者对社会网络演化的推进作用,没有考虑创业者会因家庭压力、个人经历、管理能力和战略眼光等原因对社会网络有序地发展产生的阻碍作用。例如,在创业初期,风险规避型配偶可能会阻碍创业者主动拓宽弱网络关系的活动;有研究表明,与失败后再创业相比,因缺乏创业经验的初次创业的成功率会更低。后续研究应该综合考虑创业者对社会网络发展的推动和阻碍作用,只有将复杂的实际情形剖析透彻才能更贴近研究本质。
第四,学术界对社会网络研究中涉及到的有关概念用词不统一,专业标准不够,使后辈学者在学习参考中容易混淆。比如,董保宝(2013)在创业网络演进模型的研究中将社会网络等同于创业网络,而在庄晋财、沙开庆等(2012)关于企业成长嵌入式网络演化的研究中认为创业网络包括社会网络和产业网络;丁高洁(2013)在探讨社会资本对农民创业绩效的影响时认为网络规模是指创业者可以支配利用的关系范围,而国外有的学者定义网络规模为主体联系的冗余性程度。学术界标准用语混杂现象正好说明了该领域研究还未完全成熟,具有发展空间,后辈研究者在探讨新研究点的过程中可以通过与学术专家学者一起探讨归纳统一相关学术概念。
摘要:本文通过文献梳理,从社会网络的演化影响因素、演化路径、演化内容、演化结果四个维度着手对创业过程中社会网络演化研究进行系统评述,并尝试构建一个社会网络动态演化的整合框架,展现社会网络现有研究的基本现状,最后针对现有文献的不足对未来研究发展方向进行了展望。
关键词:创业活动,创业过程,社会网络,动态演化
参考文献
[1]朱秀梅、李明芳:创业网络特征对资源获取的动态影响——基于中国转型经济的证据[J].管理世界,2011(6).
[2]洪振挺:企业网络的涌现及复杂性研究[J].科技和产业,2014,14(11).
[3]庄晋财、沙开庆、程李梅等:创业成长中双重网络嵌入的演化规律研究——以正泰集团和温氏集团为例[J].中国工业经济,2012(8).
[4]王珊珊:创业企业社会网络演化的纠错机理研究[D].武汉理工大学,2013.
[5]Smith D A,Lohrke F T:Entrepreneurial network development:Trusting in the process[J].Journal of Business Research,2008,61(4).
[6]Larson A:Network dyads in entrepreneurial settings:A study of the governance of exchange relationships[J].Administrative science quarterly,1992.
[7]Mc Allister D J:Affect-and cognition-based trust as foundations for interpersonal cooperation in organizations[J].Academy of management journal,1995,38(1).
[8]张宝建、胡海青、张道宏:企业创新网络的生成与进化——基于社会网络理论的视角[J].中国工业经济,2011(4).
[9]陈沛光:微环境、创业网络与创业绩效关系的实证研究[D].吉林大学,2012.
浅议我国资产减值政策演化过程 篇7
总的来说, 我国会计领域对于资产减值的处理, 是一个从认识到实际运用的过程, 从统一计提标准到分类细化, 从单一项目 (仅针对应收账款) 计提到现在的八项计提内容等等, 前后可分成以下四个阶段:
一、第一阶段 (1992年以前) :对资产减值的认知阶段
1992年以前, 我国经济处于改革初期, 会计上还处于学习和研究西方的经济管理和会计核算方法的阶段, 因而当时公布的会计准则中没有提到资产减值准备, 企业多为国有, 而且除指定的对外贸易企业外, 一般企业国际业务不多, 资产的计价方法只有历史成本法, 并且当时的市场处于国家控制的计划经济, 不存在所谓市场价格, 因而在会计核算上对于企业财物的计价不需要考虑减值的情况。
二、第二阶段 (1992-1998年) :对资产减值初步运用阶段
1992年以后, 我国企业经济的迅速发展, 为适应经济的改革发展, 在当年11月国家财经部发布的会计基本准则中对资产定义进行了调整, 定义为:“资产是企业拥有或者控制的能以货币计量的经济资源, 包括各种财产债权和其他权利。”并在会计核算原则中增加了谨慎性原则。依照谨慎性原则, 企业在核算资产、收入时, 如果存在不确定性情形, 则宁愿低估而不能高估, 在核算负债、费用时, 则宁愿高估而不能低估, 以保证利润、所有者权益合理性。对资产计量可按实际成本与市价 (可收回金额、可变现净值) 两种计量, 并按两者孰低核算, 在资产负债表上按较低者列示。因此, 在1992年的会计核算改革中增加了坏账准备金项目, 即是对应收账款项目在年末按规定方法进行评估后, 计提减值准备金, 而对坏账损失核算既可采用备抵法, 也可用直接转销法核算。也只有在采取备抵法核算应收账款时, 企业才能提取坏账准备。例如, 提取准备金时是采用年末应收账款余额百分比法的, 工商企业可按年末应收账款余额的3‰-5‰计提。当期计提的坏账准备在会计报表中作为应收账款的备抵项目列示。
这一时期, 企业确认坏账计提准备的时点是年末。在会计核算上, 年末应计提的坏账准备计入“管理费用”项目内。如若当期坏账准备项目余额大于应计提的金额时, 可以将多提的部分转回。
1998年, 国家财政部颁布的《企业会计准则———债务重组》中引入了“公允价值”新概念。在此后几年中, 会计核算上开始出现关于企业资产的减值核算业务。
1999年财政部颁布第35号文《股份有限公司会计制度》中划定, 公司提取的资产减值准备有坏账准备、存货跌价准备、短期投资跌价准备和长期投资减值准备四种。
三、第三阶段 (2001-2003年) :取消公允价值计量阶段, 并正式提出了八项计提的内容
1998年虽然在会计准则中使用了“公允价值”概念, 但当时我国会计领域对于这方面的理论还处于研究认识阶段, 很多经济学家都认为, 国内市场经济在价格控制上虽已不是计划经济, 但也不完全具有“公允价值”所需的活跃价格市场的存在, 编制报表时, 各企业对资产公允价值的估计存在着较大的不合理性, 从理论与操作上, 都存在着较大的分歧, 于是2000年以后颁布的会计准则及会计制度中对于企业资产计提减值时没有再提到“公允价值”概念。因而, 2001-2003年, 我国针对企业资产的有关核算发布了八项准则, 并在这些准则中放弃了公允价值计量。
在公布的资产减值的八项准则内容中, 明确规定了企业除应收账款外的存货、投资、固定资产、无形资产等四个资产项目可计提减值准备金, 以下就新增部分的内容进行对比:
第一, 《企业会计准则———存货》的第23、25条提到, 每期重新确定其可变现净值, 有减值可计提准备金, 如前影响因素消失, 原已计提的存货跌价准备的金额可转回。减记的金额, 可确认为当期费用。根据以上的规定, 企业在期末计提的存货减值准备计入当期“管理费用”项目中核算。
第二, 《企业会计准则———投资》第3条将投资分为长期与短期两种, 其中根据所占份额多少将长期股权投资的计价方法分为成本法与权益法。准则第23条:“企业应当定期对长期投资的账面价值逐项进行检查如果由于市价持续下跌, 应将可收回金额低于长期投资账面价值的差额, 确认为当期投资损失已确认损失的长期投资的价值又得以恢复, 应在原已确认的投资损失的数额内转回。”从以上规定得出, 企业在期末计提的长期投资的减值准备是归入“投资收益”项目进行核算也可转回。
第三, 《企业会计准则———固定资产》第28条:“如果固定资产的可收回金额低于其账面价值, 企业应当按可收回金额低于账面价值的差额计提固定资产减值准备, 并计入当期损益。”第30条:“如果有迹象表明因素发生变化, 则以前期间已计提的减值损失应当转回, 但转回的金额不应超过原已计提的固定资产减值准备。”根据以上的规定, 企业在期末计提的固定资产减值准备计入当期“营业外支出”项目中核算, 每期计提的准备金可以根据具体情况允许转回处理, 期末将当期确认的固定资产减值损失。
第四, 《企业会计准则———无形资产》第16条中:“企业应定期对无形资产的账面价值进行检查, 至少于每年年末检查一次。如发现符合条件的, 应对无形资产的可收回金额进行估计, 并将该无形资产的账面价值超过可收回金额的部分确认为减值准备。”第17条同样提到了, 如发生减值的迹象全部消失或部分消失, 企业才能将以前年度已确认的减值损失予以全部或部分转回;转回的金额不得超过已计提的减值准备的账面余额。根据以上的规定, 企业在年末可计提无形资产减值准备, 但没有说明计入项目, 因而在会计核算中, 一般将计提的减值准备计入“营业外支出”项目中。
根据规定, 应收账款在内的四个项目当期所计提的减值准备金均要求在报表附注中进行披露。
从2001年颁布的这几个准则来看出, 对于企业资产存在减值的情况, 在会计领域上逐渐形成了共识, 但由于一些客观的原因, 在会计准则中仅对其中的几个项目计提减值准备, 而且各项目计提准备金时所使用的会计科目有所不同, 除应收账款外, 其他项目计提减值准备时没有提到计提的比例。
四、第四阶段 (2003-2006年) :
再次运用公允价值概念阶段, 对企业资产减值的核算内容、方法、规定进行了细化
2003-2006年期, 是我国现行会计准则体系正式建立的时间。
2006年2月15日颁发38项具体准则形成企业会计准则体系, 这些具体准则的制定颁布和实施, 规范了中国会计实务的核算, 其中在基本准则中重提“公允价值”概念, 对资产减值的处理更趋向合理。
企业资产计价方法有历史成本、重置成本、可变现净值、现值及公允价值四种计价方法。在此重提公允价值法, 是因为从2000年开始, 我国与世贸组织协议的正式生效, 此前会计领域也进行了各方面的改革, 国内市场发展日渐规范, 各项资产都出现了活跃的市场, 市场价格也合理, 因而会计准则中重提“公允价值”概念, 以便更好地对企业资产的价值进行计量。根据这一准则, 企业资产从应收账款、投资、存货、固定资产、无形资产等项目计提减值准备外, 新增了以公允价值计量模式计量的投资性房地产的减值、消耗性生物资产的减值、建造合同形成的资产的减值、递延所得税资产的减值、融资租赁中出租人未担保余值的减值、金融资产的减值和未探明石油天然气矿区权益的减值等12个项目的减值准备。
为了规范资产减值的确认、计量和相关信息的披露, 我国财政部在2006年《企业会计准则———基本准则》基础上制订了《企业会计准则第8号———资产减值》。准则中还规定:除了存货的减值、以公允价值计量模式计量的投资性房地产的减值、消耗性生物资产的减值、建造合同形成的资产的减值、递延所得税资产的减值、融资租赁中出租人未担保余值的减值、金融资产的减值和未探明石油天然气矿区权益的减值等八项减值以外的资产减值损失一经确认, 在以后会计期间不得转回。
以下列示出2006年以来公布的《企业会计准则》中有关资产减值的部分内容:
第一, 《企业会计准则第1号———存货》中有关规定与以往不同的是, 计提减值准备的时点改变, 以往计提的时点是年末, 而新准则定义为“资产负债表日”。期末存货在报表上以账面余额列示。
第二, 《企业会计准则第2号———长期股权投资》第15条:“按照本准则规定的成本法核算的、在活跃市场中没有报价、公允价值不能可靠计量的长期股权投资, 其减值应当按照《企业会计准则第22号———金融工具确认和计量》处理;其他按照本准则核算的长期股权投资, 其减值应当按照《企业会计准则第8号———资产减值》处理。”
第三, 《企业会计准则第4号———固定资产》第20条:“企业固定资产的减值, 应当按照《企业会计准则第8号———资产减值》处理。”
第四, 《企业会计准则第5号———生物资产》中的第21条:“企业至少应当于每年年度终了对计提生物资产跌价准备或减值准备, 并计入当期损益。”
第五, 《企业会计准则第6号———无形资产》第29条:“企业无形资产的减值, 应当按照《企业会计准则第8号———资产减值》处理。”
第六, 《企业会计准则第8号———资产减值》第4条:“企业应当在资产负债表日判断资产是否存在可能发生减值的迹象。”
根据2006年颁布的38个《企业会计准则》的有关规定, 企业在资产负债表日要对企业的资产进行评估, 有发生减值并符合有关条件的要计提减值准备, 而计提减值准备时在时点 (资产负债表日) 与2001年 (年末) 《企业会计准则》中的规定有所不同外, 另外, 新准则中还规定了除特定的资产减值准备可转回外, 其余资产减值损失一经确认, 在以后会计期间不得转回, 而2001年的准则中是没有此项规定的。
2006年的《企业会计准则———应用指南》中还将计提的应收账款、存货、长期股权投资、持有至到期投资、固定资产、无形资产、货款等的减值准备金统一计入新增损益类科目“资产减值损失”项目核算, 于期末列示于损益表中, 而采用公允价值模式进行后续计量的投资性房地产计提的减值准备金计入损益类科目中的“公允价值变动损益”项目, 递延所得税资产计提的减值准备金则计入“所得税费用”项目核算, 这两个项目在期末列报时也计入当期损益表中。
在新会计制度中不再规定准备金的具体计提比例, 由企业根据当期具体情况进行合理的估计确定, 这也给企业在编制当期报表提供了一个自由空间。为了控制企业有可能夸大或缩小估计, 准则中要求企业将当期确认的各项减值损失金额、计提的各项资产减值准备累计金额在报表附注是进行详细披露列示。
从1992-2006年以来的企业资产减值准备的演化来看, 我国会计领域对资产的减值概念是从一种模糊认知到一种较为准确计量运用过程, 虽然现在理论界对于资产减值准备金的计提金额确定还存在着争执, 但对于企业资产在现时的市场下普遍存在减值的问题已达成了共识。
参考文献
[1]、企业会计准则[M].中国法制出版社, 1992, 1997, 2001, 2006.
[2]、企业会计制度[Z].财会[2000]25号, 2000.
[3]、企业会计准则——应用指南[M].中国财政经济出版社, 2006.
[4]、公允价值计量属性应用现状及展望[DB/OL].土豆网.
起重机回转支承故障演化过程探讨 篇8
随着起重机械在工业生产及基础建设等领域的大量使用,起重机械安全问题日益凸显,已成为特种设备安全问题的重要组成部分[1,2]。回转支承作为工程机械的“腰”,是塔机、门座、浮吊等悬臂式起重机完成回转运动的关键部件。目前,国内外众多学者对回转支承进行了较为广泛的研究,这些研究多集中在回转支承力学性能分析[3,4]、新型回转支承开发[5,6]以及回转支承状态监测与故障诊断[7,8,9]等方面,但在起重机回转支承故障机理及演化过程等方面的研究,所取得的成果却相对有限。为提高起重机械事故预防及控制能力,促进工业生产安全健康持续的进行,本文从运动、受力、材料及制造工艺等方面对起重机回转支承进行分析,按照形成原因及发生部位对常见故障进行分类,探讨起重机回转支承早期故障及其演化发展过程。
1 起重机回转支承故障影响因素
起重机回转支承按结构形式不同可划分为单排四点接触球式、单排交叉滚柱式、双排球式及三排滚柱式等几种类型。起重机回转支承在具体结构和形式上虽千差万别,但其运动原理、受力形式、所用材料以及加工制造工艺却是相同或相似的。
1.1 起重机回转支承动力分析
回转支承是起重机完成周期性回转运动或摆动的关键部件。回转支承旋转座圈与起重机旋转部分连接,固定座圈与起重机固定部分连接,起重机借助这个特殊部件来传递总轴向载荷Gp,总径向载荷Hp以及总倾覆力矩M,同时通过回转支承上的齿圈实现旋转部分相对于固定部分的回转运动。不同类型的起重机回转支承载荷特征有所不同,但具体受力运动简图可表示为图1。
回转支承由套圈(内圈、外圈、上下圈)、滚动体、隔离块、密封圈和油杯等组成[10]。其中,连接螺栓将回转支承与起重机固定部分、旋转部分分别连接起来,是回转支承不可分割的部分。根据回转支承不同部分间受力与运动形式的不同,可以按照以下三部分进行进一步的分析。
1.1.1 连接螺栓
回转支承的连接螺栓一共两组,分别分布在内、外圈座上,以此实现回转支承的固定。由于起重机存在倾覆力矩,在完成回转运动的过程中连接螺栓受到周期性轴向交变载荷的作用,成为连接螺栓的主要作用力。此外,当起重机存在水平载荷时,连接螺栓也会承受小部分径向力的作用。
1.1.2 滚道与滚动体
滚道与滚动体是回转支承完成回转运动、承受外载的关键部位。在外载作用下,滚动体与滚道相互接触,承受非常大的接触载荷,是典型的接触问题。当四点接触球式回转支承受到轴向载荷Gp、倾覆载荷M和径向载荷Hp分别作用时,滚动体负荷分布如图2所示。
在理想运动状况下,滚动体按照一定频率滚过滚道,绕着回转支承轴线公转,与此同时,也以一定频率绕自身轴线自转,这种运动决定了滚动体与滚道上任一部位总是交替性的承受接触载荷。在实际运动过程中,回转支承所受低速重载使滚动体在滚动时,不可避免的相对滚道滑动,公转和自转频率均受到影响,滚动接触问题变成牵引接触问题[3],受力运动形式变得更加复杂。
1.1.3 齿圈
回转支承齿圈与回转电机减速器输出齿轮相互啮合,传递由回转驱动装置输出的运动和扭矩。和普通齿轮啮合一样,齿圈上的齿在完成回转运动的过程中承受周期性接触载荷的作用,是典型的线接触问题。与普通齿轮啮合相比,这种啮合所传递的力和力矩更大,在回转运动突然启动或停止的瞬间所受的冲击载荷将更加严重。
1.2 材料与制造工艺流程
1.2.1 回转支承的材料
起重机回转支承的选材原则是,先保证安全性,再追求经济性,在安全性得到保障的前提下尽量提高经济性。所谓安全性,体现在选材上是指所选材料应满足使用要求,保障使用性能。对回转支承的运动和受力进行分析发现,回转支承承受着高的疲劳接触载荷。同时,由于不同接触对的相对运动,疲劳磨损不可避免。因此,要保证使用安全性,回转支承所用材料必须具有很好的抗疲劳接触性能和抗磨损性能。而经济性,在此主要体现在两个方面,一方面是指所选材料应有充足的货源,价格较为低廉;另一方面是指材料应具备良好的加工制造性能,特别应具备良好的淬硬性、适当的淬透性以及高的回火稳定性等。
就我国实际情况,我国拥有丰富的锰资源,但铬资源却较为贫乏,国外广泛使用铬钢作为回转支承套圈用钢的情况在我国难以实行,所以我国回转支承套圈常采用50Mn、50SiMn、42CrMo、45MnV、50MnV、5CrMnMo或其他具有同等性能的材料制造,其中以50Mn、42CrMo最为常用[10]。滚动体因用材较少、材料使用性能要求更为苛刻,常采用GCr15或GCr15SiMn等制造[10]。
1.2.2 加工制造工艺流程
起重机回转支承的加工制造工艺分毛坯加工、机加工和装配3个环节,如图3所示,各工厂在加工设备、技术特长等方面的不同,在各个环节中所使用的具体工艺流程又略有差别。
起重机回转支承在加工制造过程中,不同零件所用的加工工艺流程也各有差异。套圈毛坯的加工方法主要有轧制、铸造、锻造三种,轧制由于具备获得的毛坯性能较好,尺寸准确,加工余量少,材料利用率高,价格便宜等优点在回转支承的生产中用的更为广泛[11]。轧制按照加工过程是否需要加热又分为冷轧和热轧两种工艺,这两种工艺获得的产品各有优缺点,在回转支承套圈生产中各有应用,其中,热轧工艺流程如图3所示。
套圈的机加工流程大致如图3所示。在套圈的机加工工艺中,滚道表面和齿面的淬火工艺对回转支承的使用性能有重要的影响,滚道表面和齿面不仅要有适当的高硬度,还要具备一定的淬硬层深度,若淬硬层太薄,则易产生剥落和点蚀。同时还要求适宜的过渡层和延伸层,即淬火硬度要均匀,淬硬层沿深度变化要平滑,淬硬层与心部交接处的硬度差不宜太大[12]。
滚动体的加工是回转支承制造的另一重要环节。滚珠的加工工艺路线一般为:备料-冷镦-软磨-淬火-回火-硬磨-附加回火-抛光,滚柱多采用棒料直接车成,经淬火与低温回火后,精磨并抛光。如果滚动体所用钢材原始组织不符合制造要求[13],在上述加工前还应进行相关的热处理。滚动体的淬火-回火环节对回转支承使用性能有着重要的影响,和套圈一样,淬火硬度与淬火层深度是其主要指标。硬磨-附加回火-抛光环节可以有效改善滚动体表面质量,降低使用时的接触应力,提高使用寿命。
2 故障演化过程分析
2.1 常见故障原因及分类
回转支承是起重机回转机构的核心组成部件,在起重机正常工作中扮演着重要的角色。回转支承一般采用全寿命设计思想进行设计或选用,即要求回转支承使用寿命不得小于起重机自身综合使用寿命。
全寿命设计思想虽为起重机回转支承的安全使用提供了理论保障,但实际设计、制造和使用等过程中的不确定因素,仍可能使回转支承发生各种意想不到的故障,对起重机的正常使用和操作人员的安全构成威胁。起重机回转支承常见故障按形成原因可分为3类[7]:第一类故障是由于设计、制造、安装等不当造成的,这类故障在起重机服役前就已经形成,在使用过程中突然暴露出来,造成起重设备丧失正常的工作能力;第二类故障是在服役中由于操作人员的错误操作、非正常使用或保养不当等引起的,在暴露前会经历长期的形成过程,如能采取适当的措施,可以有效的缓解故障,提高回转支承的工作寿命;第三类故障是在服役前已经产生,但不足以造成回转支承丧失正常功能,在经过一定时间的使用后,这一类故障才暴露出来,影响起重机的正常工作。
为预防起重机回转支承发生故障,建立完善的故障预防体系,有必要对起重机回转支承常见故障进行系统深入的分析,对故障发生部位、故障类型以及故障早期形式和演化发展过程等进行全面深入的认识。
2.2 故障发生部位与类型
由于受力或运动、选材或加工制造工艺等方面的差异性,起重机回转支承不同部位均有可能发生故障,从而影响起重机的正常工作。起重机回转支承常见故障一般发生在连接螺栓、滚道与滚动体以及齿圈这3个部位,通常表现为:
(1)连接螺栓:螺栓松动、螺栓裂纹、螺栓断裂;
(2)滚道与滚动体:疲劳剥落(主要故障)、擦伤与磨损、钢球碎裂、结构变形、轨道阻塞;
(3)齿圈:齿的断裂、齿的磨损、齿面疲劳、齿面擦伤与划痕。
除上述3个部位易发生各种常见故障外,隔离体、密封圈以及油杯等也是回转支承故障发生的可能部位,这些部位故障的发生通常不会立即影响回转支承的工作,但如不采取相应措施进行控制和修复,将会导致回转支承发生更为严重的二次故障,最终影响起重机的使用。
2.3 故障的早期形式
早期故障具有两方面的含义,一是指处于早期阶段的故障、微弱故障或潜在故障;二是从物理意义上讲,某一故障是另一故障的早期阶段[14]。本文在分析回转支承故障演化过程时并不做这样的区分,认为早期故障在演化发展过程中主要按两种方式进行,并由此将早期故障分为两类。
第一种早期故障在演化发展过程中总是以一定的形式发展,只不过在量上或严重程度上经历一个由少到多、由轻微到严重的过程。这类故障不会发生故障类型的改变,在起重机回转支承中较为典型的是磨损类故障。第二类早期故障在演化过程中不但会发生故障程度的加深,而更重要的是会发生故障类型的转变。这一类故障在起重机回转支承中较为典型的是早期微裂纹,其早期以裂纹的形式存在,但最终却以疲劳剥落或其他形式影响回转支承的正常使用。
按照上述对早期故障的理解,回转支承常见故障的早期形式主要以两种方式表现出来:一是早期微裂纹,二是早期轻度磨损。
2.4 故障演化过程
2.4.1 连接螺栓故障演化过程
起重机回转支承连接螺栓承受着巨大的疲劳载荷,若在设计、制造、安装和使用等环节没有充分考虑到这一点,将有可能发生疲劳失效,出现裂纹或断裂;若在安装中预紧力不够,或经常过载使用等,还易造成螺栓松动,这类故障演化过程如图4所示。
2.4.2 滚道与滚动体故障演化过程
滚道与滚动体承受着高强度的接触疲劳载荷,是起重机回转支承故障的易发区域。疲劳剥落、钢球淬裂、磨损类故障以及滚道阻塞等常见故障时有发生,其演化过程如图5所示。
2.4.3 齿圈故障演化过程
齿圈是传递回转驱动转置运动与载荷的关键部件,不但承受高强度的接触疲劳载荷,还时常受到冲击载荷的作用。加之材料、制造工艺等方面可能出现的各种初始缺陷,齿圈故障不可避免,齿面疲劳、齿面磨损、齿的断裂等故障演化过程如图6所示。
3 结论
通过对起重机回转支承故障影响因素及常见故障演化发展过程进行分类分析,得到以下主要结论。
(1)起重机回转支承特殊的运动和受力形式是故障产生的根源,材料本身及加工工艺中所产生的缺陷是起重机回转支承故障产生的直接因素。
(2)起重机回转支承常见故障大都发生在连接螺栓、滚道与滚动体以及齿圈这三个部位。按照故障形成原因又可分为三类,对这些故障的演化过程进行深入分析有助于起重机械事故的预防。
软件演化过程 篇9
关键词:冲击地压,保护层开采,围岩应力演化,数值模拟
冲击地压是煤矿开采中的典型的煤岩动力灾害之一, 通常是在煤、岩力学系统达到极限强度时, 以突然、急剧、猛烈的形式释放弹性能, 导致煤岩层瞬时破坏并伴随有煤粉和岩石的冲击, 造成井巷的破坏及人身伤亡事故[1]。在我国, 冲击地压作为一种特殊的矿压显现形式, 已经成为煤矿开采, 特别是深部开采矿井的主要灾害, 严重威胁煤矿的安全生产。目前煤层的解危措施主要采用煤层卸载爆破技术、煤层注水技术、深孔断顶爆破技术、定向水力割缝技术及钻孔卸压技术等局部解危方式预防冲击地压[2—8], 这些技术已经被广泛推广且取得了良好的防冲效果, 但这些措施的应用主要目的大都是转移围岩应力集中程度, 并未从根本上解除冲击地压的危险性。作为最有效的解危战略措施之一的保护层开采技术目前已经大规模应用于煤与瓦斯突出煤层治理方面[9—12], 相关研究也取得重大进展, 但在冲击地压治理中的应用及相关研究并不多见。深入研究冲击煤层上保护层开采过程中围岩应力演化规律对于被保护层开采防冲措施制定具有重要指导意义, 鉴于此笔者在现场实践的基础上对保护层开采过程中工作面及采空区的围岩应力演化规律进行了研究, 并得出保护层开采过程中采空区、工作面及下覆围岩不同位置处的应力演化规律, 研究过程中还对采空区顶板冒落岩石压实程度影响围岩应力分布情况进行分析。
1 保护层开采防冲技术原理
保护层开采导致围岩产生变形、断裂、离层并向已采空间移动。按采煤工作对岩体影响的程度和特征, 可分为五个区域:冒落带、完全移动带、解放带、减压带、增压带。理想情况下这五个带的分布如图1所示。利用碎胀性系数可以表示采空区不同位置处岩体的垮落程度, 碎胀系数一般按下式计算[13]:
式 (1) 中:v'为岩体破碎后的总体积;v为岩体处于整体状态下的体积。
冒落带中, 破断后的岩块呈不规则垮落, 碎胀系数比较大, 一般为1.3~1.5, 但重新压实后, 碎胀系数可降到1.03左右。此区域与采煤层相眦连, 很多情况是由于直接顶岩层冒落后形成的。根据经验, 冒落带高度一般为采厚的3~6倍。冒落带以上为完全移动带, 岩层产生裂隙和离层, 其高度可按已采跨度的0.6~0.9倍估计。受采动影响, 岩体应力小于原岩应力的地区成为减压带。解放带是减压带的一部分, 即由于保护层的开采, 被释放的煤层应力减低到小于H0, H0是该煤层发生冲击地压的起始深度。增压带是通常所说的支撑压力带。综上所述, 开采保护层后, 形成了解放带, 解放作用的实质是在于改善被保护层开采中能量积聚与释放的空间分布状况, 从而起到减缓冲击地压的作用[14]。
1为工作面影响区域的边界线;2为支撑压力带;3为减压带;4为完全移动带;5为冒落带;6为增压带;7为支撑压力分析
2 保护层开采过程中围岩应力演化规律
2.1 测试区概况
数据测试地点为北京大安山煤矿轴7槽西一工作面, 该工作面属于501煤层, 本煤层煤岩体试样经测试无冲击倾向性, 其下覆煤层为510煤层, 两煤层平均间距21 m, 501煤层煤岩试样经测试为强冲击倾向性, 因此为预防510煤层开采过程中发生冲击地压灾害现象, 首先开采501煤层。501煤层的埋深为544~624 m, 煤岩层产状变化不大, 倾角为10°~30°, 平均倾角15°, 灰黑色, 中厚层状, 节理较发育, 局部颗粒较粗;煤层伪顶为炭质页岩厚度0.1~0.3 m, 直接顶厚度1.0~2.0 m, 为泥岩和粉砂岩, 灰黑色, 中厚层状, 节理较发育, 老顶为中粒砂岩和细粒砂岩, 厚度为18~19 m, 如图2所示。
1为采煤工作面;2为采空区;3为中粒砂岩和细粒砂岩;4为泥岩和粉砂岩;5为炭质页岩
2.2 工作面煤岩体应力分布规律
上保护层开采过程中, 首先分析保护层工作面在推进过程中, 工作面前方和工作面后方采空区内的应力分布规律。为了测试围岩应力变化规律, 在501煤层轴7槽西一工作面前方和采空区各打8个钻孔, 安装三相钻孔应力计, 测试围岩体内部的纵向应力、水平应力和轴向应力, 每个钻孔应力变化反应出保护层工作面推进工程中围岩应力变化规律。应力测试钻孔布置具体如下:在工作面前方共布置8个钻孔, 1#钻孔距离采煤工作面10 m, 2#钻孔距离1#钻孔距离15 m, 以后钻孔间隔均为15 m。在工作面后方布置8个钻孔, 9#钻孔距离顶板岩石冒落边界距离为5 m, 10#钻孔距离9#钻孔10 m, 11#钻孔距离10#钻孔距离为10 m, 以后钻孔间距为15 m。三相钻孔应力计安装完成后, 等数据稳定后开采采集。同时采集巷道内单体支撑力随采煤工作面推进应力变化值。
如图4所示为钻孔应力计随保护层工作面推进采集到的数据曲线, 图5是工作面巷道单体支撑力数据采集曲线。
图4和图5数据显示, 工作面前方15~30 m钻孔应力计监测值和单体支撑力均处于增长阶段, 根据应力集中系数公式 (2) [15]:
式中:K0及b为与煤层及矸石等弹性模量有关的系数;x为工作面前方至煤壁距离。
可知该范围内其纵向应力集中系数达到2.5, 并在距工作面30~70 m范围内围岩应力逐步恢复并保持基本稳定, 纵向应力集中系数达到1.9。随工作面推采应力集中峰值在工作面前方13 m左右处。在工作面后方10 m范围采空区内, 煤体应力处于极低状态, 纵向应力值在0~2.5 MPa, 这主要是由于工作面开采之后采空区冒落顶板未压实底板而造成。采空区10~20 m为采空区初始压缩范围, 在这个范围内, 冒落顶板岩石初步接触底板, 在采空区内逐步形成初步压实应力。这个阶段的应力升高速度比较快, 在短短的15 m范围内, 纵向应力就将由2 MPa升高到4 MPa左右。采空区20~30 m为采空区应力缓慢恢复区, 在这个区间内, 由于顶底板的压实作用逐渐明显, 应力也将逐渐增大, 纵向应力由4 MPa升高到6 MPa左右。采空区30~40 m之后范围为冒落顶板压实区, 纵向应力基本上处于稳定阶段, 维持在8 MPa左右, 其他两个方向的应力也基本趋于稳定。从以上分析可以发现保护层开采过程中在工作面的前方后采空区围岩应力分别出现了“两升两降”现象。
2.3 保护层开采过程中采空区下覆围岩应力演化规律
501煤层开采过程中, 其下覆围岩距离保护层垂直距离不同其应力值也不相同, 掌握同一位置处不同垂直距离应力状态, 有利于被保护煤层在开采时的围岩巷道支护管理, 对于防治冲击地压具有重要指导意义, 但是, 由于煤矿生产过程及地质条件的复杂性, 使得现场实际测试工作无法进行, 因此采用数值模拟的方法对这一规律进行细致研究。
考虑使用应变-软化模型时, 除了要输入密度、体积模量、剪切模量、摩擦角、黏聚力和剪胀角等摩尔-库伦模型所需要输入的参数外, 还需要制定黏聚力、剪胀角、抗拉强度、摩擦角的峰后演化规律。
建立的模型尺寸长宽高依次为320 m×260 m×120 m, 模型及网格方式如图6所示。
通过对上保护层卸压规律的下三带划分, 可以知道, 保护层在其不同距离处的卸压效果不同。保护层开采应力动态演化, 超前支撑压力可以对煤岩体造成初步破坏, 但是主要是工作面后方通过煤岩体的底鼓变形而造成的卸压, 因此很有必要研究在进入采空区不同距离处应力的变化规律。图7和图8分别给出了采空区内工作面后不同距离处垂直于保护层的Z向应力和X向应力分布规律。图9给出了保护层工作面及采空区下部5 m、10 m、15 m及18 m处的三向应力随保护层开采过程中的应力演化数据曲线。
注:图7和图8中横坐标负值表示在保护层工作面下方距离, 正值表示保护层工作面上方距离, 纵坐标值表示压应力大小。
从图7中可见, 纵向应力随着向采空区深入, 呈现逐步增大趋势, 而图8中表明横向应力在距离保护层较近处呈现大幅波动卸压, 而在距离保护层较远处卸压效果大幅降低, 同时随着进入采空区距离的增大, 应力也呈现了逐步增大的规律。这表明, 随着煤岩体进入采空区距离的增大, 压实作用越来越明显, 导致煤岩体应力增大, 在工作面后方不远处应力较小, 随着距离的增加应力由于压实而增大。这表明, 在保护层后方一定距离内为被保护煤层最佳卸压区, 该区域煤体围岩得到了较好的应力释放。
图9为保护层工作面后方采空区不同位置处垂直于工作面方向上的三向应力变化规律。由图9 (a) ~图9 (d) 可知纵向应力和横向应力都显著降低, 但随着垂直距离的增大只有纵向应力仍然处于低应力水平, 而其他两向应力处于较高应力水平, 表明上保护开采能对下覆被保护层围岩纵向应力进行较好卸压。
3 保护层开采过程中工作面下覆煤层应力演化规律
保护层开采是工作面逐渐推进过程, 因此对下覆岩层的卸压过程也是逐渐变化过程。随着保护层工作面的推进, 其下覆煤层的卸压效果越来越明显, 采空区顶板岩石的冒落并逐渐压实直至被保护煤层达到稳定卸压状态, 该稳定卸压状态随保护层工作面的推进而移动。这一过程, 可以反映在保护层开采过程中被保护层煤岩体应力变化云图上, 如图10所示, 为510煤层随上保护层工作面推进的应力演化过程。
图10中可见, 在保护层工作面开采过程中, 工作面推进前50 m应力属于稳步向下覆围岩延伸的过程, 被保护层的纵向压应力逐渐增大, 在50 m之后, 保护层的采空区顶板冒落岩石的压实作用将影响到被保护工作面的应力分布, 工作面在后方采空区30~40 m即压实, 可见保护层工作面的压实作用传递到被保护层工作面在时间上稍微滞后, 这个滞后的距离约在30~40 m之间。在保护层开采50 m之后, 被保护层煤层呈现稳定的卸压带随上保护层工作面的推进而向前移动。图10 (a) ~图10 (m) 显示保护层推采工程中, 在采空区两侧下方被保护层应力值升高幅度要大于其中间区域, 图10 (i) ~图10 (m) 显示两侧应力值范围较大。通过数值模拟分析圈出被保护煤层应力较高区域, 可为开采该煤层的防冲设计作出理论指导, 能提高防冲效果。
4 结论
(1) 采用现场实测和数值模拟的方法, 系统研究了工作面开采过程围岩应力时空演化规律。指出超前支撑压力和钻孔三向应力随工作面开采而不断演化, 在工作面开采前方0~20 m范围煤岩体内纵向压力处于增长阶段, 应力集中系数达到2, 并在20~60 m为纵向压力逐步恢复阶段, 应力集中系数达到1.7, 应力集中峰值出现在工作面前方5m处左右, 在工作面开采50 m之后, 围岩应力有规律地呈现两次应力集中和两次应力释放现象。
(2) 分析了距离保护层一定高度处的应力分布规律, 煤岩体围岩应力随着保护煤层的开采而发生周期性演化, 并阐述了采空区内缓慢压实过程。通过分析煤层间距对保护层卸压规律的影响, 进一步阐述了煤层开采后的下三带分布规律。