对于软件行业来说,一方面,应用从提出需求到开发部署的周期越来越短;另一方面,又不得不面对客户随时提出的各种需求变化。但是,在帮助传统行业提高效率的同时,软件业自身却大部分仍处于最原始意义上的“手工行业”——普遍采用的传统编码式开发方式,使快速开发企业级应用软件的愿望难以实现,开发和需求始终处于脱节状态。

应用软件开发如何才能满足用户随时变化的需求?软件业一直喧嚣了多年的“敏捷开发”,到底离我们还有多远?

构件/组件化——最大限度地软件复用

世界各国所有的IT项目都已证明,最大程度的复用已有成果,无疑是提高软件开发效率,缩短开发周期,降低开发成本,并改善软件质量的有效方式。

“如果要在企业级软件开发中取胜,就需要一种新的方法——基于构件/组件的方法。而事实上,在互联网时代的企业级软件解决方案是必须基于构件/组件的。”软件界领袖、信息战略家Alan W. Brown针对如何才能有效突破代码层的限制,真正实现软件开发的按需生产提出了以上说法。

显然,构件/组件技术让软件回归了简洁表达,能够轻而易举的实现像制造行业一样的标准化。大量采取构件/组件和组件技术,正如统一规格、统一标准的机器零部件,只需按要求简单的拼装即能成为完整的机械设备一样。同时,基于构件/组件/组件的复用则使人们在软件开发中不必再“重新发明轮子”或“一切从零开始”,而且构件/组件/组件通过多次复用后质量和可靠性越来越高。

据统计,如果软件系统开发中的复用程度达到50%,则其生产率提高40%,开发成本降低约40%,软件出错率降低近50%。在国务院信息化工作办公室在《振兴软件产业行动纲要》中,也多次提到要推广应用软件构件/组件和复用技术,加快构件/组件技术发展的目标。

事实上,世界各国所有的IT项目也已充分证明,最大程度的复用已有成果,能更加有效地降低开发成本,改善软件质量,实现敏捷开发。
随需应变的SOA松耦合技术架构

12年前,SOA(面向服务的企业架构)的概念被首度提出。在SOA架构中,软件被视为由“配置化服务”组成的新系统,着重强调软件的松散耦合、并使用独立的标准接口,藉此让企业应用系统变得灵活。

应该说,SOA架构的出现为软件生产中的敏捷开发做出相对完美的诠释。由于强调“随需应变”,SOA的开放性和灵活性让软件架构变得更加松耦合,更能有效满足企业应用中不断增长、变化的需求,标准化生产同时也意味着减低了成本、提高了软件实施效率和降低了服务的难度,在满足应用的同时也大幅提高了标准化程度。

技术平台从产品平台中分离出来成敏捷开发工具

“当面对企业客户对于应用系统不断变化的需求时,原有的单一业务应用开发平台,套件化、定制化、逐个对象实现的方式,无疑已成为了应用开发的瓶颈。”国内知名软件开发平台提供商创恒信公司技术总监吕建海对此表示。

随着客户需求与实施周期矛盾越来越突出,以及无论是开发商还是用户对“随需应变,敏捷开发”呼声的愈来愈高,技术平台已经明显地从产品平台中分离出来。

由此出现了一批以业务驱动为导向、可快速构建应用软件的应用开发平台,比如国内的方正国际软件的ES2007应用开发平台,为大批中小软件开发商提供了从底层基础开发平台到中间件构件/组件的完整包,在此类平台基础上可以使用开源的各种产品、第三方的中间件以及平台内置的各种构件/组件,使敏捷开发成为了可能,也在很大程度上满足了软件业批量生产的需求。
配置化设计理念——让软件开发更敏捷

近年来,配置化的设计理念,已成了敏捷开发的首选。由于平台高度封装了大量成熟而实用的应用构件/组件、模块,并内置功能强大、成熟而实用的各种应用系统和开发工具,因此使得开发人员在进行软件开发过程中,绝大多数开发与应用无需特殊的编码,只需按照项目需求选择相应的组件或模块进行“拖拽式”配置,而捏合过程由系统自动完成——正如统一规格、统一标准的机器零部件,只需按要求简单的拼装即能成为完整的机械设备一样,因而大大提高了软件开发的效率,降低了软件开发与应用的难度,并且应用可立即部署,大大缩短了应用开发的调试期。

据了解,方正的ES2007应用开发平台就是这样一款基于SOA松耦合框架的软件技术开发平台,其“配置化”的设计理念和高度封装技术,通过对系统构建中需要的各个功能模块进行配置化、模块化,使各个模块间的业务逻辑分离,同时增强独立模块的紧密耦合,并通过服务来实现业务流程的敏捷配置。

有关数据显示,配置化的平台能够实现 90%的应用开发无编码,对于需要编码的业务系统,也可以将系统的编码量压缩成传统方式的5%至10%。配置化的设计理念,使系统开发不再过分依赖于开发人员,可视化的开发环境使软件开发商和企业应用中可以适时适量的根据需求进行采集,使系统的复杂度下降了一个数量级,大大提高了软件开发效率,完全实现了软件开发以业务为中心。

据了解,作为一款成熟的技术平台,***的***已被广泛应用于ERP、OA、CRM、HR、 MIS、BPM等各种企业应用系统的开发和构建中,尤其在ERP开发和大型与复杂应用方面显示出其强大的功能优势。通过大量成熟而实用的构件/组件/组件的使用,充分实现了在WEB服务平台上的跨平台、语言独立、松散耦合的异构应用的交互和集成,使得建立在此平台上的ERP等各种应用系统更具易用性和可扩展性。

随着市场需求和技术的不断验证,越来越多的企业已经走上敏捷开发的发展道路,并将此作为自己的生存战略长期坚持下去。有关专家表示,随着软件技术的不断进步,以自主创新为根本的民族企业的不断崛起,应用软件开发过程中所面临的企业个性化需求与标准化生产的矛盾将不再难以调和,“鱼与熊掌难以兼得”的局面必将得到一个很好的解决,软件业的企业级应用软件的开发其实离我们已不再遥远。

企业级应用软件的开发到底有多难相关推荐

  1. 活久见!月薪30k的小程序全栈开发到底有多难?

    10年前,公司的标配是门户网站,造就了一批网站工作室.随着移动互联网大潮兴起,App又成了企业标配,IOS和Android开发赚的盆满钵满.然而App导致的手机内存告急,无止尽的信息推送,让微信小程序 ...

  2. 浅谈企业级应用软件开发

    可能是长期在外边做项目出差久了,人都快不会玩了:今天是周末,外边天气太热,还是懒得出去,吹吹空调,写写文章,总结总结,为后来者做点贡献. 刚一气呵成了,写了个小知识点的总结,对于同行来说,没什么玩意. ...

  3. 设计一款CPU芯片到底有多难?

    文章结构 导读 一颗芯片是怎么诞生的? 一款CPU是如何设计出来的? 设计一款CPU到底难在哪里? 导读 这几天,刷遍朋友圈的新闻就是:中兴被"一剑封喉",被美国停止一切芯片进口和 ...

  4. 设计一款CPU到底有多难?

    文章结构 导读 一颗芯片是怎么诞生的? 一款CPU是如何设计出来的? 设计一款CPU到底难在哪里? 导读 这几天,刷遍朋友圈的新闻就是:中兴被"一剑封喉",被美国停止一切芯片进口和 ...

  5. 跟涛哥一起学嵌入式 16:设计一款CPU芯片到底有多难?

    文章结构 导读 一颗芯片是怎么诞生的? 一款CPU是如何设计出来的? 设计一款CPU到底难在哪里? 导读 这几天,刷遍朋友圈的新闻就是:中兴被"一剑封喉",被美国停止一切芯片进口和 ...

  6. 中国可燃冰储量世界第一,2030年能实现商业性开发吗?多难开采?

    随着人类进入现代工业文明,人们对于石油气资源的依赖不断加深.我们生活衣食住行的各个方面都离不开石油气资源的加持,因此,石油气资源又被称为工业的"血液",无论是在日常生活之中还是在国 ...

  7. 数睿数据、艾瑞咨询联合发布《2021年中国企业级无代码开发白皮书》

    在中国企业软件开发这个领域,可以做的事情还有很多,唯一的限制可能就是想象力.有了无代码开发的能力,业务人员的创造力和可以想象的空间将不再受约束.近期,数睿数据.艾瑞咨询联合发布<2021年中国企 ...

  8. 值得关注的5款“企业级低代码开发平台”推荐

    优质的"企业级低代码开发平台"该如何评估? 企业级低代码作为平台层的一员,其对应的核心价值是:提升应用软件开发效率 和 降低应用软件开发门槛. 由企业级低代码的核心价值还可衍生出两 ...

  9. 国产操作系统和linux 之间的关系,为何国产系统大多基于开源Linux?操作系统从0做起到底有多难?...

    今年貌似是国产操作系统的"爆发"之年,除了老牌的银河麒麟.中标麒麟.深度之外,中兴近日发布了自己的"新支点",华为也公开了自研的操作系统"鸿蒙&quo ...

最新文章

  1. windows下mysql和linux下mysql主从配置
  2. JavaScript对象,方括号和算法
  3. Linux(CentOS 7_x64位)系统下安装GaussView5
  4. Eclipse 增加打开文件路径功能
  5. MySQL中有关TIMESTAMP和DATETIME的总结
  6. 如何通过插件携带第二个单据体到下游单据
  7. box-shadow阴影合集
  8. android 分析so崩溃,分析libunity.so Release崩溃
  9. CentOS 7以yum方式安装zabbix3.2及配置文件详解
  10. (专题一)05 矩阵元素的引用方式
  11. Collecting Coins
  12. dma读nand_使用DMA方式读取spi flash问题求助
  13. python实时监听微博发文同步到微信
  14. 计算机网络的概念、功能、组成和分类
  15. 案例分享:陕西西安599条背街小巷改造提升,推行“多杆合一”
  16. DevExpress的双击获取单元格数据
  17. RGB图转为灰度图的方法
  18. 家用计算机ip地址为什么类型,计算机IP地址怎么分类
  19. 【遇见CUDA】CUDA算法效率提升关键点概述
  20. 杨辉三角 118.杨辉三角 119.杨辉三角Ⅱ(数学解法)

热门文章

  1. mysql- 如何对数据库进行分库分表,不允许停止服务
  2. 【好书推荐】车载以太网权威指南
  3. PhxPaxos源码分析:网络
  4. Python解析简历-Pyresparser
  5. 经典题目——n阶幻方
  6. Java及spring 注解(反射原理)
  7. Facebook干货丨个人账号和企业账号篇
  8. js 密码正则表达式(至少8位且必有数字+特殊字符+字母)
  9. 最新通信工程专业毕业设计题目选题推荐 - 100例
  10. 最全的官方中文教程来了,NumPy结合深度学习,还有防脱发指南