我们经常提到敏捷开发,更多谈到的是重构,自动化测试、沟通等,让我们看一下另一个层面的敏捷开发:
构件/组件化——最大限度地软件复用
世界各国所有的IT项目都已证明,最大程度的复用已有成果,无疑是提高软件开发效率,缩短开发周期,降低开发成本,并改善软件质量的有效方式。
“如果要在企业级软件开发中取胜,就需要一种新的方法——基于构件/组件的方法。而事实上,在互联网时代的企业级软件解决方案是必须基于构件/组件的。”软件界领袖、信息战略家Alan W.Brown针对如何才能有效突破代码层的限制,真正实现软件开发的按需生产提出了以上说法。
显然,构件/组件技术让软件回归了简洁表达,能够轻而易举的实现像制造行业一样的标准化。大量采取构件/组件和组件技术,正如统一规格、统一标准的机器零部件,只需按要求简单的拼装即能成为完整的机械设备一样。同时,基于构件/组件/组件的复用则使人们在软件开发中不必再“重新发明轮子”或“一切从零开始”,而且构件/组件/组件通过多次复用后质量和可靠性越来越高。
据统计,如果软件系统开发中的复用程度达到50%,则其生产率提高40%,开发成本降低约40%,软件出错率降低近50%。在国务院信息化工作办公室在《振兴软件产业行动纲要》中,也多次提到要推广应用软件构件/组件和复用技术,加快构件/组件技术发展的目标。
事实上,世界各国所有的IT项目也已充分证明,最大程度的复用已有成果,能更加有效地降低开发成本,改善软件质量,实现敏捷开发。
随需应变的SOA松耦合技术架构
12年前,SOA(面向服务的企业架构)的概念被首度提出。在SOA架构中,软件被视为由“配置化服务”组成的新系统,着重强调软件的松散耦合、并使用独立的标准接口,藉此让企业应用系统变得灵活。
应该说,SOA架构的出现为软件生产中的敏捷开发做出相对完美的诠释。由于强调“随需应变”,SOA的开放性和灵活性让软件架构变得更加松耦合,更能有效满足企业应用中不断增长、变化的需求,标准化生产同时也意味着减低了成本、提高了软件实施效率和降低了服务的难度,在满足应用的同时也大幅提高了标准化程度。
技术平台从产品平台中分离出来成敏捷开发工具
“当面对企业客户对于应用系统不断变化的需求时,原有的单一业务应用开发平台,套件化、定制化、逐个对象实现的方式,无疑已成为了应用开发的瓶颈。”
随着客户需求与实施周期矛盾越来越突出,以及无论是开发商还是用户对“随需应变,敏捷开发”呼声的愈来愈高,技术平台已经明显地从产品平台中分离出来。
由此出现了一批以业务驱动为导向、可快速构建应用软件的应用开发平台,比如国内的创恒信软件的eFlow应用开发平台,以及上海普元软件等厂商推出的各类开发平台类软件等,为大批中小软件开发商提供了从底层基础开发平台到中间件构件/组件的完整包,在此类平台基础上可以使用开源的各种产品、第三方的中间件以及平台内置的各种构件/组件,使敏捷开发成为了可能,也在很大程度上满足了软件业批量生产的需求。
配置化设计理念——让软件开发更敏捷
近年来,配置化的设计理念,已成了敏捷开发的首选。由于平台高度封装了大量成熟而实用的应用构件/组件、模块,并内置功能强大、成熟而实用的各种应用系统和开发工具,因此使得开发人员在进行软件开发过程中,绝大多数开发与应用无需特殊的编码,只需按照项目需求选择相应的组件或模块进行“拖拽式”配置,而捏合过程由系统自动完成——正如统一规格、统一标准的机器零部件,只需按要求简单的拼装即能成为完整的机械设备一样,因而大大提高了软件开发的效率,降低了软件开发与应用的难度,并且应用可立即部署,大大缩短了应用开发的调试期。
有关数据显示,配置化的平台能够实现90%的应用开发无编码,对于需要编码的业务系统,也可以将系统的编码量压缩成传统方式的5%至10%。配置化的设计理念,使系统开发不再过分依赖于开发人员,可视化的开发环境使软件开发商和企业应用中可以适时适量的根据需求进行采集,使系统的复杂度下降了一个数量级,大大提高了软件开发效率,完全实现了软件开发以业务为中心。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
“以建应变”:敏捷+DevOps驱动数字化转型
数字化转型由软件驱动。如今在数字化转型中,交付软件实际上处于每一个业务的核心,这一软件趋势也正好与CA Technologies一直强调的应用经济相一致。
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
开发运维一体化(DevOps):协作是成功的保障
如今的IT部门存在一个矛盾:敏捷开发者希望可以快速部署常规软件,而运维团队则优先考虑稳定性。开发和运维不同的成功指标使得每个团队都有自己独立的目标
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响