论文摘要:软件是一种特殊的产品,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制。从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近40年来理论、方法和实践中的成果。最后结合Internet技术和平台的挑战,初步讨论了软件工程需要面对的新挑战。
论文关键词:软件危机;构件;体系结构;软件项目管理;中间件
1软件工程的出现
1.1软件危机
20世纪中期,计算机刚被从军用领域转向民用领域使用,那时编写程序的工作被视同为艺术家的创作。当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序。程序中充满了各种各样让人迷惑的技巧。这时的软件生产非常依赖于开发人员的聪明才智。
到了20世纪60年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机”。
为解决这个问题,1968年NATO会议上首次提出“软件工程”(SotfwraeEngineeirng)的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。其基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满用户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。
迄今为之,为了达到最初设定的目标,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题。但是,由于软件固有的复杂性、易变性和不可见性,软件开发周期长、代价高和质量低的问题依然存在。IEEE在2002年发表的报告指出,即使是IT产业最发达的美国,在2001年美国本土公司开发的软件产品中平均每1000行代码中有0.37个错误,对于美国之外的其他国家,这个比例更高。
1.2软件与其他产品的差异
软件是一种特殊的产品,人们通常看到的是它的载体,而真正具有意义的是载体上的计算机或信息。
软件既不同于通常的精神产品,也不同于常见的物质产品。作家的作品是一种精神产品,它没有使用价值却可以供人阅读欣赏。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码。
软件也与传统的工业产品不同。工业产品在设计好之后,主要的成本是原材料成本、生产过程的开销等,但生产任何软件的主要成本是设计、实现软件时的成本,以及软件投入使用后的维护成本,在生产线上制造软件的成本非常低。用户购买某种商品后,就拥有了该商品的所有权和使用权。可是用户买来的软件却只拥有它的有限“使用权”。工业产品会随着使用而磨损、报废,但软件在使用过程不会有任何磨损,在相同的硬件条件下用户1年前使用的软件和5年后使用该软件无任何差别。传统的工业产品在车间里生产,生产过程可见、可触摸,也容易衡量生产过程中的消耗和进展。可是软件的开发过程在人的大脑里,很难度量其进度。
所谓的“软件工程”就是要这种过程“可视化”、“定量化”,把看不见的思维活动变成看得见的“文档”或者其他看得见的东西。
2软件工程方法和技术
30多年来,软件工程的研究和实践取得了长足的进展,尽管目前离彻底解决“软件危机”还有相当的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很大的推动作用。从20世纪60年代以来,陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。
2.1技术的角度
主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的“途径”,即研究怎样完成从高层概念模型到低层概念模型的映射。
软件工程理论在实践中应用时重点放在软件复用上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发中避免重复劳动,它以已有的成果为基础,充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上。通过使用软件复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期中的许多重复劳动,提高软件开发的效率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质量。
实现软件复用的关键技术包括软件构件技术(softwarecomponenttechnology)、领域工程(domainen—gineering)、软件体系结构(softwarearchitecture)等。
软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。目前,构件的概念即包括源代码,也包括需求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他对开发活动有用的信息,这些信息都可以称为可复用软件构件。软件构件技术是支持软件复用的核心技术,其主要研究内容包括:如何有目的的进行构件生产和从已有系统中挖掘提取构件;构件的本质特征及构件间的关系是什么样的;如何描述构件;如何对构件进行分类、组织及检索等。
研究实践表明,由于某个特定领域需要的软件具有相似的需求,因此软件复用在特定领域内更容易获得成功,由此出现了领域工程。领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它涵盖了建立可复用软件构件的所有活动。包括美国卡内基•梅隆大学软件工程研究所(CMU/SEI)在内的许多研究机构已经提出了一些领域分析方法。
如果软件复用仅停留在代码阶段,开发人员得到的好处是有限的。软件体系结构技术使软件复用从代码复用发展到设计复用和过程复用。在建筑工程领域人们用体系结构表达建筑的整体结构,软件工程研究中引人体系结构这个术语,其核心内容是软件系统的结构,它包括如下一些实体:构件、构件之间的交互关系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针。
2.2工程管理的角度
参考其他成熟工程领域中的做法,软件工程也研究管理学理论在软件工程中的应用。软件项目管理方法抛弃了以前个人的作坊式开发方式,根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法的顺利实施。为了使软件项目能够按照预定的成本、进度、质量顺利完成,软件管理方法对成本、人员、进度、质量、风险、文档等进行分析管理和控制。进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,其开发风险也越小。软件项目管理已经是公认的软件开发企业的核心竞争力之一。
根据在前面提到的软件与其他产品的区别,软件项目管理具有一些与其他项目管理不同的特性软件项目管理中遵循着一些原则,例如:软件项目中需要平衡需求、资源、工期、质量这四个要素之间的关系;大规模的项目要拆分成几个小项目,从而减小项目的管理风险,并且使目标具体明确;依靠一套规范的过程来实时控制项目进度,并确保项目经理能够及时发现问题、解决问题,保证项目具有很高的可见度;针对不同项目的特点,制订不同的项目管理的方针政策;合理控制项目组的规模控制原则;有效的积累知识,做到人员的专业化培养。
目前在软件项目管理方面有国际标准化组织专门为软件行业定制的ISO9003标准,它给出了衡量软件质量的准则;美国卡内基•梅隆大学软件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)则提供了一整套较为完善的软件研发项目管理的方法。
3软件工程的新发展
20世纪末开始流行的Internet给人们提供了一种全球范围的信息基础设施,形成了一个资源丰富的计算平台,未来如何在Internet平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点。
Internet平台具有一些传统软件平台不具备的特征:分布性、节点的高度自治性、开放性、异构性、不可预测性、连接环境的多样性等。这对软件工程的发展提出了新的问题。软件工程需要新的理论、方法和技术和平台来应对这个问题。目前投入很大精力研究的中间件技术就是这方面的典型代表。
综上所述,Internet及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有可能建立一套适合于Internet开放、动态和多变环境的新型软件理论、方法和技术体系。从微观的角度来看,Internet的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破。
各种CAD/CAM软件的特点及现状分析
CAD 功能强大.注重2D.
Pro/E和MASTERCAM 注重实体.曲面功能弱
CAXA 同CAD.国产软件.实用性.操作性比AUTOCAD强.功能没AUTOCAD多
CIMATRON IT版 曲面功能强大.实体功能形同虚设
CIMATRON E版 曲面和实体功能同样强大,但对系统要求很高,建议配置:P4 3.2G 1G内存 256M显存
软件体系结构的应用现状
形成研究热点,仍处于非形式化水平
自20世纪90年代后期以来,软件体系结构的研究成为一个热点。广大软件工作者已经认识到软件体系结构研究的重大意义和它对软件系统设计开发的重要性,开展了很多研究和实践工作。
从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。软件构架师仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。
在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。难以被开发人员理解,更不能用来分析其一致性和完整性等特性。
当一个软件系统中的构件之间几乎以一种非形式化的方法描述时,系统的重用性也会受到影响,在设计一个系统结构过程中的努力很难移植到另一个系统中去。对系统构件和连接关系的结构化假设没有得到显式的、形式化的描述时,把这样的系统构件移植到另一个系统中去将是有风险的,甚至是不可能的。
软件体系结构的形式化方法研究
软件体系结构研究如果仅仅停留在非形式化的框图阶段,已经难以适应进一步发展的需要。为支持基于体系结构的开发,需要有形式化建模符号、体系结构说明的分析与开发工具。从软件体系结构研究的现状来看,在这一领域近来已经有不少进展,其中比较有代表性的是美国卡耐基梅隆大学(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系统。Wright是-种结构描述语言,该语言基于一种形式化的、抽象的系统模型,为描述和分析软件体系结构和结构化方法提供了一种实用的工具。Wright主要侧重于描述系统的软件构件和连接的结构、配置和方法。它使用显式的、独立的连接模型来作为交互的方式,这使得该系统可以用逻辑谓词符号系统,而不依赖特定的系统实例来描述系统的抽象行为。该系统还可以通过一组静态检查来判断系统结构规格说明的一致性和完整性。从这些特性的分析来说,Wright系统的确适用于对大型系统的描述和分析。
软件体系结构的建模研究
研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。在这5个模型中,最常用的是结构模型和动态模型。
(1)结构模型
这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。研究结构模型的核心是体系结构描述语言。(2)框架模型
框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
(3)动态模型
动态模型是对结构或框架模型的补充,研究系统的大颗粒的行为性质。例如,描述系统的重新配置或演化。动态可能指系统总体结构的配置、建立或拆除通信通道或计算的过程。这类系统常是激励型的。
(4)过程模型
过程模型研究构造系统的步骤和过程。因而结构是遵循某些过程脚本的结果。
(5)功能模型
该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看作是一种特殊的框架模型。
这5种模型各有所长,也许将5种模型有机地统一在一起,形成一个完整的模型来刻画软件体系结构更合适。例如,Kruchten在1995年提出了一个4+1的视角模型。4+1模型从5个不同的视角包括逻辑视角、过程视角、物理视角、开发视角和场景视角来描述软件体系结构。每一个视角只关心系统的一个侧面,5个视角结合在一起才能够反映系统的软件体系结构的全部内容。4+1模型如图1所示。
图1 4+1模型
发展基于体系结构的软件开发模型
软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系。目前,常见的软件开发模型大致可分为三种类型:
(1)以软件需求完全确定为前提的瀑布模型。
(2)在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如螺旋模型等。
(3)以形式化开发方法为基础的变换模型。
所有开发方法都是要解决需求与实现之间的差距。但是,这三种类型的软件开发模型都存在这样或那样的缺陷,不能很好地支持基于软件体系结构的开发过程。因此,研究人员在发展基于体系结构的软件开发模型方面做了一定的工作。例如,为了形象地表示体系结构的生命周期,北京邮电大学的周莹新博士建立了一个软件体系结构的生命周期模型,该模型如图2所示。图2 软件体系结构的生命周期模型
软件产品线体系结构的研究
软件体系结构的开发是大型软件系统开发的关键环节。体系结构在软件生产线的开发中具有至关重要的作用,在这种开发生产中,基于同一个软件体系结构,可以创建具有不同功能的多个系统。在软件产品族之间共享体系结构和一组可重用的构件,可以增加软件工程和降低开发和维护成本。
一个产品线代表着一组具有公共的系统需求集的软件系统,它们都是根据基本的用户需求对标准的产品线构架进行定制,将可重用构件与系统独有的部分集成而得到的。采用软件生产线式模式进行软件生产,将产生巨型编程企业。但目前生产的软件产品族大部分是处于同一领域的。
中国电子商务现状分析
电子商务作为现代服务业中的重要产业,有“朝阳产业、绿色产业”之称,具有“三高”、“三新”的特点。“三高”即高人力资本含量、高技术含量和高附加价值;“三新”是指新技术、新业态、新方式。人流、物流、资金流、信息流“四流合一”是对电子商务核心价值链的概括。电子商务产业具有市场全球化、交易连续化、成本低廉化、资源集约化等优势。 纵观全球电子商务市场,各地区发展并不平衡,呈现出美国、欧盟、亚洲“三足鼎立”的局面,美国是世界最早发展电子商务的国家,同时也是电子商务发展最为成熟的国家,一直引领全球电子商务的发展,是全球电子商务的成熟发达地区。欧盟电子商务的发展起步较美国晚,但发展速度快,成为全球电子商务较为领先的地区。亚洲作为电子商务发展的新秀,市场潜力较大,但是近年的发展速度和所占份额并不理想,是全球电子商务的持续发展地区。
全球B2B电子商务交易一直占据主导地位,2002年至今,呈现持续高速增长态势,2007年全球B2B交易额达到8.3万亿美元,预计在未来几年将保持40%以上的增长率,到2010年B2B交易额将达到26万亿美元,比2002年增长30多倍。
总体来看,全球电子商务发展呈高速增长态势。随着全球电子商务的发展,我国电子商务的发展动力持续增强。我国电子商务发展呈现典型的块状经济特征,东南沿海属于较为发达地区,北部和中部属于快速发展地区,西部则相对落后。
电子商务市场分析:中国电子商务市场前期延续了2007年电子商务持续高速增值的势头,后期则受全球金融危机和发展瓶颈影响,交易额增长放缓。但总体来说,中国电子商务市场的发展仍在稳步前行。2008年中国电子商务市场交易额达到24000亿元,同比增值达到41.2%,其中B2B市场仍是总交易额的构成主体,C2C基本维持现状,B2C将提速发展;2008年6月中国网上购物人数达到6329万人,网上支付人数达到5697万人,增长率分别为25%和22.5%。中国电子商务市场发展前景依旧乐观。
从电子商务的三种业务模式来看,B2B依然是电子商务市场的主旋律,B2B交易额占中国电子商务总体交易额的89.5%,达到21480亿元;而B2C交易额占整体交易额的7.4%,达到1776亿元;C2C交易额占3.1%,达到744亿元。整体业务格局的最大变化在于B2C市场份额进一步扩大。电子商务市场分析三种业务模式所处的细分市场,B2B市场中阿里巴巴仍占据市场霸主地位,*和网盛旗下的中国化工网、生意宝增长迅速,垂直B2B平台体现了巨大发展动力。
电子商务市场分析:1、 政府加强引导性投资的注入解决资金不足问题
2008年政府加强了在电子商务领域的引导性投资,用以改善中国电子商务市场的投资环境,政府通过将投资收益返还社会投资人、支持社会投资回购政府所持股份等政策,将大量资金引入电子商务的发展。2008年底,依托“十一五”国家科技支撑计划重点项目“现代服务业服务交互支撑平台”构建的“正佳网”在广州正式开业,充分说明国家对电子商务发展的扶持力度已经达到一个新的高度,市场发展的资金问题逐步得到缓解。
电子商务市场分析:2、 政府主导物流电子商务服务平台的整合与构建
与企业主动建设网上支付体系不同,物流体系的完善需要政府的大力推动。通过整合全省甚至全国的物流资源,建立物流公共信息平台成为目前一个时期的首要任务。目前中国已经具备了中国物流交易中心、厦门物流公共信息平台等一批市级物流平台,但从信息质量、功能服务等方面看都需要进一步提升。在此背景下,2008年国家将苏州工业园区综合保税区现代物流公共信息平台,列为国家区域性现代物流公共信息平台建设试点,利用政策优势和硬件建设、软件服务优势,建设中国国际电子产品交易基地。
电子商务市场分析:3、 B2B仍有发展潜力,B2C将提速增长
从整体市场及细分市场的发展看,2009年中国电子商务交易额将达到34278亿元,增长率保持在40%以上。未来10年,中国将有70%的贸易额将通过电子交易完成。中国B2B电子商务市场交易规模增长潜力巨大。此外,由于电子商务向行业的渗透将更加深入,加之B2C市场对投资者的吸引力加强,B2C市场的份额将在2009年呈现明显的扩大趋势,其中IT数码、家居建材领域B2C市场将成为未来几年中国电子商务市场发展的热点领域。
电子商务市场分析:4、 物流平台将逐步崛起,支付市场面临洗牌
从电子商务市场支撑体系建设看,一方面2009年物流公共信息平台在政府的持续推动下将有巨大发展,平台信息服务能力将显著提升,同时更多的电子商务服务商会加入物流体系建设的行列中。另一方面,网上支付服务商将在未来2年经历二次筛选,资金短缺以及技术、商业模式、信用体系等环节不健全的服务商将面临被市场淘汰的危险。
电子商务市场分析:5、 企业与政府合力完善电子商务支撑体系
在电子商务支撑体系建设方面,支付体系已经具备了一定发展基础,支付宝、财付通等网上支付服务商已经具备了一定的竞争优势,同时为进一步改善网上支付市场的发展环境,继续扩大市场占有率,企业具有主动联合政府或金融机构完善支付体系的意愿,其中完善网上支付信用体系工作成为2008年的主旋律。2008年1月17日,第三方支付平台支付宝与中国建设银联合推出了的支付宝卖家信贷服务,符合信贷要求的淘宝网卖家将可获得最高十万元的个人小额信贷,国内首次推出这种信贷模式,在很大程度上加强了第三方支付公司的信誉保障。
电子商务市场分析:6、 电子商务保持投资吸引力,B2C成风投新宠
2008年中国电子商务市场除在扩大资金来源、支撑体系建设方面有所成就外,不可避免的需要面临全球金融危机所带来的影响,但随着中国电子商务与行业发展结合的更广、更深,充分利用电子商务B2C手段已经成为中国行业企业在度过经济寒冬中的重要选择。因此,2008年投资机构对中国电子商务市场的关注度不将反升,其中B2C行业无论在投资案例数量还是在投资金额上都呈快速增值趋势。母婴用品、IT数码产品、珠宝、建材等一大批传统行业细分领域开始进入B2C市场,并获得VC持续关注。年内,凡客、麦考林分别获得2000万美元和8000万美元的资本注入。可见B2C已经成为推动中国电子商务市场发展的重要细分市场。
电子商务市场分析:7、 保险、旅游、批发零售行业电子商务市场份额将扩大
从行业应用角度看,鉴于2008年的经济环境,国民的保险意识将进一步加强,而方便快捷的保险电子商务将成为保险客户的首选,因此未来保险电子商务仍将快速发展;同时,随着经济增长放缓,各省市将加强对旅游产业的重视,从而提升本地经济增长能力,在旅游产业二次创业的要求下,旅游电子商务将成为未来各地着重发展的业务;此外,赛迪顾问认为中国国民消费能力在未来不会有太大波动,当市场物价逐步增高,网络平台所提供的低价格产品将更加受到消费者青睐,随着网民网上购物、网上支付以及物流服务的健全,直接面向个人消费者的批发零售业电子商务将会面临最佳的发展机遇。
电子商务市场分析综上所述,2012~2013年的中国电子商务市场充满机遇和挑战,而政府和企业的通力合作是抓住机遇并赢得挑战的基础。在此基础上,中国电子商务市场将一步步向发达国家电子商务水平接近,在成为全球网络经济中心的道路上稳步前行
关于现状分析 和前程规划 求学软件的前辈指点
去做ERP的实施顾问吧,运气好的话,一个月也有1,2万。
编程的话,1万肯定达不到。
java应用技术现状及分析
可以加入下面的群一起交流:
技术交流群QQ:84142766
Java是由Sun微系统公司所发展出来的程序语言,它本身是一种对象导向(Object-Oriented)的程序语言。JAVA目前在手机上应用最多的就是JAVA游戏。
Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的码,而是产生一种中间码叫作 ByteCode,这种码必需在透过 Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,故与Java程序是在那种平台上被编译的,就完全没有干系了。Java写出来的程序可分为两类,分别是Java Applet与一般的Application,而Application 这一类就与一般的程序如C++的作用是比较类似的,是一个独立可执行的应用程序,像HotJava是一个浏览器,且就是使用Java程序所发展出来的。最常见的Java程序包括应用程序和applets。应用程序是单独的程序,诸如HotJava浏览器软件就是用Java语言编写的。 Applets类似于应用程序,但是它们不能单独运行, Applets可以在支持Java的浏览器中运行。Applet主要是内置于HTML网页中,在浏览时发挥作用。
Java的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。利用Java程序语言,可以在网页中加入各式各样的动态效果。可以放上一段动画,加入声音,也可以建立交互式网页等。
Java手机软件平台
Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为“无线Java”技术。此前,有人把它叫做“K-Java”;其实,K-Java的叫法只是Sun公司在开发KVM Java虚拟机时的项目代号,在该技术被正式命名为KVM后,就不再用K-Java了。
KJava即J2ME(Java 2 Micro Edition),是Sun公司专门用于嵌入式设备的Java软件。以KJava编程语言为手机开发应用程序,可以为手机用户提供游戏、个人信息处理、电子地图、股票等服务程序。J2ME(Java 2 Micro Edition)是致力于消费产品和嵌入式设备的最佳解决方案。J2ME在设计其规格的时候,遵循着“对于各种不同的装置而造出一个单一的开发系统是没有意义的事”这个基本原则。于是J2ME先将所有的嵌入式装置大体上区分为两种:一种是运算功能有限、电力供应也有限的嵌入式装置(比方说PDA、手机);另外一种是运算能力相对较佳、并且在电力供应上相对比较充足的嵌入式装置(比方说冷气机、电冰箱)。因为这两种区分,所以Java引入了一个叫做Configuration的概念,然后把上述运算功能有限、电力有限的嵌入式装置定义在Connected Limited Device Configuration(CLDC)规格之中;而另外一种装置则规范为Connected Device Configuration(CDC)规格。也就是说,J2ME先把所有的嵌入式装置利用Configuration的概念区隔成两种抽象的型态。
Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,即“编写一次,到处运行”的特点,使Java技术成为智能手机软件平台的事实标准。采用Java技术后,编写应用程序和提供服务的人就不必关心接受其服务的手机采用的是什么操作系统和芯片,只要按照Java的要求去写程序就好了;同样,生产手机的厂商也不必顾虑将来谁来提供增值服务。可以看出,采用Java技术,可以建立完整、高效的无线数据增值服务产业链,从而为用户提供灵活、个性化、内容方式多样的服务。
Java手机发展现状
到今年6月,全世界已经有大约1亿部Java手机在使用,除中国大陆外共有53个移动运行商正式推出了基于Java技术的无线数据增值服务。中国移动通信集团已经建立了无线Java增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月10日开始正式商用。
中国联通公司也正在其CDMA 1X网络上建立无线Java增值服务体系,目前系统正在建设过程中,并且2003年9月26日中国联通、北京振戎融通公司和Sun公司在人民大会堂宣布联合发起成立“UniJa技术联盟”,三方将在联通CDMA 1X网络上的Java增值服务方面全面合作。
软件工程师现状及发展前景如何?
作为“朝阳行业”,软件行业的发展虽然也受到了全球金融危机的影响,但就目前的发展形势来看,软件工程专业在未来多年内仍然将是就业形势比较好的专业。2009年就业调查报告显示,软件工程就业率及就业工资水平均居高校各专业前列。这主要源自于软件行业的快速发展和政府经济结构调整而对软件人才的迫切需求,据估计,我国目前存在着80万的软件人才缺口,而对软件人才的需求也以每年20%的速度递增。
未来几年,国内外的高层次软件人才仍旧处于供不应求的状态。目前软件工程专业毕业生主要在各大软件公司、企事业单位、高等院校、各大研究所、国防等重要部门从事软件设计、开发、应用与研究工作。有数据表明,我国软件出口规模达到215亿元,软件从业人员达到72万人,在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。
我国软件业发展现状如何?
近年来,我国政府对软件产业的发展非常重视。国务院《关于鼓励软件产业和集成电路产业发展的若干政策》(国发[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.
转载请注明出处51数据库 » 软件现状分析 软件工程的现状