中国软件行业发展研究报告(2009资深版)
研究背景
研究方法
软件行业的界定和分类
1.行业定义、基本概念
2.行业基本特点
3.行业分类
第一章 软件行业国内外发展概述
一、软件行业国际发展总体概况
1.2005-2008年软件行业国际发展概况
2.主要国家和地区发展概况
3.软件行业国际发展趋势
二、中国软件行业发展概况
1.2005-2008年中国软件行业发展基本情况
2.中国软件行业发展中存在的问题
第二章 2009年中国软件行业发展环境分析
一、宏观经济环境
二、国际贸易环境
三、宏观政策环境
四、软件行业政策环境
五、软件行业技术环境
六、金融危机对软件行业发展环境的影响
第三章 软件行业市场分析
一、软件行业市场规模分析
1.2005-2008年软件行业市场规模及增速
2.软件行业市场饱和度
3.金融危机对软件行业市场规模的影响
4.2009-2012年软件行业市场规模及增速预测
二、软件行业市场结构分析
三、软件行业市场特点分析
1.软件行业所处生命周期
2.技术变革与行业革新对软件行业的影响
3.差异化分析
第四章 软件行业生产分析
一、软件行业生产总量分析
1.2005-2008年软件行业生产总量及增速
2.2005-2008年软件行业产能及增速
3.金融危机对软件行业生产的影响
4.2009-2012年软件行业生产总量及增速预测
二、子行业生产分析
三、细分区域生产分析
四、软件行业供需平衡分析
1.行业供需平衡现状
2.金融危机对软件行业供需平衡的影响
3.软件行业供需平衡趋势预测
第五章 软件行业竞争分析
一、软件行业集中度分析
二、软件行业竞争格局
三、软件行业竞争群组
四、软件行业竞争关键因素
1.价格
2.渠道
3.产品/服务质量
4.品牌
第六章 软件行业产品价格分析
一、价格特征分析
二、主要品牌企业产品价位
三、价格与成本的关系
四、行业价格策略分析
五、金融危机对软件行业产品价格的影响
第七章 软件行业用户分析
一、软件行业用户认知程度
二、软件行业用户关注因素
1.功能
2.质量
3.价格
4.外观
5.服务
三、用户的其它特性
第八章 软件行业替代品分析
一、替代品种类
二、替代品对软件行业的影响
三、替代品发展趋势
四、金融危机对软件行业替代品的影响
第九章 软件行业互补品分析
一、互补品种类
二、互补品对软件行业的影响
三、互补品发展趋势
四、金融危机对软件行业互补品的影响
第十章 软件行业主导驱动因素分析
一、国家政策导向
二、关联行业发展
三、行业技术发展
四、行业竞争状况
五、社会需求的变化
第十一章 软件下游行业分析
一、软件下游行业增长情况
二、软件下游行业区域分布情况
三、软件下游行业发展预测
四、金融危机对软件下游行业的影响
第十二章 软件行业渠道分析
一、渠道格局
二、渠道形式
三、渠道要素对比
四、各区域主要代理商情况
第十三章 中国软件行业盈利能力分析
一、2005-2008年行业销售毛利率
二、2005-2008年行业销售利润率
三、2005-2008年行业总资产利润率
四、2005-2008年行业净资产利润率
五、2005-2008年行业产值利税率
六、2009-2012年软件行业盈利能力分析预测
第十四章 中国软件行业成长性分析
一、2005-2008年行业销售收入增长分析
二、2005-2008年行业总资产增长分析
三、2005-2008年行业固定资产增长分析
四、2005-2008年行业净资产增长分析
五、2005-2008年行业利润增长分析
六、2009-2012年软件行业增长预测
第十五章 中国软件行业偿债能力分析
一、2005-2008年行业资产负债率分析
二、2005-2008年行业速动比率分析
三、2005-2008年行业流动比率分析
四、2005-2008年行业利息保障倍数分析
五、2009-2012年软件行业偿债能力预测
第十六章 中国软件行业营运能力分析
一、2005-2008年行业总资产周转率分析
二、2005-2008年行业净资产周转率分析
三、2005-2008年行业应收账款周转率分析
四、2005-2008年行业存货周转率分析
五、2009-2012年行业营运能力预测
第十七章 中国软件行业重点企业分析
一、行业前10家企业简介
二、行业前10家企业竞争力分析
三、行业前10家企业财务指标分析
第十八章 软件行业重点子行业分析
一、子行业发展现状
二、子行业发展特征分析
三、子行业发展趋势分析
四、金融危机对软件行业子行业的影响
第十九章 软件行业细分区域分析
一、华东地区
1.发展现状
2.发展特征
3.发展趋势分析
二、华南地区
1.发展现状
2.发展特征
3.发展趋势分析
三、东北地区
1.发展现状
2.发展特征
3.发展趋势分析
四、华北地区
1.发展现状
2.发展特征
3.发展趋势分析
五、华中地区
1.发展现状
2.发展特征
3.发展趋势分析
六、西部地区
1.发展现状
2.发展特征
3.发展趋势分析
第二十章 软件行业进出口现状与趋势分析
一、出口分析
1.出口量及增长情况
2.软件行业海外市场分布情况
3.经营海外市场的主要品牌
4.金融危机对软件行业出口的影响
二、进口分析
1.进口量及增长情况
2.软件行业进口产品主要品牌
3.金融危机对软件行业进口的影响
第二十一章 软件行业风险分析
一、软件行业环境风险分析
1.国际经济环境风险
2.汇率风险
3.宏观经济风险
4.宏观经济政策风险
5.区域经济变化风险
二、软件行业产业链上下游风险分析
1.上游行业风险
2.下游行业风险
3.其他关联行业风险
三、软件行业政策风险分析
1.产业政策风险
2.贸易政策风险
3.环保政策风险
4.区域经济政策风险
5.其他政策风险
四、软件行业市场风险分析
1.市场供需风险
2.价格风险
3.竞争风险
五、软件行业其他风险分析
第二十二章 有关建议
一、软件企业营销策略
1.价格策略
2.渠道建设与管理策略
3.促销策略
4.服务策略
5.品牌策略
二、软件企业投资策略
1.子行业投资策略
2.区域投资策略
3.产业链投资策略
三、软件企业应对金融危机策略建议
1.战略建议
2.财务策略建议
主要图表
图表:2005-2008年软件行业市场规模及增长速度
图表:2009-2012年软件行业市场规模及增长速度预测
图表:2005-2008年软件行业重点企业市场份额
图表:2008年软件行业区域结构
图表:2008年软件行业渠道结构
图表:2005-2008年软件行业需求总量
图表:2009-2012年软件行业需求总量预测
图表:2005-2008年软件行业需求集中度
图表:2005-2008年软件行业需求增长速度
图表:2005-2008年软件行业市场饱和度
图表:2005-2008年软件行业供给总量
图表:2005-2008年软件行业供给增长速度
图表:2009-2012年软件行业供给量预测
图表:2005-2008年软件行业供给集中度
图表:2005-2008年软件行业销售量
图表:2005-2008年软件行业库存量
图表:2008年软件行业企业区域分布
图表:2008年软件行业销售渠道分布
图表:2008年软件行业主要代理商分布
图表:2005-2008年软件行业产品价格走势
图表:2009-2012年软件行业产品价格趋势
图表:2005-2008年软件行业利润及增长速度
图表:2005-2008年软件行业销售毛利率
图表:2005-2008年软件行业销售利润率
图表:2005-2008年软件行业总资产利润率
图表:2005-2008年软件行业净资产利润率
图表:2005-2008年软件行业产值利税率
图表:2005-2008年软件行业总资产增长率
图表:2005-2008年软件行业净资产增长率
图表:2005-2008年软件行业资产负债率
图表:2005-2008年软件行业速动比率
图表:2005-2008年软件行业流动比率
图表:2005-2008年软件行业总资产周转率
图表:2005-2008年软件行业应收账款周转率
图表:2005-2008年软件行业存货周转率
图表:2005-2008年软件产品出口量以及出口额
图表:2005-2008年软件行业出口地区分布
图表:2005-2008年软件行业进口量及进口额
图表:2005-2008年软件行业进口区域分布
图表:2005-2008年软件行业对外依存度
图表:2008-2009年软件行业投资项目数量
图表:2008-2009年软件行业投资项目列表
图表:2008-2009年软件行业投资需求关系
想问一下,从事软件测试工作的,平均年龄分布在多少岁?
现在比较普遍的测试工程师的年龄在22到32岁左右,因为国内的软件测试行业的发展是从2008年左右开始,主要是由于两个方面的原因,第一 当时对软件质量虽然有所意识,但是还是需要依靠程序员自身能力去保证的,还没有考虑到用专门的人员去完成,第二就是技术的不成熟,08年之前的很多测试技术还没有完全引入国内,造成技术上的不可实现。而那个时间段开始的发展也造成了测试行业年龄分布是从22到32这样的一个分布状况。
简述中国大陆主导产业的分布
全国产业分布
1.ICT产业制造业集群点评
ICT制造业包括除家用视听设备以外的通信设备、计算机及其他电子设备制造业。珠江三角洲、长江三角洲、环渤海湾地区和以四川、陕西为主的西部地区是我国电子信息产业最为发达的地区,也是电子信息产业集群的主要聚集地。这些地区的集群都具有关联企业集中、生产规模大和配套能力强的特点。典型的产业集群有天津的移动通信产业集群、上海的计算机及配件产业集群等。其中,规模最大、发展最快的珠江三角洲高新技术产业集群区,利用本地的要素禀赋和历史文化优势,积极地引进外部资源,发展外向型经济,具有鲜明的外部嵌入型产业集群的特点,该地区实际利用外资规模和比重与产品出口所占比重都长期大于全国其他地区。而部分中西部地区电子信息产业则主要以军工电子产业为主,具有自主研发、自成体系的特点,属于内生发展型的产业集群。
2.传媒业集群点评
传媒业包括新闻出版业、广播电视电影及音像业。我国的传媒业集群都分布在经济文化发展程度比较高的省会大城市。根据其发展特点分为:一是信息中心型。北京、上海、广州,这三座城市是中国经济文化发展的前沿城市,各地海量的信息都聚集于此。因此,吸引了大批传媒企业进驻。二是历史传统型。沈阳、杭州、武汉、南京、西安,这几座城
市都是具有悠久文化传统的历史名城,是传统与时尚激烈碰撞的汇聚点。三是电视影视中心型。随着近几年来影视、电视剧市场的繁荣,长春、无锡等这几座城市以影视公司和影视基地为依托,形成了影视产业集群。
3.纺织服装及毛皮制造业集群点评
纺织服装及毛皮制造产业包含了国民经济行业分类中的纺织业、服装制造业、皮革羽毛绒制品业。
我国的纺织服装及毛皮制造产业集群绝大部分分布在东部沿海地区,主要是浙江、江苏、福建、广东、山东五省,其他零星分布在中部和东北部。特别是长江三角洲环太湖区、杭嘉湖地区、宁波、温州,以及珠江三角洲地区,以个别县、镇或村为范围,集中某种产品的社会化生产形成纺织服装企业集群。
现在纺织服装行业的发展重心已经从上海、青岛、天津等大城市的传统基地转移到如星星之火般出现在广大小城镇、农村的产业集群。其主要原因:一是纺织服装产业是劳动密集型产业,农村广大的劳动力,加之东部沿海这些城市经济开放程度较高,有着现代化的产业技术与专业服务,使得劳动力、资本、专业技术能够有效组合,大大降低了生产开支成本;二是东部沿海优越的区位优势,使得原材料和产成品能方便的运输,还能大量的出口;三是当地政府提供了土地、工商管理、引导服务等支持政策,促进了集群地产业链的完善与升级。
皮革羽毛绒制品行业属于产业资源和劳动密集型产业。其集群主要分布在东南沿海,中部的河北、河南,西部的重庆、宁夏。
4.非金属制造业集群点评
非金属矿物制品业在国民经济行业分类中主要包含非金属建筑材料业、陶瓷及其制品业、玻璃及其制品业。
非金属矿物制品产业集群属于资源禀赋型,虽然在全国范围内分布比较广泛,但是也有一定的特点:一是东部沿海地区非金属矿物制品产业集群集中度最高,特别是山东、浙江、福建和广东。其形成原因主要是受当地工商业传统的影响,形成专业化分工,劳动力密集的专业镇、专业村;当地开放活跃的经济环境和政府宽松的产业政策,促使产业集群的快速发展和迅速集中。二是中部地区集中在河北、山西、内蒙古、河南、湖南、湖北和四川境内。从城市分布构成来看,也集中靠近材料消费需求较大的城市。尽管这些区域资源丰富,但是集群发展缓慢。有以下原因:缺乏当地政府的政策扶持和市场指导;当地配套产业发展滞后,难以形成专业化分工,更难以进行技术创新。
由于建材、陶瓷、玻璃产业集群对资源的依赖较强,因此有从东部转向中西部的趋势,但是需要中西部城市要不断完善自己城市配套设施的建设,建立起活跃有序的市场环境,吸引资金和相关产业的进入,快速提升非金属矿物制品产业集群的竞争力。
5.机械制造业集群点评
机械制造业包括通用设备制造业、专业设备制造业、电气及器材制造业(除家电制造业)和仪器仪表及文化办公用机械制造业。
我国机械制造业分布广泛,主要有以下特点:一是东北、山西、湖南、湖北这类重工业基础雄厚的地区有国家重点投资建设的大中型国有企业,在大中型企业周围聚集了一批
产业配套的企业。如今问题是这类政府主导型集群核心企业组织结构复杂,产品没有竞争力,导致整个集群发展缓慢。二是东部沿海城市经济开放程度较高,在改革开放初期,以优惠的政策吸引了一批港台企业,并刺激了当地民营机械企业的发展,由于当地各种配套产业发展也较快,因此机械制造产业链还延伸到商业、维修服务业、运输业和公路建筑等诸多行业,其集群层次也较高,正处于集群发展的高端。但是,沿海城市重工业基础普遍薄弱,加之竞争激烈,劳动力成本也不再具优势,因此我国机械制造产业集群正有向中部和东北地区转移的趋势。
6.家电制造业集群点评
各类家用电器制造业,包括家用电力器具、照明器具、家用视听设备的产业集群。 我国家电产业集群主要分布在珠江三角洲、长江三角洲和胶东半岛,其中以广东、浙江、山东几省最为明显。除此之外,在中西部的部分地区也有零星分布。这些地区的家电行业中不仅有着较大的生产规模,而且集中了大量的相关企业,业已形成了较为完整的产业链。改革开放初期,广东、福建、浙江等省抓住机遇,以优惠政策、丰富而廉价的劳动力和土地资源,吸引外资,引进技术,在发展“三来一补”经济的基础上形成了家电产业集群。而胶东半岛的产业集群形成则属于内源型品牌企业带动型。在政府的适当引导下,以具有竞争优势的大企业为核心,建立了一批相关行业企业,进而促进了配套产业的发展,最终形成能在竞争中不断创新和升级的产业集群。与此类似的还有西部绵阳地区的以长虹集团为核心的家电产业集群。
7.交通运输设备制造业集群点评
交通运输设备制造业包括国民经济行业分类中的铁路运输设备制造、汽车制造、摩托车自行车制造、船舶制造、航空航天器制造。
铁路机车制造产业集群属于轮轴式的产业集群,是依靠大型企业配套形成的产业集群。其分布地也是重工业较发达的东北和中西部城市,依托当地在国内电力机车、城市轨道交通设备制造领域有先进研制能力的骨干企业,吸引聚集了大量的相关配套企业,已逐步形成“众星拱月”之势。
摩托车及自行车产业集群集中分布在东南沿海的江苏、浙江、广东、西部的重庆。其集群主要是建立在农村、乡镇工业基础上。
我国的船舶制造产业集群主要分布在环渤海湾、长江三角洲、珠三角地区,由于这些地区沿海的优势并且有一定的工业基础。
航空航天制造产业集群属于高技术产业集群,其分布集中在科技研究能力较强的沈阳、成都、西安等。
我国的汽车产业集群分布在五大区域:长江三角洲、珠三角地区、东北地区、津京地区和华中地区。长江三角洲区以上海为龙头,无论是整车还是零部件公司,均数量多、实力强,整车产量、零部件产值、成本控制、新产品推出、吸引外资各方面均在国内汽车产业集群中遥遥领先。珠三角经济相对发达,地处沿海,改革开放早,市场发育程度高,市场化意识强,引进了本田、丰田、日产,形成了各自配套的整车制造产业链。津京地区,依靠北京巨大的消费市场和良好的投资环境,吸引了具有相当竞争力的国际跨国汽车公司,加上天津的港口优势,其集群优势相当明显。东北地区是国家最早发展汽车工业的地
区,汽车产品的上游产业重工业基础雄厚,其集群发展有一定空间。华中地区也是重工业基地,工业基础较好,围绕东风雪铁龙公司,汽车零部件等上游产业具有一定竞争力。
我国的交通运输设备制造产业集群刚呈雏形,有待于产品国产化率的不断提高,实现产业链的不断完善,促进集群的不断发展。
8.金属制品业集群点评
我国的金属制品产业集群集中于沿海地区的浙江、广东、江苏、山东,在河北、湖南也有零星分布。按照各集群的发展模式,把金属制品产业集群划分为:一是历史传统型。河北衡水市安平县丝网业已有500年的历史,最早可追溯到弘治元年,即公元1488年,可谓历史悠久,源远流长。这样的基地还有永康五金、水口龙头等。二是市场主导型。金属制品业属于劳动密集型产业,一些农民通过模仿与学习,以2~3人组成的家庭工厂就开始了产品的生产,形成了金属制品的专业镇、专业村,随着发展形成了上下游产品及各类配件齐全的产业集群,也带动了一批品牌企业的崛起。但是现在面临的问题是由于金属制品产业集群内生产企业数量大幅度攀升,造成产品生产的饱和现象,加上土地、原料的稀缺,必定造成集群内企业间的恶性竞争,从而会削减集群竞争力,最后导致集群的消亡。因此如何进行集群内部制度创新,已经成为金属制品产业集群的首要问题。
9.木材加工及家具制造业集群点评
木材加工及家具制造业包括国民经济行业分类中的木材加工及木、竹、藤、棕、草制品业和家具制造业。
我国的竹木加工产业集群集中于浙江、福建、广东三省,其他分散于中部的河北、湖北等。家具制造产业集群集中在广东、福建,其他分散在中部的河北、辽宁、浙江。其主要原因:一是改革开放以来我国房地产业和装修业的飞速成长激活了我国家具市场,东南沿海是我国开放程度比较高的地区,因此吸引了台湾、香港家具制造商和配套企业大量设厂。二是家具制造业需要相关的配套产业形成低成本的产业链。广东、福建有相当的纺织、木材加工、小五金制造业基础,并且有着当地活跃、成熟的销售市场为依托,使得该地的家具产业都已形成上百亿元产值,上中下游产业链衔接,产供销一条龙的产业集群形态。
10.软件及计算机服务业集群点评
我国的软件和计算机产业集群多依托于城市,主要分布在各省会城市和各省内的一些大型城市,其中北京、上海、深圳、南京、成都、济南等地的集群规模较大,发展较快。这种分布特点是与我国现阶段的国情相适应的。软件与计算机服务业属于高新技术行业,对于人才、技术和资本的要求都较高。大型城市拥有丰富的人力资源、众多的高等院校和研究机构,在知识储备和人才培养上有着不可比拟的优势。同时,大城市还有着良好的信息及其他相关产业的发展基础,便利的信息交流和融资条件,在地理人文环境方面也更胜一筹。除此之外,各地方政府的大力扶持和重视,以及国家信息产业的发展规划,也对产业集群的形成和发展有着重要的影响。
11.石化产业集群点评
我国石油加工及化学制品制造业分布广泛,东北地区依托本地丰富的石油资源和国家重点扶持的国有大中型企业,发展了以重化工业为基础的产业集群,其产业区产生于计划
经济体制下,集聚的政府规划特色明显。中部的山西和湖北利用本地煤炭资源,在科研院所、高新技术产业及开发区、企业技术研发中心等科技支撑体系下形成了煤化工产业集群。东部沿海的山东、江苏、浙江、广东地区开采海洋原油,以生产高附加值的精细化工和化纤的下游石化产品为主,形成了技术含量高、产业关联度高、产品链条长、带动能力强的石化产业链。西部的内蒙古、甘肃、宁夏、新疆,由于工业基础、科技能力薄弱,以单一、初级的石油天然气加工形成产业集群,下游产品较少。
12.食品饮料制造业集群点评
我国食品行业产业集群在全国范围内的分布较为广泛,东部沿海地区的辽宁、山东、江苏、广东、福建和中西部的内蒙古、河北、河南、两湖地区都有集群出现。从分布图上可以看出,食品行业的产业集群主要集中在重要的农业粮食产区或人口密集的大中型城市。这些地区由于位于或靠近我国重要的粮食产区,便于企业实行集中采购,有利于降低原料和运输成本;同时,位于人口密集地区大中型城市,既可以满足食品行业对劳动力的大量需求,又能接近消费市场,便于企业直接掌握市场的状况,快速地应对市场的变化。再者,利用大中城市较完善的物流条件,可以较好地解决食品行业对地区物流的依赖。
13.文教体育用品及工艺品制造业集群点评
文教体育用品及工艺品制造业包括文化用品制造、体育用品制造、乐器制造、玩具制造和工艺品制造。
我国的文教体育用品制造产业集群主要分布在东南沿海小城市,其原因:一是文教体育用品制造业属于劳动密集、低技术产业,东南沿海地区经济开放较早,农村、小城镇依靠当地的工商传统,发挥劳动力优势,形成了一定规模;二是东南沿海纺织、五金产业发达,为文教体育用品产品提供了上游的原料支持;三是东南沿海特有的交通区位优势,有利于产品的内销和出口。工艺美术品制造业属于我国的传统行业,以手工制造为主。其分布集中在传统手工艺较发达的浙江、福建、广东和湖北。
14.现代服务业集群点评
现代服务业指的是金融业、商务会展业、物流业。我国的现代金融业集群分布在北京、上海、深圳。金融是政策性很强的资本密集型行业,北京作为政治中心,在国家宏观经济决策中心的财政部、中国人民银行总行以及三大金融监管委员会周围聚集了一大批金融机构的总部,金融机构空间上的集聚,促使信息链的形成。上海作为中国经济中心积淀了深厚的经济基础,作为金融发展的开拓者,中国第一家证券交易所就落户上海,加上优越的投资环境吸引了大量外资金融机构的进驻,形成以陆家嘴为中心的金融产业集群。深圳是南中国经济发展最快的城市,其开放的经济政策,毗邻国际金融中心香港的区位优势,也迅速成为一个金融集群地。
我国的商务会展集群分布在经济文化基础较好的省会大城市。京津地区依靠北京政治中心的优势,上海、杭州依托长江三角洲地区雄厚的工业基础,广州、深圳毗邻港澳,经济开放程度较高,成都依靠中西部丰富的资源和文化渊源构成了我国商务会展的四大集群区。
15.冶金制造业集群点评
冶金制造业包括国民经济行业分类中的黑色金属及压延加工业和有色金属及压延加工业。
我国的冶金制造产业集群分布在以几大冶金基地为中心的区域范围内。京津唐地区地处煤、铁资源之间的交通枢纽,运输方便,又靠近巨大的消费市场,是以国有大型企业首钢带动起来的冶金产业集群。东北地区有丰富的煤、铁等资源和相对完整的材料产业门类,较强的工业配套能力,其冶金制造产业集群属于资源禀赋型和政府主导型的。但由于国有经济比重较高,历史包袱沉重,集群竞争力较低。长江三角洲地区拥有完整的产业链,雄厚的技术力量,以上海为中心的冶金产业集群带动了下游产业迅速的发展,同时也提升了集群的竞争力。中南地区、西南地区都是以政府牵头建立的大型国有冶金企业为中心的产业集群区。我国的冶金制造产业集群都属政府主导型,其内部组织结构繁杂、效率低下,如何提升集群竞争力成为当务之急。
16.医药制造业集群点评
医药制造业在国民经济行业分类中包含化学药品制造业、中成药制造业、生物生化药品制造业和卫生材料及医药用品制造业。
医药制造产业集群分布比较广泛,根据集群产生的特点分为:一是外商直接投资带动的外向型加工业集群。以天津、西安为代表。二是利用本地丰富的药材资源优势建立起来的医药产业集群。主要分布在中西部以中成药为主,东北地区中西医药结合,沿海东部地区的海洋药品。三是依托密集的国家高科技资源形成的高科技医药产业工业园。主要分布在科技基础雄厚,有众多科研机构和大学的大城市及省会城市。以上海市浦东医药工业园、北京海淀投资近2亿元建立的中关村生物医药园为代表。
17.造纸印刷业集群点评
造纸印刷业对应国民经济行业分类中的造纸及纸制品业、印刷业及记录媒介的复制。 我国造纸印刷工业形成珠江三角洲、长江三角洲和环渤海三大产业集群,并已成为广东、浙江、江苏、山东、福建的支柱产业。其他零星分布于中部的河北和西部的重庆。造成这种分布格局主要原因:一是造纸印刷业属于政府主导型产业,由于造纸能形成大量水源的污染,造纸印刷厂的建造需要当地政府的审批,而东部沿海地区处于我国河流下游,自然成了造纸印刷产业发展的最佳地点;二是东部沿海是经济开放程度比较高的地区,其良好的区位优势,宽松的政策吸引大量外资的进入,发展了一批骨干的合资造纸企业,带动了造纸印刷配套产业的发展,形成了一定的产业集群规模。
由于造纸印刷业属于高污染产业,其行业的特殊性规定了企业应具有相当规模和相对集中,但是现在面临的问题是原料的枯竭和水资源的紧张,因此产业集群内部如何做好技术升级改造,做好资源的生态循环利用,使造纸印刷产业集群的持续发展问题已迫在眉睫了。
18.专业化商品市场(10亿元规模以上)集群点评
我国上规模的专业化商品市场(包括工业品综合市场、农副食品市场、小商品市场)主要集中分布在环渤海湾、长江三角洲区域内,其他分散在东北、中部省会城市。
专业化商品交易市场主要是靠近商品特色产地和大规模的消费地,但是作为流通体系的一部分,其不仅需要有充满生机和活力的零售市场,还需要一个沟通内外、连接东西、四通八达的现代批发体系和分销通路。环渤海湾、长江三角洲区域正是我国商品消费最活跃的地区,并且有着便利的交通体系,代理制、拍卖、网上交易等新的交易方式已在部分市场试行,一些市场还向生产、加工、配送、连锁超市、进出口贸易等多元化经营以及横向兼并扩张联合发展,同时市场内水电、道路、仓储、运输、加工、包装、治安、消防、卫生、检测、结算、信息和生活服务等设施不断完善,商品集散、价格形成、信息发布、资金结算和综合服务等功能也在日益增强
我国软件业发展现状如何?
近年来,我国政府对软件产业的发展非常重视。国务院《关于鼓励软件产业和集成电路产业发展的若干政策》(国发[2000]18号文),对我国软件产业发展作出了全面的规划,有力地指导了软件产业的发展。为促进我国软件产业在知识经济时代实现跨越式发展,当前有必要进一步认清我国软件产业面临的严峻形势,把握国际软件共享运动带给我国的机遇,充分调动我国拥有的各种资源,提出兼具可行性和理想性的软件产业发展战略,走出一条既适合国情又能占领知识经济制高点的软件产业发展道路。
一、我国软件产业发展的形势
软件产业是信息产业的核心和灵魂,其已经成为世界各国在新一轮国际竞争中必争的焦点和战略制高点。为抢得发展先机,树立在全球软件产业链中的有利地位,无论是发达国家,还是发展中国家,都纷纷制定了立足本国国情的软件产业发展目标和发展战略,采取了一系列配套的政策措施,在实践中逐渐形成了适合本国特点的发展道路。例如,美国走的是“全面主导”的发展道路,占据全球软件产业链的最上游位置,以标准化的产品和服务规范和引导位于中下游的软件产业门类,瞄准国内市场和国际市场,赢得了巨额的产业利润。日本和韩国充分满足国内市场需求,走的是“国内优先”的发展道路,主要针对国内市场,出口在国内整个软件产业总额中所占的比重较少。以色列重点强调软件产业开发,充分发挥俄罗斯移民的智力资源,将全球领先的军用软件技术知识转化为民用,在数据、信息安全和无线通讯领域等软件细分市场取得了领先地位。爱尔兰利用其很低的企业所得税政策,吸引跨国公司在爱尔兰本土建立生产基地,逐渐成为软件跨国公司在欧洲的运营中心和软件集散地。印度规避了国内市场狭窄、信息化基础薄弱等方面的“先天不足”,大力发展软件外包服务和离岸开发业务,大型软件企业为跨国公司承包价值链高端产品和服务,中小型软件企业提供诸如解码、编程和测试等价值链低端服务,创造了比较庞大的软件出口额。
相比之下,我国目前还没有形成明确清晰的软件产业发展目标和发展战略,在扶持产业发展的政策措施方面还没有真正到位,发展环境还没有实现优化,再加上产业发展基础薄弱,国产软件的发展规模和速度还不能为国民经济提供足够的支撑,使得我国在软件产业发展方面,处在世界发达国家和周边发展中国家的“夹缝”之中,与世界先进水平的差距未见缩小,反而有日益扩大之势。长此以往,如果不从根本上加快软件产业的发展,我国将痛失占领国际竞争制高点的大好时机,形势的紧迫性和严峻性可想而知。
(一)在全球软件产业中的地位低微,与周边国家相比也存在较大差距
2000年,全球软件及服务业市场总收入为5960亿美元,其中,我国软件产业销售额为71.7亿美元,占全球软件产业总额的1.2%,相当于美国的1/40,日本的1/8,也低于爱尔兰的1.5%,印度的1.48%,韩国的1.39%(见表1)。
表1 中国在全球软件产业中的地位
(单位:亿美元)
中国 美国 日本 爱尔兰 印度 韩国 全球
1999年 53.2 2200 540 84 67.5 59 5274
所占份额 1.0% 42.0% 10.2% 1.6% 1.3% 1.1% 100%
2000年 71.7 2400 572 89 88.5 83.2 5960
所占份额 1.2% 40.2% 9.6% 1.5% 1.48% 1.39% 100%
资料来源:中国软件行业协会编:《2000年度中国软件产业研究报告》,2001年4月。
从总量以及所占比例来看,2000年,我国软件产业占全球市场的份额虽然与周边国家如印度、韩国所占的份额相差不多,比爱尔兰略低0.3个百分点,似乎差别不大,但是考虑到软件产品质量、软件开发的规范程度、软件出口或满足国内市场的程度等方面,我国与这些周边国家以及爱尔兰相比则存在很大差距。例如,单从出口来看,2000年我国软件出口约4亿美元,仅是印度的1/15。我国软件产业在全球市场中的地位以及与周边国家的差距,与我国作为21世纪最具潜力的发展中国家的地位很不相称。
(二)软件产业对国民经济发展的贡献较低,发展速度不能适应国家信息化的要求
2001年,我国软件产业总额占GDP的比重为0.78%,远低于发达国家6%的平均水平,也低于韩国的1.96%,印度的16.7%,与国家信息化对软件产业的需求还存在较大的差距。
1996~2001年,我国软件产业国内市场增长速度分别为46.8%、31%、26.4%、27%、33%、34%,年均增长率约为30%,虽然高于世界软件产业的平均增长速度,但比印度软件产业起飞时期低20个百分点,比爱尔兰低50个百分点,难以满足国家信息化建设对软件产业的要求。
(三)软件产业的发展空间巨大,但国产软件的市场份额十分有限
我国目前正在大力推行国民经济与社会信息化建设,这无疑为软件产业的发展提供了巨大的需求,软件产业的发展空间很大。但是,信息化的迅猛发展并没有形成对国产软件有效的需求,反而有助于跨国公司在我国的发展。如微软公司的在华业务,两年内增长了2.5倍,是微软公司在全球范围内最快的部分,而国产软件的市场占有率仅维持在30%左右的水平,这一方面是由于我国软件产业几乎全面处于全球软件产业链的中下游地位,在核心产品和关键技术的发展方面受制于人,在国内市场国际化的大环境中处于非常被动的局面。另一方面,目前的政府采购从尽量节约财政资金方面考虑得多,而在通过启动政府采购为国产软件创造市场空间方面考虑不够,未能给国产软件以有力的实质性扶持。
(四)缺乏核心产品和关键技术,核心竞争力薄弱
为了保障安全,有些国家如俄罗斯、白俄罗斯等在军事部门中完全使用自己独立研制的操作系统。但是,在我国,国外软件产品占据了2/3的国内市场,其中在系统软件方面几乎没有我国自主版权软件的立足之地,国产支撑软件只是凤毛麟角,应用软件同样面临剧烈竞争。缺乏基础和核心技术以及具有自主知识产权的软件产品,自主创新能力弱,不仅使得大量利润流入外国企业,严重影响我国软件产业的积累和再循环能力,而且还严重威胁着我国的信息安全。一个国家的信息产业在别国提供的核心技术的基础上发展起来,长此以往,对于国家利益、国防安全都是非常危险的。
(五)产业发展基础薄弱,无力与跨国公司抗衡
据CCID(信息产业部电子信息产业发展研究院)统计,至2000年底,我国从事软件开发、研制、销售、维护和服务的软件企业有3,000家左右,加上兼营软件的企业,总数大约有5,000家。
我国软件产业规模结构的特点是以中、小企业为主,50人以下的企业占55%左右,50~200人的企业占42%左右,1,000人以上的仅有中软总公司、东大软件、用友软件、北大方正等十几家公司。2000年,我国软件产业人均产值平均不到15万元人民币,而微软每年人均产值高达62万美元,这表明我国软件企业的劳动生产率处于较低水平,市场竞争力不强。
人才总量不足,结构不合理是导致产业发展基础薄弱的重要因素。目前,我国软件技术人员约有19万人左右,此外,还有30万人在从事计算机应用、科研与教育工作。但是,我国软件技术人员中绝大多数是从事程序开发、技术支持和服务的人员,软件产业发展所急需的系统分析师、架构设计师、高级工程师、项目经理和技术工人的数量非常匮乏,无法满足软件产业发展对各层次人才的需求。在典型的知识型产业中缺乏急需的专业知识型人才,再加上“一低两高”(劳动生产率低,人力成本高,开发成本高)的现状,发展速度之慢也就不足为怪了。
(六)国家软件产业政策在落实中还存在诸多问题
国务院《关于鼓励软件产业和集成电路产业发展的若干政策》在促进我国软件产业发展方面发挥了很大的作用,但是,我们也应当看到,将近两年的时间过去了,该文件规定的政策并没有完全得到落实,同时还有一些问题在落实过程中逐渐暴露出来。
例如,在投融资方面,该文件规定的由国家扶持的软件产业风险投资公司和投资基金至今尚未组建。由于软件企业固定资产少、无形资产比重大,缺少可供抵押或质押的资产,很难争取到银行贷款。在软件企业上市方面,国家各部门制订的政策法规相互矛盾,现行的政策法规阻碍了软件企业的上市融资之路。同时,由于软件企业的规模较小,前期研发投入过大,而且研发费用很难转化为固定资产,与传统制造业的盈利模式有所不同,同时发行股票的规模也无法放大,因而,在目前实行股票发行核准制的情况下,证券公司在推荐软件企业发行股票方面积极性不高,软件企业上市存在实际的困难。另外,国务院18号文件中关于软件企业在资产评估中无形资产占净资产的比例,以及软件企业境外上市融资等规定缺少实施细则。在税收优惠政策方面,现有的软件产业政策是从软件产品销售收入比例和自产软件产品销售收入比例等方面来界定软件企业,而将软件服务业、软件产业孵化器、软件企业的分支机构以及国产软件的代理和分销商排除在外,实际上使软件产业链条上各环节、各要素处于不平等的地位,导致有些环节发展滞后,成为整个软件产业发展的“掣肘”。
关于软件采购方面,目前政府采购主要是从提高财政资金使用效率的目的设计,对通过政府采购为国产软件发展创造市场空间的政策目标考虑不够,缺乏指导政府采购的标准规范和产品、服务目录。
关于知识产权保护方面,目前版权法的执行仍未取得预期效果。据美国SIIA(软件与工业信息协会)的调查报告显示,越南和中国是世界上盗版率最高的两个国家,1994年两国的盗版率分别为100%和97%。随着政府对知识产权的重视,近几年两国的盗版率已有所下降,但依然保持在98%和91%左右。据统计,1999年,中国软件业因盗版而损失的金额高达6亿多美元。盗版率居高不下,不仅严重制约了国内软件企业的发展,损害国家形象,也严重影响了跨国公司和风险投资进入中国的积极性。
二、我国软件产业发展面临的机遇
我国软件产业处于软件发达国家和周边发展中国家的“夹缝”之中,在发展过程中存在许多亟待解决的问题,但是这并不意味着我国在软件产业这个国际竞争的前沿领域将无所作为。20世纪90年代末期,印度在相对贫瘠的国内经济基础上实现了软件产业的腾飞,在高科技产业和知识经济的核心领域取得了令人瞩目的发展。印度在不具有明显优势的情况下尚且实现了软件产业的跳跃式发展,而我国呢?拥有印度无法比拟的国民经济信息化程度、信息产业规模、国内市场潜力以及综合经济实力,这无疑增强了我国在发展软件产业方面的决心和信心。
考察软件产业在美国、日本、韩国、印度、以色列、爱尔兰等国家成功的发展道路,我们可以发现软件产业具有与一般制造业不同的规律。很多以资金密集型为特征的制造业,如机电、汽车等,在世界各国之间的转移基本上呈现“发达国家→次发达国家→发展中国家→”的规律。但是,软件产业完全有可能同时在发达国家、次发达国家、发展中国家发展起来。这主要是因为推动软件产业和传统制造业成功的关键资源不一样,传统制造业的关键成功资源是资金,而软件产业的关键成功资源是知识型的人力资源。所以,发展中国家完全有可能利用丰富的人力资源优势,再加上政府推动和政策支持,与发达国家在这个领域一争高下。
同时,以Linux为代表的开放源代码运动的兴起以及网络计算机(NC)的推广,为软件产业跨越式发展提供了难得的机遇。Linux是一种将源代码完全开放的UNIX类操作系统,由于它的开放性和技术的先进性,并宣布遵循自由软件联盟(CNU)的GPL协议,赢得了一批富有市场经验的软件开发厂商的支持,从而使Linux能快速传播和发展,开始对微软造成直接威胁。目前Linux在全球已有约1,000万用户,在因特网服务器上所用的操作系统(OS)上已居首位,占有率达28%。IDC(国际数据公司)预计,五年后Linux将跃居全球操作系统市场的第二位。
以Linux为代表的源程序公开软件,给现有的软件产业体系带来了巨大冲击,其必将影响世界软件产业的发展。例如:开放源码可能成为软件发展的重要模式;以网络为核心的开放式的崭新开发模式逐渐形成;改变软件产业的“游戏规则”。
随着网络技术的应用和发展,NC(网络计算机)已成为计算机发展的重要方向之一,特别适合中国国情,具备大力推广的条件。目前NC已从单一的瘦客户机扩展到便携、移动、无线的网络访问终端,其用户群的规模正在迅速扩大,推广NC的条件已逐渐成熟。NC对CPU的性能要求不高,我们可以大力推动基于Linux的CPU芯片的开发,努力形成具有中国特色的CPU设计产业。
另外,软件已成为各行各业企业管理、产品设计、生产过程控制的核心,是技术创新、商业竞争的有力工具。软件行业也不再仅局限于计算机行业之内,而已渗透和分布在其他行业之中,软件的产品形态呈多样化。嵌入式软件市场正在升温,一种是面向消费者的市场,如移动电话、手持设备和信息家电;另一种是面向工业应用的市场,如工业自动化设备和智能化仪器。这是一个相当分散的市场,由于嵌入式软件往往在专用微处理芯片上运行,因而不易形成统一的独占性市场。
因此,我国要改变在全球软件产业链中的地位,尤其是改变在系统软件市场中的被动局面,存在很多难得的机遇。重要的是我国要抓紧时间,不能再沉湎于于事无补的过多的争论。目前,最紧迫的事情是,尽快确定我国软件产业的发展战略,充分调动发挥我国拥有的优势,制定切实可行的政策措施。唯其如此,我国软件产才能在较短时间内得到跨越式发展,达到国务院18号文件中规定的目标,跻身于世界软件大国之林。
三、我国软件产业的发展道路
前面我们考察了美国、日本、韩国、印度、以色列和爱尔兰等国的软件产业发展道路,现在回过头来,看一看我国软件产业今后应该走什么样的发展道路?一个明显的结论是,我国绝对不可能照搬别国的模式。我们自有我们的国情,自有我们独特的优势资源,因而,在发展软件产业的道路选择问题上,我们要走出具有自己特色的发展道路。
(一)国家行为和企业行为互动
这里的“国家行为”并不仅仅是指国家要制定合理的软件产业扶持政策,主要是指要通过国家投入、组织和引导来推动软件产业的发展。我们在前面已经说过,我国的信息产业基本上是建立在美国提供的核心技术的平台上,这对一个国家来说是非常危险的。因而,发展具有自主知识产权的软件核心产品和关键技术,使之产业化,并为之提供市场空间,这是我国在国家层面上必须要做的事情,我们不能把发展软件核心产品和关键技术的希望寄托在软件企业的身上。这是因为,第一,发展具有自主版权的软件核心产品和关键技术,不像软件服务业那样,单靠优秀的人才资源就可以做得很好。操作系统和支撑软件等系统软件产品,可以说是一个典型的资金密集型和人才密集型的行业门类,只有国家才能集中大量的资金资源和人才资源,以国家为主导,统一组织和协调,才能有可能取得成功,指望单个的企业或企业之间的联盟就可以解决软件的核心问题是不现实的。第二,目前我国软件企业普遍规模较小,资金不雄厚,根本无力解决发展系统软件所需要的庞大资金和面对巨大风险,同时,资本的逐利性也不可能要求软件企业主动站在国家的角度上为国家“排忧解难”。第三,我国软件产业的发展形势逼人,只有动用国家的力量,集中国家的资源,像我国当年研制“两弹一星”那样,采取非常规的运作方式,迅速缩短我国软件产业在核心产品和关键技术方面与软件发达国家存在的差距,才能摆脱长期以来我国在国际软件产业链中的被动地位和尴尬局面。
当然,在发展软件产业方面要体现国家行为,并不意味着国家直接用行政手段来干预,而是以国家为主导,采取市场运作和商业化的形式,比较可行的操作办法是:国家投入巨资,以国家为主导,同时吸收社会各界包括软件企业、高等院校、科研机构、投资机构,甚至跨国公司的资金,直接组建实体,从事软件核心产品和关键技术的研制、开发、生产和销售,在该实体内容形成从研发到产业化的“一条龙”,解决我国目前存在的研发和产业化脱节的“痼疾”。
(二)软件产品和软件服务并重
有人认为,目前我国应侧重发展软件产品,提高我国在全球软件产业中的地位,而让软件服务业保持自然增长状态。又有人认为,目前我国软件产品与软件强国相比落后一大截,无法在短时间内超越,与其在系统软件领域内从事没有多少成功几率的拼搏,还不如侧重发展服务业,这既可以锻炼人才,又可以创造就业,还可以为将来侧重发展软件产品奠定基础,同时还顺应了目前出现的软件服务业领先的发展趋势。
笔者认为,上述两种观点均有失偏颇,没有全面地考察问题的实质。笔者之所以提出“软件产品和软件服务并重”的观点,是与“国家行为和企业行为互动”的看法一脉相承的。国家与企业在发展软件产业的道路上既有分工,又是互动的。国家可以运用国家的意志,集中投入,采取实体经营的形式,将来自国家和社会的优势资源整合在一起,集中攻克软件产业中的核心产品和关键技术,建立自己独立的产品体系。同时,国家在信息化建设中,给软件企业创造市场机会,推动软件服务业的成熟壮大。而企业呢?主要集中于软件服务领域,大力发展信息系统集成、ASP、信息系统运行与维护、数据中心与资源外包、数据加工与处理、软件测试、信息系统咨询与评估、信息系统工程监理、软件与信息系统管理人才工程化培训等业务,为软件产品的产业化和规模化应用提供高质量的服务,积累专门知识和软件人才。国家要通过政策引导,鼓励有条件的软件企业大力发展软件服务业,以此来提升企业素质。同时,鼓励有条件、有意愿的软件企业积极参与国际定制软件和服务市场,学习和掌握国家软件市场运行规则和业务流程,积极参加CMM认证,完善质量保障体系,促使软件企业进一步与国际接轨,提高国际化素质。
(三)重在开发国内市场
毫无疑问,我国软件产业的国内市场空间是非常巨大的。我国应当以电子政务、电子金融、企业信息化、社会保障为重点,大力开发和推广应用我国自主版权的软件核心产品和关键技术、行业应用软件、信息安全软件等产品,通过巨大的内需来拉动软件产业的快速发展。
电子政务涉及到信息技术的各种产品和技术,推动行业企业信息化和家庭信息化,所采用的技术和产品对社会具有广泛的示范性和引导性。由于我国电子政务具有的安全性、个性要求、本地化等特点,国产软件企业将在该领域具有较强的竞争力。现阶段急需解决的问题是尽快制订统一的电子政务标准规范,提出推荐政府采购的产品或服务目录,避免各级和各地政府部门在电子政务的实施方面“一哄而上”,各自为战,削弱电子政务对国产软件的拉动作用。
我国金融电子化发展迅速,截至2000年底,银行系统已拥有大中型计算机700多台套,小型机6,000多台套,PC及服务器50多万台,自动柜员机(ATM)近3万台,销售终端(POS)22万台,电子化营业网点覆盖率达到95%以上,金融电子化的硬件建设将带动金融领域应用软件的大发展。数字化电子货币、网上支付、安全认证等电子金融的功能将直接促进电子商务的发展。
目前,我国拥有15,000家大中型企业和1,100多万家小企业,这些企业提高管理水平的需求急迫,同时,对企业管理信息系统实施的需求将日益旺盛,企业信息化潜在市场规模日益庞大,同时,加入WTO也将要求我国企业按照国际规则开展商务活动,这必将加大对企业管理软件的需求。现在管理软件开发出来的有效用户只有中小企业总数的5%左右。企业信息化将直接带动ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等软件的发展。
(四)建立产业自主体系
大力发展具有自主知识产权的软件核心产品和关键技术,建立产业自主体系,需要从国家层面上来加以组织、协调和引导。目前,Linux在全球的兴起为我国逐步打破WINTEL体系,建立基于Linux的系统软件产业体系提供了难得的机遇。当前最重要的是建立我国软件产业自己的标准体系,占据全球软件产业链的最上端,最终发展成为可与美国抗衡的软件强国。
【参考文献】
[1] 中国软件行业协会编.2000年度中国软件产业研究报告[R].2001,(4).
[2] 抓住新机遇,迎接新挑战,全面推进我国信息产业的改革与发展——吴基传部长在全国信息产业工作会议上的报告[R].2002-01-28.
[3] 王文京谈软件产业和软件企业经营[DB/OL].新浪网站,2001-12-09.
[4] 中国电子信息产业发展研究院.软件业“十五”专项规划思路[DB/OL].www.ccidnet.com,2001-09-30.
软件行业里常说的 “架构”,究竟是什么东西
通常所说的MVC和MVVM都是软件架构,这只是软件开发的架构,这些都是一种抽象模式,是人为想象出来的一种开发规范,是软件开发中的一门艺术。
简介
定义
软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。
软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
目标
正如同软件本身有其要达到的目标一样,架构设计要达到的目标是什么呢?一般而言,软件架构设计要达到如下的目标:
可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。
安全性(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。
可伸缩性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。
可定制化(CuSTomizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。
可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
可维护性(MAIntainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。
客户体验(Customer Experience)。软件系统必须易于使用。
市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。
历史
编辑
早在1960年代,诸如E·W·戴克斯特拉就已经涉及软件架构这个概念了。自1990年代以来,部分由于在 Rational Software Corporation 和Microsoft内部的相关活动,软件架构这个概念开始越来越流行起来。
卡内基梅隆大学和加州大学埃尔文分校在这个领域作了很多研究。卡内基·梅隆大学的Mary Shaw和David Garlan于1996年写了一本叫做 Software Architecture perspective on an emerging DIscipline的书,提出了软件架构中的很多概念,例如软件组件、连接器、风格等等。加州大学埃尔文分校的软件研究院所做的工作则主要集中于架构风格、架构描述语言以及动态架构。
计算机软件的历史开始于五十年代,历史非常短暂,而相比之下建筑工程则从石器时代就开始了,人类在几千年的建筑设计实践中积累了大量的经验和教训。建筑设计基本上包含两点,一是建筑风格,二是建筑模式。独特的建筑风格和恰当选择的建筑模式,可以使得一个建筑独一无二。
软件与人类的关系是架构师必须面对的核心问题,也是自从软件进入历史舞台之后就出现的问题。与此类似地,自从有了建筑以来,建筑与人类的关系就一直是建筑设计师必须面对的核心问题。英国首相丘吉尔说,我们构造建筑物,然后建筑物构造我们(We shape our buildings, and afterwards our buildings shape us)。英国下议院的会议厅较狭窄,无法使所有的下议院议员面向同一个方向入座,而必须分成两侧入座。丘吉尔认为,议员们入座的时候自然会选择与自己政见相同的人同时入座,而这就是英国政党制的起源。Party这个词的原意就是"方"、"面"。政党起源的关键就是建筑物对人的影响。
在软件设计界曾经有很多人认为功能是最为重要的,形式必须服从功能。与此类似地,在建筑学界,现代主义建筑流派的开创人之一Louis Sullivan也认为形式应当服从于功能(FORMs follows function)。
几乎所有的软件设计理念都可以在浩如烟海的建筑学历史中找到更为遥远的历史回响。最为著名的,当然就是模式理论和XP理论。
相互关系
编辑
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。
是一般而言,软件系统的架构(ArchitECture)有两个要素:
它是一个软件系统从整体到部分的最高层次的划分。
一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(TASk-flow)。所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。
·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
在建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
种类
编辑
根据我们关注的角度不同,可以将架构分成三种:
逻辑架构
软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口,商业逻辑元件,等等。
比如下面就是笔者亲身经历过的一个软件系统的逻辑架构图
图2、一个逻辑架构的例子
从上面这张图中可以看出,此系统被划分成三个逻辑层次,即表象层次,商业层次和数据持久层次。每一个层次都含有多个逻辑元件。比如WEB服务器层次中有HTML服务元件、Session服务元件、安全服务元件、系统管理元件等。
物理架构
软件元件是怎样放到硬件上的。
比如下面这张物理架构图描述了一个分布于北京和上海的分布式系统的物理架构,图中所有的元件都是物理设备,包括网络分流器、代理服务器、WEB服务器、应用服务器、报表服务器、整合服务器、存储服务器、主机等等。
系统架构
系统的非功能性特征,如可扩展性、可靠性、强壮性、灵活性、性能等。
系统架构的设计要求架构师具备软件和硬件的功能和性能的过硬知识,这一工作无疑是架构设计工作中最为困难的工作。
此外,从每一个角度上看,都可以看到架构的两要素:元件划分和设计决定。
首先,一个软件系统中的元件首先是逻辑元件。这些逻辑元件如何放到硬件上,以及这些元件如何为整个系统的可扩展性、可靠性、强壮性、灵活性、性能等做出贡献,是非常重要的信息。
其次,进行软件设计需要做出的决定中,必然会包括逻辑结构、物理结构,以及它们如何影响到系统的所有非功能性特征。这些决定中会有很多是一旦作出,就很难更改的。
根据作者的经验,一个基于数据库的系统架构,有多少个数据表,就会有多少页的架构设计文档。比如一个中等的数据库应用系统通常含有一百个左右的数据表,这样的一个系统设计通常需要有一百页左右的架构设计文档。
视图
编辑
我们决定以多种构架视图来表示软件构架。每种构架视图针对于开发流程中的涉众(例如最终用户、设计人员、管理人员、系统工程师、维护人员等)所关注的特定方面。
构架视图显示了软件构架如何分解为构件,以及构件如何由连接器连接来产生有用的形式 [PW92],由此记录主要的结构设计决策。这些设计决策必须基于需求以及功能、补充和其他方面的约束。而这些决策又会在较低层次上为需求和将来的设计决策施加进一步的约束。
构架由许多不同的构架视图来表示,这些视图本质上是以图形方式来摘要说明“在构架方面具有重要意义”的模型元素。在 Rational Unified Process 中,您将从一个典型的视图集开始,该视图集称为“4+1 视图模型”[KRU95]。它包括:
用例视图:包括用例和场景,这些用例和场景包括在构架方面具有重要意义的行为、类或技术风险。它是用例模型的子集。
逻辑视图:包括最重要的设计类、从这些设计类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式。它还包括一些用例实现。它是设计模型的子集。
实施视图:包括实施模型及其从模块到包和层的组织形式的概览。 同时还描述了将逻辑视图中的包和类向实施视图中的包和模块分配的情况。它是实施模型的子集。
进程视图:包括所涉及任务(进程和线程)的描述,它们的交互和配置,以及将设计对象和类向任务的分配情况。只有在系统具有很高程度的并行时,才需要该视图。在 Rational Unified Process 中,它是设计模型的子集。
配置视图:包括对最典型的平台配置的各种物理节点的描述以及将任务(来自进程视图)向物理节点分配的情况。只有在分布式系统中才需要该视图。它是部署模型的一个子集。构架视图记录在软件构架文档中。
您可以构建其他视图来表达需要特别关注的不同方面:用户界面视图、安全视图、数据视图等等。对于简单系统,可以省略 4+1 视图模型中的一些视图。
重点
编辑
虽然以上视图可以表示系统的整体设计,但构架只同以下几个具体方面相关:
模型的结构,即组织模式,例如分层。基本元素,即关键用例、主类、常用机制等,它们与模型中的各元素相对。几个关键场景,它们表示了整个系统的主要控制流程。记录模块度、可选特征、产品线状况的服务。
构架视图在本质上是整体设计的抽象或简化,它们通过舍弃具体细节来突出重要的特征。在考虑以下方面时,这些特征非常重要。
系统演进,即进入下一个开发周期。在产品线环境下复用构架或构架的一部分。评估补充质量,例如性能、可用性、可移植性和安全性。向团队或分包商分配开发工作。决定是否包括市售构件。插入范围更广的系统。
形式
编辑
构架模式
构架模式是解决复杂构架问题的现成形式。构架框架或构架基础设施(中间件)是可以在其上构建某种构架的构件集。许多主要的构架困难应在框架或基础设施中进行解决,而且通常针对于特定的领域:命令和控制、MIS、控制系统等等。
模式示例
[BUS96] 根据构架模式最适用的系统的特征将其分类,其中一个类别处理更普遍的结构问题。下表显示了 [BUS96] 中所提供的类别和这些类别所包含的模式。
类别 模式结构 层管道和过滤器黑板分布式系统代理交互系统 模型-视图-控制器表示-抽象-控制自适应系统反射微核
在“软件构架简介”中,David Garlan 和 Mary Shaw 认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。”[GS93]
但构架不仅是结构;IEEE Working Group on Architecture 把其定义为“系统在其环境中的最高层概念”[IEEE98]。构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在 Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
为阐明其含义,下面将详述其中的两个;完整说明请参见。模式以下列广泛使用的形式来表示:
模式名环境问题影响,描述应考虑的不同问题方面解决方案基本原理结果环境示例模式名层
环境需要进行结构分解的大系统。
问题必须处理不同抽象层次的问题的系统。例如:硬件控制问题、常见服务问题和针对于不同领域的问题。最好不要编写垂直构件来处理所有抽象层次的问题。否则要在不同的构件中多次处理相同的问题(可能会不一致)。
影响
系统的某些部分应当是可替换的构件中的变化不应波动相似的责任应归为一组构件大小 -- 复杂构件可能要进行分解解决办法将系统分成构件组,并使构件组形成层叠结构。使上层只使用下层(决不使用上层)提供的服务。尽量不使用非紧邻下层提供的服务(不跳层使用服务,除非中间层只添加通过构件)。
示例:
1. 通用层
严格的分层构架规定设计元素(类、构件、包、子系统)只能使用下层提供的服务, 服务可以包括事件处理、错误处理、数据库访问等等。 相对于记录在底层的原始操作系统级调用,它包括更明显的机制。
2. 业务系统层
上图显示了另一个分层示例,其中有垂直特定应用层、水平层和基础设施层。注意:此处的目标是采用非常短的业务“烟囱”并实现各种应用程序间的通用性。 否则,就可能有多个人解决同一问题,从而导致潜在的分歧。
有关该模式的深入讨论,请参见指南:分层。
模式名黑板
环境没有解决问题的确定方法(算法)或方法不可行的领域。例如 AI 系统、语音识别和监视系统。
问题多个问题解决顾问(知识顾问)必须通过协作来解决他们无法单独解决的问题。各顾问的工作结果必须可以供所有其他顾问访问,使他们可以评估自己是否可以参与解决方案的查找并发布其工作结果。
影响
知识顾问参与解决问题的顺序不是确定的,这可能取决于问题解决策略
不同顾问的输入(结果或部分解决方案)可能有不同的表示方式
各顾问并不直接知道对方的存在,但可以评估对方发布的工作
解决办法多名知识顾问都可访问一个称为“黑板”的共享数据库。黑板提供监测和更新其内容的接口。控制模块/对象激活遵循某种策略的顾问。激活后,顾问查看黑板,以确定它是否能参与解决问题。如果顾问决定它可以参与,控制对象就可以允许顾问将其部分(或最终)解决方案放置于黑板上。
示例:
以上显示了使用 UML 建模的结构或静态视图。 它将成为参数化协作的一部分,然后会绑定到实参上对模式进行实例化。
构架风格软件构架(或仅是构架视图)可以具有名为构架风格的属性,该属性减少了可选的形式,并使构架具有一定程度的一致性。样式可以通过一组模式或通过选择特定构件或连接器作为基本构件来定义。对给定系统,某些样式可作为构架描述的一部分记录在构架风格指南(Rational Unified Process 中设计指南文档的一部分)中。样式在构架的可理解性与完整性方面起着主要的作用。
逻辑视图:类图、状态机和对象图。进程视图:类图与对象图(包括任务 - 进程与线程)。实施视图:构件图。部署视图:配置图。
设计
编辑
描述语言
为了讨论和分析软件构架,必须首先定义构架表示方式,即描述构架重要方面的方式。在 Rational Unified Process 中,软件构架文档记录有这种描述。
架构描述语言(ADL)用于描述软件的体系架构。已有多种架构描述语言,如Wright (由卡内基梅隆大学开发),Acme (由卡内基梅隆大学开发),C2 (由UCI开发), Darwin (由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。
视图
构架
构架视图的图形描述称为构架设计图。对于以上描述的各种视图,设计图由以下统一建模语言图组成 [UML99]:
逻辑视图:类图、状态图和对象图。
进程视图:类图与对象图(包括任务 - 进程与线程)。
实施视图:构件图。
部署视图:配置图。
用例视图:用例图描述用例、主角和普通设计类;顺序图描述设计对象及其协作关系。
流程
在 Rational Unified Process 中,构架主要是分析设计工作流程的结果。当项目再次进行此工作流程时,构架将在一次又一次迭代中不断演化、改进、精炼。由于每次迭代都包括集成和测试,所以在交付产品时,构架就相当强壮了。构架是精化阶段各次迭代的重点,构架的基线通常会在此阶段结束时确定。
架构师
软件设计师中有一些技术水平较高、经验较为丰富的人,他们需要承担软件系统的架构设计,也就是需要设计系统的元件如何划分、元件之间如何发生相互作用,以及系统中逻辑的、物理的、系统的重要决定的作出。
这样的人就是所谓的架构师(Architect)。在很多公司中,架构师不是一个专门的和正式的职务。通常在一个开发小组中,最有经验的程序员会负责一些架构方面的工作。在一个部门中,最有经验的项目经理会负责一些架构方面的工作。
但是,越来越多的公司体会到架构工作的重要性,并且在不同的组织层次上设置专门的架构师位置,由他们负责不同层次上的逻辑架构、物理架构、系统架构的设计、配置、维护等工作。
[1]
实践
编辑
实践中的理解
软件架构是对软件系统运行时元素的抽象,软件系统可能有很多层抽象,或由多重业务流程所组成,每层抽象或每个业务流程都有自己的软件架构。
软件架构是平衡的艺术。
转载请注明出处51数据库 » 软件行业分布情况 软件行业分析报告