软件工程国内外发展现状
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程国内外发展现状
国内外现状
很多国内搞计算机的专家都认为:国内的软件研发过程,个人色彩比较浓。过分地依靠个人无法形成产业规模,而没有规模就谈不上产业化了。
不管怎么样,我们大家还是先要来看一看国内软件厂商到底提供给我们多少有震撼力的软件产品,从技术和利润的角度讲,软件系统最核心的部分还是操作系统、编译系统然后就是开发平台之类的东西,接下来就是一些应用系统,比如图形开发、游戏开发、企业应用、网站建设、杀毒、网络工具等等。
操作系统以中科院为中心,做了一个COSIX,这个本质上是一个UNIX系统,UNIX最初的源代码是公开的,尽管COSIX是一个被称为中国的操作系统并是UNIX系列的(IX就代表UNIX系列),但是其中到底有多少独创的技术成分我们暂时还不知道,但有一点可以肯定,它现在的市场覆盖率绝对不大,而且能否在上面运行各种各样的编译系统、数据库、群件和应用系统可能还需要进一步测试。然后就是对硬件平台的支持也需要进一步完善。
然后就是轰轰烈烈的Linux系统,Linux是遵守GNU标准的操作系统,中国有很多家公司推出了自己的Linux并且还有汉化的Linux,这就有比较疑惑的一点,为什么不在Linux上构架一个类似UNICODE这样的东西,而只做汉化这么本地化的产品呢?不知道是眼光还是市场的问题了。
MIS系统、财务软件是中国软件行业的重头戏,它们彻底的暴露了中国软件开发无序和重复低效劳动的一面。教育软件在某一种层面上看就是电子题库,当然也有优点,比如加入了多媒体教学(可视化程度不错)和所谓寓教于乐的特点,但是从本质上说还是题库。杀毒软件据说是中国软件的骄傲,由中国权威机构评测是达到了世界领先水平,但是好象还没有得到国际权威机构的认可。游戏软件就不用提了,国内业界能够流行的游戏软件成功的秘诀众所周知,不是技术和创意,实在是归功于我们悠久的历史。字处理软件和排版软件客观的说国内的也做的不错,但是从系统的扩展性和体系结构上说和MS和Adobe相比,差距也放在那里。
发展趋势
(1)模块化
随着全球化的发展趋势和全球化市场竞争压力的增加,一方面企业需要更多的业务灵活
性和创新能力;另一方面企业面临的IT环境复杂度的增加和历史遗留系统的增加,对企业的IT提出了新的挑战。模块化的思想恰恰能够帮助企业从根本上解决了这一问题,它一方面通过抽象、封装、分解、层次化等基本的科学方法,对各种软件构件和软件应用进行打包,提高对企业现资产的重用水平和能力;另一方面,基于模块化思想,业界提出了SOA技术,它提供一组基于标准的方法和技术,通过有效整合和重用现有应用系统和各种资源,对各种服务进行服务组件化,并基于服务组件实现各种新的业务应用的快速组装,帮助企业很好应对业务的灵活性要求。它通过有效平衡业务的灵活性和IT的灵活性、平衡业务的灵活性和IT的复杂度,为IT人提供了一个业务视角,让IT人学会用业务的眼睛看世界,有效的拉近了IT和业务的距离。
(2)开放计算
虽然软件工程方法、技术和工具的发展可谓百花齐放,但谈到趋势,我们必须首先强调的是能够确定行业基础框架,指导行业发展和技术融合的"开放计算",它融合了"开放标准"、"开放架构"和"开源软件"三个方面,如图1.7所示。通过坚持"开放标准",不同企业开发和使
用的软件可以互连互通,不同的软件工程工具能够更好地集成,不同国界和不同文化能够更好地协作交流,用户的投资能够得到很好的保证。正是它为全球化趋势奠定了重要基础;"开放架构"通过一组开放的架构标准和技术,有效地解决了商业模式的创新对IT灵活性要求的增加和现有IT环境的复杂度之间的矛盾,第一次使IT和业务走得如此之近,其典型代表包括SOA、REST等。而"开源软件"不但书写了Linux、Eclipse、Jazz等一个又一个的神奇故事,而且它还有效地促进了开放标准的发展,同时有效利用社区驱动的开发与协作创新,优化软件设计中的网络效应,开源软件越来越被中小企业和个人用户所认可。
(3)合理的开发治理
软件开发治理的研究对象是软件开发团队,其目的是在软件开发生命周期中,通过定义整个开发组织中的各种角色、职责和技能要求,明确"谁"、在"什么时间"、做"什么"、"怎么做"和如何评测等内容,不断改进软件团队的生产效率和软件产品质量。软件开发流程和软件工程工具是软件开发治理的两个重要组成部分,首先,全球化的软件交付和社区驱动的软件交付模式对软件工程方法提出了新的要求。环顾当今软件开发方法,RUP、敏捷开发、MSF 可谓百花齐放,当不同学说的支持者互相不屑一顾的同时,其实我们不难看到,不管是那一种软件开发过程,它都有自己合适的软件开发团队和软件开发场景。这就好比中国的饮食文化,粤菜以鲜闻名,川菜以麻辣著称,鲁菜鲜咸,而淮扬菜则追求本味。但如果问起哪种菜系最为好吃时,则十有八九不同的人会有不同答案。即使是同一个人,在不同年龄、不同经历下,也可能有不同答案。软件开发过程也正如菜系,不同的团队、不同的文化、不同的规模、不同的软件类型、不同的质量要求,都会影响开发团队对软件开发方法和过程的选用。Rational在2004年时提出了"可适应的流程"概念,其核心是通过重用组织过程资产库中的最佳实践构件,能够为不同的项目、不同的团队量体裁衣,快速装配特定团队所需要的流程,Rational Method Composer(简称RMC)是一个软件交付过程的定义、裁剪、配置和发布工具平台,它赋予了RUP以全新的生命力。RMC提供了可重用的、统一的方法架构和定义语言,同时整合了RUP和更多的业界标准、成功经验和方法论(以流程组件的方式存在方法库中),使企业能够基于RUP和其它业界最佳实践,快速定义、配置和发布自己的软件交付过程和其他管理过程(例如ITUP),实现了流程的重用、可配置和可适应。基于RMC,企业可以首先将各种管理活动的最佳实践总结成流程构件,然后基于各种最佳实践流程构件建立统一的方法库。通过重用方法库中的各种流程构件,面向不同类型的、不同规模的IT组织或软件团队,企业能够快速地量身定做出适用的IT治理流程或软件开发流程,保证了流程的灵活配置能力。
(4)全球化软件协作交付
全球化的世界必然带来全球化的软件交付模式。根据Forrester的数据,目前87% 的开发团队是分布式的,56%有两个以上的开发地点,同时企业的合并和收购趋势不断产生众多新的分布式开发团队,企业为了提供全球化的24 x 7 支持和开发能力,也在不断加强全球化软件协作交付能力。
全球化软件协作交付的另一个重要的驱动力来自于软件外包行业的发展。放眼今天,外包从最初的在印度公司购买廉价的劳动力,到今天在全球全面展开;从最初的以使用海外更廉价的劳动力为目的,到今天的有效使用海外更多人才和领先技术;从最初的技术编程为主的外包,到今天的咨询、BPO、SOA 和基础设施的全面外包;从企业最初的有无数战略外包供应商,到今天建立3至5家战略性外包供应商,我们都不难看到外包和全球化交付正在成为软件交付发展的标准模式,而不再是个例。
存在问题
1.观念技术管理的创新