软件产业的发展水平决定了一个企业、一个行业,乃至整个国家的信息化建设水平。尽管中国软件产业取得了长足的发展,尤其是近年来更是以每年两位数的复合增长率快速增长。但不可否认的是,软件产业在发展过程中仍存在诸多问题,最终导致很多信息化建设项目走向失败。
据权威机构调查数据显示:“占世界软件销售额85%的是大型的专用软件,而其开发的失败率却高达70%!”“当前ERP的总体成功率依然不足30%”。
而在我国也一直流行着“上ERP找死,不上ERP等死”的说法,这同样表明了中国的ERP等信息建设项目成功率并不高。
那么,到底是什么原因导致目前的这种状况呢?我国应用软件市场主要存在哪些问题亟待解决?
软件开发与应用五大问题成为困扰软件企业的通病
从需求分析到原形设计再到编程、测试、应用维护,在软件产品的生命周期内,开发成本高、维护成本高、重复开发率高、开发效率低、市场应变速度低这“三高二低”问题成为困扰软件企业的五大通病。
一是软件开发技术难度大,开发成本居高不下。大部分软件开发厂商在进行软件开发时,往往缺少一个好的开发工具,只好从基础做起,即从编写大量的基础代码开始,这样一来,不但增加了开发过程中的技术难度,而且需要研发人员具有较高的技术水平,要求企业需要较多的高端技术人才。因此,企业不得不投入大量人力、财力和物力,无形中提高了开发成本。
二是软件开发、部署效率低。由于以上原因,软件研发过程中,大量的代码编写,无疑降低了软件开发的效率,使项目开发、系统部署与实施时间较长,从而影响了软件研发企业与客户双方的效益。
三是市场需求变更频繁,软件企业疲于应付。随着各行业信息化进程的不断加快,传统单一功能的软件系统逐渐不能满足用户综合复杂的业务需求。因为在软件项目实施过程中,业务需求总是在不断变化之中:首先是业务需求本身就在不断变化;其次是需求和需求之间又互相关联引导。而当客户需求发生变更调整时,质量降低、Bug重重等问题逐渐凸显出来,对项目团队提出了巨大的挑战。
四是系统可维护性很难得到保证,维护成本高。大部分软件开发商在做项目开发时都是从基础源代码开始做起,而如此从代码级做起的套装软件和定制软件都具有极高的耦合度,高耦合度的软件是难以维护的,一处的修改容易引起另一处甚至更多处的变动。要么结构死板僵化,要么开发方式效率低下。在这个企业形态不断变化、企业外延不断扩展、企业环境不断变迁、企业业务不断调整的时代,这种以一次开发持续使用为特征的软件显然不能满足企业不断变化的各种应用需要。
五是人员流动造成项目难以延续,重复开发现象严重。项目实施人员不懂业务、业务人员不懂技术开发这一对“不可调和”的矛盾,使得应用软件开发人员的个人能力决定了项目的实施周期、项目进展等,而软件行业的人才流动又为上述矛盾埋下了祸根。软件研发项目人员的流失,往往造成整个项目难以延续,有些企业只好推倒重来。
平台化、配置化成理想出路
世界各国的IT项目都已证明,最大程度地利用已有成果,即软件复用,无疑是提高软件开发效率,缩短开发周期,降低开发成本,并改善软件质量的有效方式。
而如何最大程度地复用已有成果,近年来世界各国的软件开发商都在这方面给予了很大关注。而从各种实践和技术层面来看,能够提供大量可复用的实用组件和模块的技术平台、开发平台,可以直接提高软件开发的复用度和敏捷度,无疑是解决软件开发与部署效率低的最有效方式。
在软件复用技术和技术平台方面,我国也有不少厂商做了有益的探索,如国内的平台厂商创恒信软件、普元软件等。如由创恒信软件公司推出的基于Web的eFlow应用开发平台即采取了先进的组件化、配置化的设计理念,通过将多年来在大批项目研发与实施实践过程中积累的大量成熟而实用的应用组件和模块进行高级封装,在进行开发过程中,开发人员只需按需求选择模块,而捏合过程由系统自动完成,因此很多模块与应用无须进行特殊的开发编码,只需要通过将已有组件或模块进行“拖拽式”配置,管理方面的表格则可利用模板编辑器直接“画”出来,正如统一规格、统一标准的机器零部件,只需按要求简单的拼装即能成为完整的机械设备一样,从而将软件开发的效率提高了一个数量级。
“配置化”的设计理念无疑给整个软件产业尤其是用于软件开发的各种技术平台带来了一种新思路。据介绍,创恒信eFlow应用开发平台还采用JAVASCRIPT取代JAVA,规避了J2EE开发成本高、上手慢的缺憾,有力地简化了应用开发的步骤,提高了应用开发的灵活性和稳定性,因此节约了大量的应用开发成本,为企业在金融危机时期实现低成本高效率地实施信息化建设提供了理想的选择。
此外,eFlow平台将J2EE体系规范、构件技术、XML技术、Web Service和可视化开发技术完美结合起来。这样一来,不仅建成的应用系统具有较强的可管理可维护能力,使得系统的管理和维护得到了保障,而且不需要开发人员懂得J2EE的各种技术,只须使用浏览器,开发人员就可以像设计网页一样完成最终的应用开发,从而彻底解开了“专人负责专项”的软件开发魔咒,也为当前市场上人才流动的问题打开了“心结”。
面对复杂多变的市场需求,采取“平台化”、“配置化”理念设计的eFlow开发平台,根据分层设计的开发思路进行封装,提供了基于浏览器的专用应用设计工具,来进行应用的开发设计、测试、跟踪、调试以及软件维护,提高了软件的稳定性和应用的灵活性。同时由于在开发实现过程中压缩了编码的工作量,使得应用跟踪与调试的时间也相应减少,从而缩短了整个应用实现的时间。
显然,平台化、配置化的设计理念,在应对频繁变化的市场需求与系统后期维护方面也有着先天的优势。由于提供了大量成熟、实用的应用组件、模块,开发、部署都比较灵活,可以随时根据用户的实际需求进行灵活调整;同时,由于各种应用都是基于同一个平台,相互关联度比较高,各种应用都是通过各种成熟的应用组件、模块等配置出来,并且又进行了高级的底层封装,因此后期的维护就相对容易得多。