软件调整

2024-09-27

软件调整(精选4篇)

软件调整 篇1

“恶意软件”,也有人称“不良软件”,或者很形象地称呼为流氓软件,国外更多地根据对网民的侵害范围把它们分别称为间谍软件(Spywar)和广告软件(Adware)等,或笼统称为Badware。恶意软件共同特征在于推广手段流氓化,侵犯了网民的知情权和选择权,影响干扰了网民正常的上网和工作,应该予以规范。如何规范“恶意软件”,我国现在还处于一个以民间讨论为主的、众说纷纭的阶段。本文认为,恶意软件虽有共同特征,但是由于其侵犯的用户权利不同,应该分类对恶意软件进行规范。本文主要讨论流氓广告软件的规范问题。

1 恶意广告软件的概念、特征

1.1 定义

恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵害用户合法权益的软件,但不包含我国法律法规规定的计算机病毒。根据不同的特征和危害,恶意软件主要分为广告软件、间谍软件、浏览器劫持、行为记录软件和恶意共享软件。

恶意广告软件是指未经用户允许,下载并安装在用户电脑上;或与其他软件捆绑,通过弹出式广告等形式牟取商业利益的程序。①互联网实验室通过数据分析发现:影响用户的恶意软件类型中广告软件占40.73%,随着恶意广告软件的大肆泛滥,用户只要一打开某个网页或使用某个软件,就会频频弹出广告,此类软件往往会强制安装并无法卸载,消耗系统资源,使电脑运行变慢,甚至在后台收集用户信息牟利,危及用户隐私。人们对恶意广告软件的关注不多,只是由于间谍软件、浏览器劫持、行为记录软件和恶意共享软件一般会涉及到用户的隐私权问题,所以在反恶意软件活动中广受关注;相反,恶意广告软件比较普遍,而且对用户造成的损害较小,没有人愿意花太多的时间和精力去打这种维权官司。

1.2 特征

恶意广告软件属于恶意软件的一种,具备了恶意软件的所有特征:

首先是强制使用性。恶意软件在未明确提示用户或未经用户许可,在用户计算机或其他终端上强制安装软件,通过劫持浏览器、弹出广告等手段强制用户访问定网站或观看广告,并且不提供通用的卸载方式,或者提供的卸载程序无法有效成任务,导致普通用户无法正常卸载或者不能完全卸载。

其次是安装隐蔽性。恶意软件通过捆绑到共享软件或者嵌入网页,自动安装用户计算机或者其他终端设备上,安装、运行过程非常隐蔽,普通用户难以察觉。恶意广告软件多数是通过免费共享软件以捆绑方式进行推广,用户在下载免费共享软件的同时安装了广告软件,未经用户许可,频繁弹出广告。

第三是自运行性(自动性)。流氓软件未明确提示用户或未经用户许可,在用户不知情的情况下,在后台自动运行、下载程序、上传信息或自动升级。

第四是商业利益性。恶意广告软件以获得收益为目的,通过在用户计算机弹出广告、收集用户行为信息用于商业活动以获取商业利益,商业利益是流氓软件肆意蔓延背后的驱动力。

2 恶意广告软件的传播途径及产生的原因分析

2.1 恶意广告软件的传播途径

恶意软件赚钱主要有两种模式。其一靠安装插件,主要通过共享软件、免费软件或盗版破解版软件捆绑技术实现。国内软件下载站提供我们熟悉的软件免费下载,但是大部分软件都是做过手脚的。当这些软件在互联网上开始传播前,一般都没有经过严格的审核,如恶意代码扫描、广告程序删除等。出于商业目的,软件的编制者或修改者就会将相应的具有流氓软件特征的程序或代码植入。其中,当网民将下载的软件安装到计算机的时候,捆绑在一起的一些病毒程序、广告程序等也一起安装到了电脑里。有报道称,插件每成功安装一台电脑,广告商会付给插件公司0.05元至0.3元不等,一个插件落户1000万台电脑插件公司收入可达50万元至300万元。其二,在用户上网时靠电脑强行弹出广告视窗。有报道称,弹出视窗的售价为6元每千IP流量,②这些都是侵犯用户权利所获取的不正当利益。正是在这种不正当利益的引诱下,恶意广告软件流行且泛滥起来。

2.2 恶意广告软件产生的原因

(1)传统门户网站等主流媒体的广告推广成本高昂,广告位无法满足整个广告市场的需求。

恶意软件及其衍生广告方式的出现,是广告市场资源严重匮乏并严重不均衡导致的。传统新闻门户广告资源相对稀缺,不能适应广告市场迅速扩大的需求,甚至已经成为互联网广告产业链增值发展的瓶颈。另外门户媒体如sina,sohu等广告投放成本高,那些利润较小的广告主只能寻找其他低廉的广告投放出路。

搜索引擎的出现虽然能在一定程度上弥补传统门户网站广告位的缺失,使互联网的广告投放成本相对降低,但是也不能涵盖所有的广告主的推广需求。例如对于突发性活动,比如新品公关、季节促销,有很大局限;对于娱乐性广告流量引导也有一定的局限性和不可控性质;对于图片广告、大尺度广告的默认不支持也导致部分推广和品牌广告和搜索引擎有较大距离。③

而恶意软件中的广告不具备相应的媒体品牌和媒体定向特征,而是依据其他网站页面、其他软件或纯广告形式直接出现在访客面前,无需媒体构建和高昂成本,在很大程度上,分散了广告主投放费用,降低了流量广告市场的价格水平。而且定向型弹出广告的广告成本甚至相对搜索引擎更低。

(2)共享软件生产商的利益趋向,使恶意广告软件更加泛滥。

现实生活中,许多恶意广告软件往往通过与免费共享软件的捆绑得到广泛的传播。在国外,共享软件是以“先使用后付费”的方式销售的享有版权的软件。根据共享软件作者的授权,用户可以从各种渠道免费得到它,也可以自由传播它。用户可以先使用或试用共享软件,认为满意后再向作者付费。对于软件这种数字作品来说,共享软件是一种很好的营销推广模式。但是在国内,正版软件和付费软件没有市场,破解的共享软件到处都是,因此共享软件变成了免费软件。④

免费共享软件的生产商不能从消费者手中获得利益,必然要转向新的获利群体,而恶意广告软件就是不错的选择。恶意广告软件生产商通过向共享软件生产商支付一定的费用,使恶意广告得以广泛宣传;而共享软件生产商既为用户提供了免费的共享软件,又获得了丰厚的利润。这种互利共赢的模式受到共享软件生产商和恶意广告软件生产商的普遍欢迎,因而使恶意广告软件广泛传播。

(3)现有法律法规的缺失。

就目前来讲,恶意软件处于合法软件和病毒之间的灰色区域,缺乏有针对性的对恶意软件的规范。在《民法通则》《合同法》《消费者权益保障法》等法律中只有一些原则性的描述,在《互联网信息管理办法》《互联网电子公告服务管理规定》等行业性行政性管理规定中,也没有对恶意软件的构成表现处罚等问题作明确规定,正是因为法律规范的缺失,导致对恶意软件规制不力的状况。

3 恶意软件的违法性分析

3.1 侵犯了电脑用户的权利

虽然,恶意广告软件可以为用户提供一些不知道的广告及信息,更重要的是可以获得免费共享软件,但是恶意广告毕竟是在用户不知情的情况下安装的,侵犯了用户的权利:

(1)侵犯了用户上网的自由选择权、知情权。

恶意广告软件偷偷地或强制地安装在用户电脑里面,用户电脑在不知不觉中受到控制。《消费者保护权益法》第8条规定“消费者享有知悉其购买、使用的商品或者接受的服务的真实情况的权利”;第9条规定“消费者有权自主选择提供商品或服务的权利”。未经用户许可或在用户毫不知情的情况下,恶意软件强制下载并安装在用户机器上违背了公平、自愿、诚实信用原则,侵犯了消费者的知情权侵害了用户的自主选择权和公平交易权。⑤

(2)侵犯了用户的财产权。

《民法通则》75条第二款规定,公民的合法财产受法律保护。随着现代社会网络的发展,财产不再仅限于所谓的动产和不动产,虚拟空间也成为财产。恶意广告所有者在用户的电脑上强制弹出无法卸载的广告,占用CPU(中央处理器)及内存资源,并感染用户电脑中的系统文件,严重影响到电脑的正常使用,最终可能导致电脑硬盘损坏,给用户带来经济损失,侵害了用户的财产权。

(3)威胁用户的隐私权。

随着互联网用户数量的急剧增长和宽带网络的普及,用户在计算机设备上存储的个人及家庭资料、账号、密码等个人重要信息也越来越多。恶意广告软件也不只是自动弹出广告那么简单了,可能在后台利用软件窃取用户网上信息,危及用户的隐私。

3.2 侵犯了网站的权利

(1)侵犯了网站的著作权。

依《著作权法》第10条第4款规定,著作权人依法享有保持作品完整权,即保护作品不受歪曲、篡改的权利。网站的网页结构和内容是经过编辑,具有独创性的作品,著作权人有权禁止他人擅自歪曲、修改享有著作权的作品(在这里特指网站的页面)。广告软件的发布者利用计算机技术,修改原网站的网页内容,侵犯了原作者著作权法所赋予的保护作品完整性的权利。⑥

(2)侵犯了网站的财产权。

网络资源也由于其利益性成为了一种财产,在网站上未经运营商同意强制安装无法卸载的广告软件就是对网站资源的破坏。

(3)构成不正当竞争。

《反不正当竞争法》。该法第二条规定,经营者在市场交易中,应当遵循自愿、平等、公平、诚实信用的原则,遵守公认的商业道德。恶意广告软件所有者,违反自愿原则,未经用户允许,将恶意广告软件下载并安装在用户电脑上,强行弹出广告以牟取商业利益,这种强制性的广告宣传和正常方式进行下的广告宣传构成了不正当竞争,损害了正常商业广告主和利用广告获得收益的网站营运商的合法权益,也损害了正常的网络秩序和市场秩序,这本身就构成了经营者或销售者的不正当竞争。

3.3 违反了国家对互联网的行政管理规定

根据国务院147号令《计算机信息网络国际联网安全保护管理办法》的相关规定,恶意广告软件强行进入网络用户的计算机以及网站页面,未经允许对计算机网络信息、计算机网络功能以及计算机信息网络中处理或传输的数据和应用程序进行修改、删除或增加的,是一种危害计算机信息网络安全的活动。任何单位和个人都不得从事该活动。目前一些恶意广告软件对计算机信息的功能进行删除修改或者增加,或者破坏用户的隐私,违反了该规定。

另外,如果恶意广告软件的破坏性达到了刑罚的程度,可能构成《刑法》第二百八十六条规定的破坏计算机信息系统罪:违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。

不过以上法律规定,并不是明确针对恶意广告软件而设,甚至不是针对网络而设的,我们在维护自己的权益时,也只能进行有限的引用。

4 恶意广告软件法律规制

4.1 恶意广告软件法律规制的原则

(1)适度容忍原则。

对恶意广告软件不能绝对封杀。从恶意软件的性质及特点来看,恶意软件虽然在推广方式上存在强制安装、难于卸载等特点,一定程度上影响了用户对电脑的正常使用,但是恶意软件毕竟不同于病毒,不仅对用户电脑安全的影响有限,而且还有一些作用,广告软件就给用户带来了一些商业信息。特别是广告软件传播大多是和免费软件、共享软件捆绑在一起,用户既然不愿为使用软件付费,在共享软件、免费软件找到其他的盈利模式之前,用户仍需以看广告为代价免费使用软件。从笔者调查的结果来看,大多数用户能够接受使用免费软件时收看一定的广告。

所以对恶意广告软件不能一棍打死,当然对这类广告软件的投向运行必须严格规范,使其在尊重用户权利的情况下合法运行,否则可能泛滥成灾。

(2)严格规范原则。

对恶意广告软件的投放必须严格规范。广告软件根据广告投向方式不同,分为定向投放与非定向方式。互联网定向广告是指基于用户浏览的网页和搜索的信息向他们发放广告的行为。行为定向已变得越来越普遍,因为通过软件追踪用户的网络行为变得越来越容易并且便宜,随后广告主便可使用这些数据选择与其产品和服务相关的受众进行投放。广告软件发展到一定程度,广告商为提高广告发送的有效性,必然向定向广告发展。而互联网定向广告必然面临用户信息的收集,涉及用户隐私的问题,必须谨慎对待,严格规范。

另外一个很值得注意的现象就是,近年来,我国流氓软件的功能和传播方式不断发生变化,类型也不断增多,其很多特征表现也与病毒、黑客很难明确区分,其非法性也越来越明显,所以也必须分类严格规范。

(3)知情同意原则。

在投放广告前,应充分尊重用户的知情同意权,将广告投放的范围、时间、频率、卸载方法等完全、充分告知消费者,使其在信息充分的基础上选择决定。根据目前的习惯和程序,满足用户的知情同意可以通过软件许可协议的方式实现。通过软件许可协议,使用户完全可以充分知晓软件的功能、风险、卸载等状况,从而决定是否安装。即使安装了,也可以不负任何代价完全彻底有效地进行卸载。

4.2 对恶意广告软件的法律规制

(1)欧盟和美国的立法司法状况。

在美国和欧洲地区,流行的不是强制弹出广告的恶意软件,而主要是间谍性质的恶意软件,所以欧盟和美国对恶意软件的法律规制也是主要集中在间谍软件上。澳大利亚在这方面,出台了间谍软件管制法案(Spyware Control Bill),要求软件制造商在用户安装软件前给出明确的提示。而荷兰则出台反间谍法案。⑦欧盟的做法是以侵犯隐私权来保护网络用户的权益⑧,认为恶意软件中的间谍软件构成侵犯网络用户隐私。对于恶意软件中同样常见的广告插件,欧盟法律认为其仅是强制浏览广告信息,没有侵犯网络用户的权利。

美国对恶意软件的法律规制也是主要集中在间谍软件上。⑨不过对间谍软件以外的恶意软件规范,美国也在进行积极探索。2006年11月,美国联邦贸易委员会((FTC)做出裁决,对原名180Solutions的Zango的广告软件公司罚款300万美元,原因是其引诱用户安装广告软件且无法卸载。Zango的流氓软件主要通过一些提供免费内容和软件的关联公司传播,很难被发现和删除,甚至可以秘密地重新安装。⑩美国联邦贸易委员会通过一份声明表示,消费者的电脑属于他们自己所有,他们不应该接受自己不想要的内容。后来本案以Zango公司向政府支付300万美元罚款结案,作为和解协议的一部分,这家公司必须向所有软件用户提供卸载工具。此外,未来在未经用户批准之下,不得向其电脑安装任何软件。(11)尽管这起案件并没有取得诉讼的胜利,但也对通过法律途径解决广告软件侵犯权益做了有益法律探索。

而且美国对广告软件的定向投放也密切关注。2010年2月被总统奥巴马任命的国家最高消费者权益保护机构的主席,雷布维茨已将所谓的行为定向定为首要工作。国会正讨论起草“opt-in”法案,即在网络上以“opt-in”方式向受众投放更多的定向广告,在收集数据前将征得用户的同意。(12)

(2)我国对恶意广告软件的规制现状。

对恶意广告软件的规制,有以下几种方式:法律规范、行业自律、技术手段。就我国而言,目前并没有专门法律法规对恶意软件的调整,对恶意广告软件的防范停留在行业自律阶段。行业自律没有强制力,在这样一个互联网市场并不十分规范的状况下,仅仅依赖行业自律规范恶意软件是不现实的。而且用技术手段对恶意广告软件进行规制,也需要首先认定某个软件为恶意软件之后,才可以进行防范处理,可是这种认定的标准是需要法律支撑的。没有法律对恶意广告软件进行界定、规范,那么技术手段必然会进入“侵犯商誉”、“不正当竞争”的雷区。在我国,恶意软件已经形成势如破竹的趋势,仅靠行业自律和技术手段等措施来约束是远远不够的,法律的规制已经成为必然。

虽然仍未出台相应的法律规范,但实践中已有此类案件发生。不过与国外同类案件相比,国外司法实践中对定向广告可能侵犯个人隐私保持极大的警惕,而我国更多注重的是用户的知情权和选择权,而不是个人隐私,“很棒小秘书”案就是例证。2005年10月,何先生在天空网站下载一款QQ防毒软件,事后发现电脑运行速度下降,不断有各种广告窗口。经过查找,发现WINDOWS控制面板的添加和删除程序列表种多了一项RichMedia,就是“很棒小秘书”。何先生认为,“很棒小秘书”软件未经允许自动下载到他的电脑上,侵犯了他的知情权、选择权,也造成了他的财产损失,而且被告通过“小秘书”软件整合的富媒体记录他的网卡物理地址,分析他的搜索行为和上网习惯,极大地侵犯了他的隐私权。

2007年4月6日,浦东新区法院做出一审判决,对何先生的主张,法院认为,很棒公司的不当行为侵犯了其知情权和选择权。至于隐私权,法院认为,何先生输入的关健词是向商业运作的搜索引擎或地址栏提交,并非私人之间信息的秘密往来。富媒体软件根据提取的关键字取得相匹配的广告链接,并按照记录的计算机终端网卡物理地址发回给富媒体软件客户端,其在运行这些功能时,无从判断原告的真实身份及其私人信息,故不存在侵犯隐私权。

(3)我国对恶意广告软件规制的建议。

1)充分借鉴国际经验,广泛参与国际合作。在恶意软件日益泛滥的今天,世界各国针对本国状况,纷纷出台了一系列制约恶意软件的措施和规范,尽管各国由于国情不同,但其宗旨都在于规范网络环境。对世界上成功的立法与判例,我国应结合自身国情有选择的借鉴与吸收。2)及时修订现有法律。《互联网信息服务管理办法》已经于2000年9月20日国务院第31次常务会议通过,以及在2000年12月28日,全国人民代表大会常务委员会通过了《关于维护互联网安全的决定》。这两部关于互联网服务的规定都没有对恶意软件提出建设性的规制依据,作为专门性立法,其对恶意软件的疏漏可谓是一大缺憾。建议在这两部法律法规中增设新的条款来抵制恶意广告软件的泛滥。3)制定专门的反恶意软件的法律。我国几年前就对计算机病毒防治制定了法规,2006年《互联网电子邮件服务管理办法》也开始实行,有效控制了大量垃圾邮件。建议参照此模式,制定一部专门防治恶意软件的法律法规,对恶意软件的构成要件、类型、处罚、救济、监管、赔偿等方面作具体明确的规定,为反恶意软件提供明确有力的的法律依据。

参考文献

[1]王晓红,薛晓霞,李立威.电子商务环境下的网络隐私权保护策略分析[J].生产力研究,2009(19)

[2]谢锐.恶意软件侵权及其维权诉讼探讨[J].法制与社会,2008(01)

[3]何彩英.我国现行信息网络安全法律体系的缺陷及其完善[J].网络技术安全与应用,2007

[4]张雅玲.恶意软件所引发的侵权问题[J].山西财经大学学报,2009,12(1)

[5]周强.恶意软件法律规制探析[D].中国政法大学2008年硕士论文

软件调整 篇2

软件部署是对软件进行安装和配置, 使软件正常工作的过程[1]。软件部署是一项繁琐的工作, 软件部署环境千差万别, 部署环境中会存在各种不同类型的客户端和服务器端以及运行其上的各种不同的操作系统和应用软件。现有的软件部署方法包括[2]:手工安装、无人值守 (Remote Install Service/Unattended) 的安装、基于镜像的安装 (Ghost, Image X, Power Quest) 、软件部署工具。

国内外目前已经有许多软件部署系统, 它们对软件的分发和部署采用了不同的方法和策略。根据Slinger Jansen的研究, 可以将现有的软件部署系统分为三类[3]:包部署工具、通用产品部署工具、特定供应商产品部署器。

以上提到的三种软件部署系统, 它们共同的不足是:现有软件部署系统在软件部署之前不能有效地检测软件部署过程中存在的约束和依赖问题, 或者只能部分检测存在的约束和依赖问题。这很可能造成软件部署过程中发生冲突, 而且冲突发生之后不能自动解决约束和依赖, 还需要人工参与。现有的软件部署系统不能自动解决冲突的原因有以下两个方面:

(1) 软件部署过程中, 只对部署目标的情况进行获取, 但是在软件部署中, 没有考虑部署软件之间的约束和依赖问题, 因此造成软件部署冲突。

(2) 软件部署过程中, 只对部署软件之间的依赖关系进行相应的描述, 但是在软件部署之前, 没有结合部署目标的情况检测约束和依赖问题, 只是在软件部署到部署目标之后才检测约束和依赖问题, 因此造成软件部署冲突。

鉴于现有的软件部署工具存在的各种问题, 提出了基于规范化描述的软件智能部署。基于规范化描述的软件智能部署是在使用规范化软件描述语言来描述软件部署约束和组件之间的版本依赖关系的基础上, 结合部署目标的软硬件环境, 在软件部署之前, 检测部署过程中可能存在的冲突, 根据冲突自动对软件部署过程进行匹配和调整, 在管理员最少干预的情况下, 自动的、智能的软件部署。

1 软件部署及部署冲突的基本概念

1.1 软件智能部署模型

软件智能部署模型包括部署服务器和部署目标两个部分, 涉及信息有部署目标硬件信息、部署目标软件信息、软件安装包、部署软件信息、部署算法、软件安装序列, 如图1所示。

部署目标需要进行软件部署的计算机。

部署服务器为部署目标提供软件部署服务的计算机。

部署目标的硬件信息包括部署目标的CPU、内存、硬盘、主板、网卡等硬件信息。

部署目标的软件信息包括操作系统的信息和安装软件信息, 如软件名称、版本号、制造商名称等, 还包括软件运行情况信息。

部署软件信息对软件安装包的规范化描述, 需要支持软件部署整个过程, 描述内容包括软件基本信息和与软件部署相关的信息。

软件安装序列软件安装包以及对部署目标相应的操作命令构成软件安装序列。

软件部署模型的工作流程首先, 收集部署目标的软硬件信息, 对部署目标的软硬件信息进行规范化描述;其次, 对软件安装包进行规范化描述生成部署软件信息;再次, 部署软件算法根据部署要求, 生成软件安装序列;最后, 部署服务器发送软件安装序列给部署目标, 部署目标安装并配置软件。

1.2 软件智能部署的规范化描述

要进行软件智能部署, 必须结合部署软件的信息和部署目标的信息, 对部署软件和部署目标进行规范化描述。部署软件的规范化描述是通过软件描述语言来描述的, 部署目标的规范化描述是通过对部署客户端节点的硬件和软件信息进行模型化描述来实现的。

软件描述模型需要支持软件部署整个过程, 所以在软件描述模型中需要描述的内容为[5]:软件的基本信息;组件信息;部署约束, 包括软件约束和硬件约束两种;软件依赖;部署活动, 分为部署前的活动和部署后的活动两种。

在这里我们采用能够最大程度上支持软件部署的软件描述语言:可部署软件描述DSD (Deployable Software Description) 。DSD描述了几乎是软件部署任务中必需的软件系统的基本语义元素。DSD的描述不是对部署的软件系统的目录式的静态描述, 而是通过模式解释和操作来动态的选择软件系统的配置。DSD描述具有高度的可扩张性, 在最简单的情况下, 模式需要描述一个软件系统的配置:一个版本和变量。在最复杂的情况下, 一个软件系统模式可以描述整个软件系列:所有的版本和变量。

在进行软件智能部署中, 除了需要对部署软件进行规范化的建模描述之外, 还需要对部署目标的硬件和软件信息进行规范化的描述。对于部署软件, 我们采用了软件描述语言进行规范化的描述, 而对于部署目标的规范化描述与部署软件不同。部署软件在一经规范化描述之后是不会实时变化的, 而部署目标的硬件和软件的信息是实时变化的, 所以这里我们把部署目标的信息抽象为一个MO (Managed Object) 对象[6], 这个对象包括了三个部分的内容:部署客户端的硬件信息、部署客户端的软件信息、部署的配置信息。对象类图如图2所示。

1.3 软件智能部署冲突定义

根据冲突性质的不同, 可以把冲突分为约束冲突和依赖冲突。

部署约束是指在部署时必须满足的条件, 分为软件约束和硬件约束两种。软件约束如操作系统 (类型, 版本) 、浏览器等。硬件约束如处理器类型、处理器速度、磁盘空间、内存大小、屏幕大小等。

部署依赖是指如果部署软件的正常使用需要依赖于其它软件, 那么这两个软件就构成了依赖关系。具有依赖关系的软件必须要在其依赖的软件被部署以后才能够开始部署。以下将形式化定义部署依赖和部署过程。

定义1 (部署依赖) 一个软件部署依赖是一个二元组 (s1, s2) , 其中s1是被依赖软件的名称, s2是依赖s1的软件的名称, 并且s1≠s2。

定义2 (部署) 一次软件部署D是一个三元组 (S, T, R) , 其中S是部署软件的集合, T是部署目标上已存在的软件集合, R是部署依赖集合, 其中R是反自反的, {s2| (s1, s2) ∈R}S, 并且

我们用s1→s2代表部署D中的软件s2依赖s1。软件s2依赖s1存在两种情况:软件s2直接依赖s1或者软件s2间接依赖s1, 所以s1→s2可以定义如下:

2 软件智能部署的冲突检测及其自动调整

根据冲突性质的不同, 可以把冲突分为约束冲突和依赖冲突。下面将分别介绍:

2.1 软件智能部署约束冲突检测

通过软件描述中约束信息和部署目标MO对象中的信息进行匹配检查来判断是否存在约束冲突。约束冲突检测的流程如下:

a) 获取部署目标MO对象

b) 获取软件安装序列以及对应的软件描述

c) 对部署目标MO对象和软件安装序列进行运算, 计算出执行软件安装序列之后部署目标的预期状态Predicted State, 这里预期状态Predicted State结构与MO对象结构相同

d) 判断部署目标的预期状态Predicted State是否存在的软硬件约束。

2.2 软件智能部署依赖冲突检测

软件智能部署依赖冲突检测分为以下两个部分, 这里给出相应的检查方法。

(1) 依赖条件检查问题

对于一次软件部署, 如果部署所依赖的软件存在于部署软件集合或部署目标中, 则称这一次部署是完整的。

如果部署D= (S, T, R) 满足以下条件, 则D是完整的。

(2) 软件循环依赖问题

部署的依赖完整性只能保证此次部署所依赖的软件都存在, 但部署的软件之间还可能存在循环依赖的情况, 这就需要对部署有另外的要求。在软件部署过程中, 若部署软件之间存在循环依赖关系, 则无法正常部署。

如果部署D= (S, T, R) 满足以下条件, 则D中不存在循环依赖。

如果一个部署D同时满足式 (1) 和式 (2) 两个条件, 则称D是良定义的。

循环依赖的检查算法可以归结为有向图中是否存在环路的判定算法[7], 其中用节点表示部署软件, 有向边表示部署依赖关系。算法的基本过程如下:

a) 在有向图中选择所有没有前驱的顶点 (即入度为0) ;

b) 从有向图中删除这些顶点以及与这些顶点相关的边;

c) 重复上述两步, 直到所有顶点已删除或当前图中不存在无前驱的顶点;

d) 如果当前图中仍然存在未被删除的顶点和边, 则图中存在环路, 反之, 则不存在环路。

2.3 软件智能部署约束冲突调整

约束冲突根据冲突严重程度, 可以分为严重约束冲突和一般性约束冲突。严重约束冲突分为两种类型的冲突:

(1) 硬件约束冲突部署软件与部署目标的硬件存在冲突, 如部署目标的内存和硬盘不能满足部署软件的要求。对于硬件约束冲突, 我们无法通过约束冲突调整来解决冲突, 部署软件不能在部署目标上安装。

(2) 操作约束冲突部署软件与部署目标的操作系统存在冲突, 如部署目标的操作系统不能满足部署软件的要求。对于操作约束冲突, 我们无法通过约束冲突调整来解决冲突, 部署软件不能在部署目标上安装。

一般性约束冲突即应用软件约束冲突, 是指部署软件与部署目标上的软件存在冲突。对于应用软件约束冲突可以通过调整和匹配来解决冲突, 应用软件冲突调整分为以下三种:

(1) 部署目标安装相同软件低版本的情况, 部署软件不能正确进行安装。解决方法是在软件安装序列的对应位置增加软件卸载命令, 先对部署目标软件进行卸载, 之后再安装部署软件。

(2) 部署目标已经安装相同软件高版本的情况, 无需部署该软件。解决方法是在软件安装序列的对应位置删除部署软件。

(3) 部署软件安装需要在相应的软件关闭的情况下进行, 否则安装部署软件就不能正确进行安装。解决方法是根据部署的策略, 直接关闭相应的软件或者提示用户关闭相应的软件。

2.4 软件智能部署依赖冲突调整

依赖冲突的调整分为以下两个部分:

(1) 根据依赖冲突加入依赖软件

部署软件需要依赖于其它软件, 如果部署D= (S, T, R) 不是完整的, 则部署依赖的软件没有在软件安装序列或部署目标中存在, 就需要在软件部署服务器的构件库 (Component Repository) 中查找依赖的软件, 需要查找的依赖软件集合如下:

这是一个持续的过程, 如果找到了依赖的软件, 就把该软件及其依赖的软件都加入到部署D中, 直到D满足依赖完整条件;如果无法找到依赖的软件, 则不能解决该依赖冲突。

依赖软件的查找是通过匹配可部署软件描述DSD来实现的。可部署软件描述DSD的<Family>属性描述了一个软件序列, 通过<Family>属性找到对应的软件序列, 在软件序列中匹配查找对应版本的软件。

(2) 根据软件依赖关系调整生成软件安装序列

对于良定义的部署D= (S, T, R) , 说明部署D中不存在没有解决的软件依赖和循环依赖问题, 可以根据部署依赖关系生成相应的软件安装序列, 具体的生成过程如下, 其中I代表软件安装序列, Rs代表剩余依赖关系集合, Sr代表剩余部署软件集合, 序列中的每个元素是部署软件的集合:

b) Rp={s|s∈Sr∧ (s1, s2) ∈Rs·s2≠s}是当前依赖关系中不依赖其它部署软件的软件集合;

c) 把Rp加入到安装序列I中:I=I∧<Rp>, 其中∧表示安装序列的连接;

d) 把与Rp中节点相连的依赖关系从Rs中删除, Rs=Rs{ (s, s) | (s, s) ∈R∧s∈R}, S=SR;

e) 如果Rs和Sr都为空, 则生成过程结束, 否则回到b) 继续执行。

通过以上的过程就可以根据软件依赖关系生成无依赖冲突的软件安装序列。

3 软件智能部署算法

在介绍软件智能部署冲突检测及其自动调整的基础上, 我们将介绍能够根据环境差异自动调整软件部署过程的软件智能部署算法。该算法首先检测软件部署过程中是否存在的冲突, 根据冲突的不同自动调整软件部署过程, 最终生成无冲突的软件安装序列, 保证软件部署过程正确进行。软件智能部署算法的流程, 如图3所示。

(1) 根据系统管理员的输入, 通过Change Config Wizard函数, 生成软件安装序列。

(2) 部署目标客户端当前环境状态为MO_State, 它是部署目标的信息对象MO所描述的状态, 它包含了部署目标的硬件信息和软件信息。

Change Coordinator函数通过对部署目标当前的状态和软件安装序列进行运算, 计算出执行软件安装序列之后部署目标的预期状Predicted State。Change Coordinator函数采用模拟的方法, 把软件描述中信息作用到部署目标的状态MO_State类, 来计算部署目标的预期状态。

举例说明以上过程, 对mysql的软件描述如图4所示。其中描述了mysql的Size属性为150MB, 及软件安装需要150MB的硬盘空间。Change Coordinator函数根据该软件描述改变MO_State类中硬盘属性, 即在MO_State.Disk State.Partition.Size值的基础之上增加150MB, 修改之后的MO_State类作为客户端系统的预期状态Predicted State。

(3) 通过ANALYZER中Analyzer Strict Constraint Violations函数判断部署目标的预期状态是否存在严重冲突, 当存在严重冲突时, 说明软件安装序列无法在部署目标上进行安装。

If{Strict Constraint Violations}is not empty then exit;

举例说明以上过程, Analyzer Strict Constraint Violation函数检查Predicted State类的属性, 当发现Predicted State.Disk State.Partition.Free<=0时, 即硬盘空间不够, 部署目标的预期状态Predicted State存在严重冲突。

(4) 通过ANALYZER中Analyzer Constraint Violations函数判断部署目标的预期状态是否存在一般性冲突, 当不存在一般性冲突时, 说明软件安装序列能够在部署目标上正常安装。当存在一般性冲突时, 说明软件安装序列还需要进一步调整, 经过调整之后才能进行安装。MO_State为部署目标的当前状态, Constraint Violations为软件安装过程存在的冲突, Planner通过对MO_State和Constraint Violations分析, 重新安排软件安装序列, 生成一个新的软件安装序列Adjustive Actions, 通过Change Coordinator函数计算在新的软件安装序列之下部署目标的预期状态。再对部署目标的预期状态进行判断, 查看是否存在冲突。重复循环, 直到部署目标的预期状态不再存在冲突, 说明最后的软件序列能够保证软件的正常安装。

(5) 软件部署过程的调整由Planner来完成。Planner根据之前介绍的软件部署冲突调整方法对软件安装序列进行调整, 使得调整之后软件安装序列能够无冲突进行安装。

4 软件智能部署应用效果

在局域网内部, 以部署100台PC为例的客户端部署方案比较, 如表1所示。

在软件部署过程中, 手工部署所需部署时间的计算公式为[ (安装时间+手工配置时间) ×部署数量];人工干预的半自动部署所需部署时间的计算公式为[部署准备时间+手工配置时间×部署数量];软件智能部署所需部署时间的计算公式为[软件智能部署准备时间+自动部署时间]。通过以上部署时间计算公式可以得出以下结论, 在软件部署数量增加的情况下, 软件智能部署的部署时间变化幅度最小, 同时由于自动化的配置, 能够保证软件部署的质量。除此之外, 软件智能部署实现了客户端标准化, 能够灵活进行部署, 有效降低了系统维护的工作量。

综上所述, 在规模大、复杂度高的情况下, 软件智能部署具有其他两种部署方法无可比拟的优点。

5 结语

软件智能部署通过规范化建模描述部署软件的信息和部署目标的信息, 检测并自动调节软件部署过程中存在的冲突, 使得软件能够自动的、无冲突的在客户端上安装。通过该方法不仅提高了企业在提高运行管理的效率, 同时也有效地降低了企业信息管理运营成本。

软件智能部署还可以进行很多后续的功能扩张, 例如在部署过程中收集客户端的硬件和软件信息, 利用这些信息为企业资源管理提供有力的信息支持。

摘要:主要研究能够根据不同环境自动调整软件部署过程的软件智能部署问题。首先, 介绍并分析现有软件部署工具, 提出软件智能部署模型、软件智能部署的规范化描述。其次, 介绍并分析软件部署过程中冲突检测以及自动调整方法。在此基础上, 提出一种能够根据环境差异, 自动调整软件部署过程的软件智能部署算法。最后对比并分析软件智能部署实际应用效果。

关键词:软件智能部署系统,软件部署,软件描述,软件依赖

参考文献

[1]Markus Hillenbrand, Paul Miiller, Kristian Mihajloski.A software de-ployment service for autonomous computing environments[C]//Inter-national Conference on Intelligent Commerce-IAWTIC 2004.Austral-ia:University of Canberra, 2004.

[2]Vanish Talwar, Dejan Milojicic, Qinyi Wu, et al.Approaches forservice deployment[C]//IEEE Educational Activities DepartmentI, nIEEE Internet Computing, Piscataway, NJ, USA, 2005, 9:70-80.

[3]Sameer Ajmani.Automatic Software Upgrades for Distributed Systems.MIT, Technical Report MIT-LCS-TR-1012, 2004.

[4]Richard S Hall, Dennis Heimbigner, Alexander L Wolf.Specifying theDeployable Software Description Format in XML[R].Technical ReportCU-SERL-207-99, University of Colorado Software Engineering Re-search Laboratory, March 1999.

[5]Richard S Hall, Dennis Heimbigner, Alexander L Wolf.EvaluatingSoftware Deployment Languages and Schema[C]//14th IEEE Inter-naltional Conferenceon Software Maintenance (ICSM'98) , 1998:177.

[6]Naik V K, Mohindra A, Bantz D F.An Architecture for the Coordinationof System Management Services[J].IBM Systems Journal, 2004, 43 (1) :78-96.

软件调整 篇3

SW6软件计算塔基础风荷载时, 严格遵循国家标准和行业标准, 基本公式及计算方法遵循JB/T 4710-2005, 具体如下:每计算段的水平风力按下式计算:

顺风向水平风力:

P1=K1K21q0f1l1De1×10-6

P2=K1K22q0f2l2De2×10-6

Pi=K1K2iq0filiDei×10-6

K1——体型系数, 取K1=0.7

K21, K22, …K2i——塔式容器各计算段的风振系数, 当塔高≤20m时取K2i=1.7;

当塔高H>20m时:

undefined

式中:ξ——脉动增大系数;

vi——脉动影响系数;

ϕzi——振型系数。

注释:关于塔式容器基本振型自振周期的计算见JB/T 4710-2005第19~20页及附录B (资料性附录) 计算 (若直径、厚度或材料高度变化的塔式容器, 则按照多质点体系计算;若直径、厚度相等的塔式容器, 则按照单质点计算模型计算) 。

q0——基本风压值。各地区基本风压值见GB50009中有关规定, 但均不应小于300N/m2。

f1, f2, …, fi——风压高度变化系数, 高度取各计算段顶截面的高度。风压高度变化系数见JB/T 4710-2005, 24页, 表8-3;

l1, l2, …, li——第i段计算长度, mm。

De1, De2, …, Dei——塔式容器各计算段的有效直径, mm。

当笼式扶梯与塔顶管线布置成180°时, 各计算段有效直径按下式计算:

Dei=Doi+2δsi+K3+K4+d0+2δps

当笼式扶梯与塔顶管线成90°时, 各计算段有效直径取下列式中较大者:

Dei=Doi+2δsi+K3+K4;

Dei=Doi+2δsi+K4+d0+2δps

式中:Doi——第i段塔式容器外直径, mm;

δsi——圆筒或锥壳保温层或防火层厚度, mm;

K3——笼式扶梯的当量宽度, 当无确切数据时可取K3=400mm;

K4——操作平台的当量宽度, mm;

d0——塔顶管线外直径, mm;

δps——管线保温层厚度, mm。

2 SCAD软件计算塔基础风荷载的计算方法及其解释

SCAD软件计算塔基础风荷载时, 严格遵循国家标准和行业标准, 基本公式及计算方法遵循SH/T3030-2009, 塔形设备沿高度作用的风荷载标准值, 应按下式计算:

qwk=βzμsμz (1+μe) (D0+2δ2) W0;

P=qwk×l

式中:qwk——塔形设备沿高度作用的风荷载标准值, kN/m;

l——塔体计算长度, m。

μs——塔形设备风荷载体型系数。独立塔形设备的风荷载体型系数取0.6, 对于多塔排列的塔形设备的风荷载体型系数, 按GB50009的有关规定计算;

βz——高度z处的风振系数。

注释:关于塔式容器基本振型自振周期的计算见SH/T3030-2009附录A:

μz——高度z处风压高度变化系数;

μe——塔形设备风荷载扩大系数;

D0——塔型设备外径, 对变截面塔, 可根据具体部位尺寸计算, m;

δ2——塔型设备保温层厚度, m;

W0——基本风压, kN/m2。

3 工程实例计算及结果对比

某正丁烷产品塔, 塔自身质量17400kg, 保温结构质量4060kg, 平台梯子质量8890kg, 充水质量28840kg, 操作介质质量2640kg, 塔外径1220mm, 塔保温外径1320mm, 塔全高31285mm。基本风压0.45kN/m2。罐内操作介质密度546kg/m3, 液面高度2m, 塔体壁厚10mm。SCAD中体型系数取0.6, SW6中体型系数取0.7.差值百分率的计算方法为undefined, 其余参数按规范取值, 见表1。

小结:由以上数据可以看出, 造成计算结果的差异性主要有以下3点:1) 塔式容器的自振周期T1不同从而造成脉动增大系数ξ不同, 因此影响风振动系数;2) 有效直径不同;3) 体型系数不同。

将介质密度, 介质高度和圆筒的有效壁厚加以变化, 体型系数均取为0.7, 其他参数不变。

当罐内操作介质溶质密度变化时, 见表2、3。

罐内介质液面高度变化时, 见表4、5。

当塔体壁厚变化时, 见表6、7。

差值百分率分析见表8。

4 SW6软件和SCAD软件结果偏差分析

从SW6软件计算塔基础风荷载的计算方法和SCAD软件计算塔基础风荷载的计算方法的公式的分析和比较我们可以得到造成结果偏差的原因基于以下几点:

1) 结构的自振周期的算法不同, 从而造成脉动增大系数ξ不同, 在用SW6软件计算塔式容器基本自振周期时, 首先按照直径、厚度或材料沿高度变化是否相等而区分为多质点体系和单质点体系两套计算模型, 而SCAD软件只假设为单质点计算模型计算。其次, SW6软件计算T1时相关参数较多, 与塔式容器的操作质量、质点距地面的高度、塔式容器的高度、设计温度下材料的弹性模量、圆筒或锥壳的有效厚度及截面的惯性矩这些参数有关。而SCAD软件计算T1时, 仅仅与从基础底板顶面至设备顶面总高度h与塔型设备外径D0这两项数据有关, 因此SCAD软件计算塔式容器基本自振周期T1的时候, 采取近似估值计算, 精确度低于SW6软件计算出的塔式容器基本振型的自振周期。所以用SW6计算出的塔式容器基本自振周期更接近于实际情况, 模拟的相关参数及数据更符合实际, 相关的误差相对SCAD的算法较小, 所以具有更高的准确性。

2) 塔式容器的有效直径算法不同。由于SCAD软件计算塔式容器的有效直径的时候, , 也是采用近似估计计算, 将塔形设备的外径与2倍保温层厚度的总和乘以 (1+μe) 进行放大, (其中μe为塔形设备风荷载扩大系数, 可查表) , 此表只是由塔形设备内径和高度并根据平台类型和和梯子种类进行分类查表, 数据的产生是一种经验分析的方法, 是具有普遍通用性的近似估计值的数据。因此精度同样低于SW6软件计算出的塔式容器的有效直径。SW6软件计算出的有效直径, 是针对不同的塔式容器个体具体问题具体分析得出的数据, 它考虑了笼式扶梯、操作平台与附塔管线的迎风面的宽度, 并且当笼式扶梯与塔顶管线布置角度不同时, 迎风面的宽度也不相同 (详见本文关于SW6软件中计算塔式容器有效直径的说明) 。

因此SW6软件在计算塔式容器的有效直径时更接近于实际情况, 相关的误差相对SCAD的算法较小, 所以同样具有更高的准确性。

3) 体型系数的差异性。由于在SW6软件计算中, 体型系数统一取为K1=0.7, 而在SCAD软件计算中, 独立塔形设备的风荷载体型系数取0.6, 对于多塔排列的塔形设备的风荷载体型系数, 按GB50009的有关规定计算。

5 SW6软件和SCAD软件结果偏差调整意见

基于以上3点原因的分析提出建议性的解决方案, 在SCAD软件计算独立塔基础时, 在数据选项下拉菜单, 第2项垂直及水平荷载的数据中, 应按照SW6软件计算出的风荷载水平力及由风荷载引起的基底弯矩, 调整基本风压, 使SCAD软件计算出的风荷载水平力及由风荷载引起的基底弯矩的最终结果和SW6软件算出的最终结果相近。从而减小误差。

6 调整后结果对比

通过SCAD计算程序多次调试基本风压数据, 最后将基本风压值修改为0.6kN/m2, 修改后结果见表9。

结论:最终调整后的工程误差在5%之内, 满足要求。

7 结语

本文简要分析了由SW6软件和SCAD软件在计算塔基础时风荷载数据的偏差引起的原因以及调整的方法, 以方便设计人员提高计算精确度, 在日后的设计工作中得出较为准确的计算数据。

摘要:在用SCAD计算塔基础过程中, 发现设备专业设计人员用SW6软件计算出的塔基础风荷载的结果与土建专业设计人员用SCAD软件计算出的塔基础风荷载的结果存在着偏差, 有时候结果相差甚至比较悬殊, 为此, 对风荷载结果的偏差进行分析和研究, 找出结果偏差的原因并提出建议性的解决方案, 从而增强结果的准确性。

关键词:SCAD软件,SW6软件,结果偏差分析,偏差调整意见

参考文献

[1]SH/T3030-2009, 石油化工塔形设备基础设计规范[S].

[2]JB/T4710-2005, 钢制塔式容器[S].

软件调整 篇4

日本软件行业离岸外包现状

负责日本软件行业的信息收集、整理、发布,及其相关行业政策建议的独立行政法人日本信息处理推进机构(Information-Technology Promotion Agency, Japan,以下简称IPA)近期公布了日本离岸外包市场的相关调查。该调查主要从离岸外包开发的实施状况、外包人才的状况和日本软件外包开发今后的发展方向、外包开发所产生的影响等方面进行了调查。IPA的调查结果显示,自2002年以来,日本离岸外包的交易额便不断增加,2008年度的实际交易额为958亿日元,与前一年相比增加了34%。但是,从整个庞大的日本信息服务市场(16兆8千亿日元)来看,离岸外包所占的比例甚小,仅占日本信息服务市场的0.57%。2002年以来,中国一直是日本离岸外包中交易额最多的国家,年平均增长速度约为30%左右,2008年的交易额占日本整体交易额的60%。

与前一年度的调查相比,对中国的离岸外包交易额增长了18.5%,对印度的交易额增长了46%,对菲律宾的交易额增长了175%,对越南的交易额则增长了193%。日本的离岸外包承接国的具体情况如表1所示。

从调查结果来看,日本IT企业开展离岸外包的主要目的是“削减开发成本”和“弥补国内人才的不足”,但与前一年度(2007年)相比,日本IT企业对“应对经济全球化”和“海外市场的开拓”的意识有所提高。同时,针对不同的国家的发包重点有所不同,比如对中国、印度、越南、菲律宾实施离岸外包的主要目的“削减开发成本”和“弥补日本国内的人才不足”,但是对韩国的“削减开发成本”的比例没有中国、印度那么大,对印度、美国、加拿大进行离岸外包主要是目的是能够“利用国外的高技术”。具体情况如表2和表3所示。

根据国家的不同,日本IT企业发包的业务也有所不同。中国、印度、越南、菲律宾承接业务中的70%为编程、单体测试,60%(越南除外)为详细设计等下游业务,但是日本IT企业对印度的业务中,需求分析和技术研究开发等相对高端的业务的比例较高。

如果从“技术先进性”“交货时间”“质量水平”“成本”四个方面评价承包方的综合能力,则日本IT企业对中国的成本满意度最高,达到85%;在“质量水平”方面,对印度、韩国的评价都高出中国;在“交货时间”方面,日本IT企业对所有承接离岸外包业务的国家都比较满意(其中对越南的满意度比较低);在“技术先进性”水平方面,除越南、菲律宾之外,日本IT企业对其他国家的评价都比较高。

总体而言,日本IT企业对中国承接日本离岸外包的成本评价最高,对质量水平的满意度则相对来说比较低。

对日本利用离岸开发的管理能力的评价

2009年3月,隶属于日本电子情报技术产业协会,由富士通、日立、松下等知名企业组成的软件事业委员会根据日本离岸开发接包企业的意见,在《印度、越南离岸接包环境调查》中对比了日美欧发包企业的情况。该报告采用美国软件公司MindTree开发的软件外包成熟性模型(Outsourcing Engagement Maturity Model),将软件外包业务分为六个阶段,即接受国内人员派遣、接受国外人员派遣、合作开发、项目外包、工程伙伴(接包企业负责除需求分析的所有业务)和商业伙伴(接包企业从需求分析开始介入),该报告认为日本的大多数企业(最终用户)在实施软件外包时还停留在第一、二个阶段,而欧美的企业则进展到了第三、四个阶段。所以,表现在金额上,日本软件外包在信息服务产业中所占的比例很低,不足1%。

2006年,同软件委员会在《关于国内外企业软件外包的调查分析和建议》中,将软件的离岸外包分为四个阶段14项内容,比如将外包基本方针分为目的设定、外包业务选择分析、接包方选择;将企划与签约分为成本估算、合同内容、定义重点功能、开发指示书变更原则、各方的责任与义务、团队建设和沟通;将实施阶段分为进度管理、质量管理和风险管理;将效果评价定义为效果测定和差异分析,其中每项指标分为五个等级。经过评估,日本企业利用离岸开发的平均能力为2.8,最弱项为“责任与义务”和“效果测定和差异分析”;最强项为“目的设定”和“进度管理”。美国的平均能力为3.5,最弱项为“进度管理”和“外包业务选择分析”,最强项为“风险管理”和“效果测定和差异分析”。

从总体来看,日本企业(包括直接向海外发包的最终客户、为最终客户提供发包咨询的中介机构等)的软件发包管理能力相对于欧美企业而言,仍有一定的差距。

另一方面,针对来自日本的软件外包业务,中国和印度的接包企业认为存在的主要问题包括:(1)开发指示说明书完成度低,而且开发途中变更比较频繁;(2)对完工需要的工时预测准确度低,而且往往实际需要工时大大超过当初的预测,因此,加班想象严重;(3)交货时间短;(4)不但对完成品、而且对半成品的质量要求很高;(5)缺乏长期合作的意向,正式签约前的考察时间过长。对于上述各种现象,《印度、越南离岸接包环境调查》认为部分原因在于日本的商业习惯(因此难于改正),部分原因则在于日本软件行业的封闭性和落后性,比如,开发指示书完成度低和工时预测准确度低完全源自于大型企业信息管理能力的弱化和行业标准化程度的低下。

神岗太郎等在其《日本信息系统开发模式与中国的离岸外包》中,从三个方面分析了软件开发指示书简单化和模糊化的存在原因,即:(1)软将需求企业关联知识不足。在这种情况,这些企业既没有能力独自进行需求分析和系统设计,也没有能力评价一级承包商(通常是大型软件企业)提供的翔实细致的软件开发指示书等相关技术文件;软件需求企业过分强调软件与企业业务和企业文化的融合性,因此,标准化程度较低,认为增加了软件开发指示书的工作量和模糊化倾向;(2)大型软件企业认为将软件开发指示书等技术文件写得具体详细的意义不大。因为软件需求企业会在开发过程中不断变革要求以期满足企业的特点,而且它们缺少评价相关技术文件的能力;大型软件企业本身的业务能力弱化;纳期的缩短和单价的降低使大型软件企业不愿意付出过多的时间和精力撰写软件开发指示书等相关技术文件;(3)处于弱势地位的中小企业虽然深受影响,但是由于其谈判能力弱而不得不接受这种事实。

国外的接包企业同样处于弱势地位,因此也不得不接受这种事实。这种现状又不断强化上述现象的发生,形成了恶性循环。

日本软件行业的标准化和可视化潮流

为了更好地预测日本软件外包的发展趋势,以便积极制定我国的应对方案,我们有必要对日本软件(包括信息服务)行业的发展趋势有所了解。

从结果来看,日本对离岸开发管理能力的不足是日本信息服务和软件行业开发管理能力整体较弱的结果。日本软件产业的国际竞争能力较弱,主要表现在三个方面:其一,日本软件产业的输入远远大于输出,2003年前者约为后者的30倍;其二,在国内外软件市场上(OS、ERP、DBMS和中间件),日本除富士通的DBMS和中间件在国内市场占有12%的份额以外(数据来源于2007年《信息通讯白皮书》),几乎全被欧美企业所占有,这与日本作为全球第二大经济大国的地位不符;其三,日本IT企业的营业利润率低。比如2008年富士通、NEC和日立的软件事业部的营业利润率分别为6.9%、7.3%和6.7%,而美国HP、微软和谷歌公司软件事业部的营业利润率则分别为17.2%、32%和30.6%。

日本软件行业缺乏国际竞争力的事实由来已久。为了改变这种现状,早在2006年,隶属于日本经济产业省的产业构造审议会信息服务软件产业小组委员会在分析现状的基础上,向政府提交了《信息服务和软件产业的维新方略》的咨询报告,列举了强化日本信息服务和软件产业的三条措施,即:(1)形成透明度高、以价值创造为主的产业和市场结构;(2)提高软件产业的创新能力;(3)培养信息服务和软件产业需要的高科技人才。

其中,提高市场构造透明度的措施包括:(1)在合同中明确规定最终客户和软件服务提供商的权力与义务,特别要注明软件开发书变更时的相关费用补偿办法,政府和行业协会等相关部门负责编制合同范本并促进合同范本的普及;(2)明确规定上级承包方和下级承包方的权力与义务,特别要参照公平贸易委员会指定的《信息服务业承包法实用指南》的规定,防止中小软件企业处于不公平的竞争地位;(3)促进软件企业之间的公平竞争,防止大的软件企业垄断市场;(4)提高最终客户的发包能力,使其逐渐对软件的质量和相关业务能够做出合理的判断和评定。

提高信息服务的附加价值可视化的最终目的是逐步放弃目前流行的“人月”软件价值计价法(即软件的价值等于人月单价与工时的乘积,这种计价方式完全忽视了不同个体在软件开发能力的差异,不利用软件产品的创新),而是研究推广能够反映信息服务和被开发软件的实际价值的新式计价法。主要内容包括:(1)开发能够反映信息系统(包括软件质量)信赖性的定量化指标,具体措施包括制定推广《提高信息系统信赖性指南》,开发定量化指标,待条件成熟后由第三者对信息服务和软件开发企业的产品信赖性进行客观的评价;(2)针对人力资本直接决定信息服务质量和软件质量的特点,结合软件开发人员待遇低下的现状,开发能够反映从业人员能力水平高低的定量化指标,鼓励软件企业根据从业者的资格给予相应的待遇,具体措施包括制定推广《技能评价指南》,由政府部门和相关行业协会组织实施资格认定考试;(3)开发能够评价企业信息投资对生产力提高和内部风险控制所起作用大小的定量化指标,具体措施包括制定推广《IT投资价值评价指南》,待条件成熟后,由第三者对IT投资的价值进行客观的评价。

该咨询报告还对提高日本软件创新能力和培养信息服务和软件产业需要的高科技人才等问题提出了具体的建议。比如,在日本的软件开发中推广国际化标准、重点开发嵌入式软件,将软件与日本的制造优势结合起来,等等。

2006年的《信息服务和软件产业的维新方略》公布以后,日本政府相关部门按照维新方略提出的建议,做了大量的工作,以求提高日本信息服务和软件产业的透明化和竞争力,具体工作包括:公布《信息服务和软件开发合同范本2007年版和2008年版》(以提高信息系统(包括软件质量)信赖性和增加行业结构的透明度为目的)、《发包者指南2009年版》和《首席信息官行动指南20条》(以提高最终客户的发包能力为目的)、《IT项目的可视化:上流工程、中流工程和下流工程》(以提高软件开发过程的透明化和标准化为目的)、由日本信息处理推进机构组织实施《信息处理技术者资格考试》(以提高从业人员专业能力的评价客观化和可视化为目的),等等。

中国开展软件服务外包的对策

我国开展软件服务外包的基本方针是“保持日韩优势、开拓美欧市场”。然而在现实中,我国软件外包的发展趋势存在两种可能性:其一为在保持成本优势的同时,强化质量管理,并积极向高端(设计、需求分析)挺进,真正实现保持并扩大日韩优势的战略目标;其二为在成本和质量管理上不敌越南和菲律宾,在开发速度和技术先进性上不敌美欧,其结果是不但无法开拓美欧市场,而且失去了在日韩市场上的优势。

那么,如何使我国软件外包的发展趋势向第一种可能性发展呢?我们认为问题的关键在于知己知彼,而且知彼的重要性胜于知己。从上文的讨论中可知,日本政府为了提高本国信息服务和软件产业的国际竞争力,将重点放到了推进产业结构和价值创造的透明化、标准化和国际化方面,力求以此解决困扰日本信息服务和软件产业的多重转包、开发说明书完成度低、软件价值评定方法单一、软件开发过程管理水平差和行业盈利性低的现状。尽管这个转变过程需要时间,但是转变的方向或趋势是明显的。显然,如果中国的软件服务外包行业能够适应日本的这种变化,甚至能够帮助客户完成这种转变,则进一步合作的可能性会大大增加。

为了适应日本可视化和标准化的潮流,我国软件服务外包业的不同利益主体应该联合起来,各自发挥自己的作用。具体而言,首先,组建具有一定权威性的全国性行业协会非常必要,其主要工作为调查、分析和公布我国、主要发包国及主要竞争国的软件外包(接包)情况。比如,组织翻译日本信息处理推进机构的相关资料,实时了解该国在信息服务和软件行业的现状和发展趋势,并对我国政府和软件接包企业提出有针对性的建议,这对在宏观上保证实现软件服务外包的基本方针是非常必要的。

其次,针对我国接包企业规模普遍较小,接包能力有限的现状,同一地区的接包企业可以联合起来组建接包联盟,统一对外,这样做既可以防止恶性的价格竞争;同时可以调剂软件企业的工作量,防止软件人才的浪费和不足。在这方面,大连的做法较好,即由政府和民间企业共同出资,在日本开设大连软件园东京分园,积极开展接单业务。

【软件调整】推荐阅读:

负荷调整07-16

目标调整07-19

定价调整07-19

机床调整05-12

学会调整05-22

调整改善05-23

调整管理05-26

调整结果05-26

运行调整06-09

计划调整06-13

上一篇:物流企业客户开发研究下一篇:视频会议网络