程朝晖:面向构件——中国软件的机会
任何一个厂商去做产品的时候,一定是去解决一些在整个不管是软件还是IT里的一些问题,一些客户碰到的问题,基于这样一些问题,可能有各种各样的方法。基于这样的一些方法,做出这样的产品出来。在这样的产品之上,希望帮到这样的客户,这样的合作伙伴能够去帮助他们解决,他们能够实现的理想和理念。
演讲者:普元信息技术有限公司副总裁 程朝晖
大家好!大家现在好像寻找软件的魔力到底是在哪里,希望看到软件给这个变化的业务,能够非常快速适应它,能够去满足现在的业务管理的需要,再次展现软件的茉莉。技术上来讲,其实全球我觉得都是通用的,技术都是通用的,现在有很多通过互联网,通过开源,很多公司可以以非常快的时间拿到技术,但是如果把技术做成适合你的目标市场产品,并且把产品和服务最终体现出你市场的价值,客户和合作伙伴的价值,这个公司的实力要去体现的地方。
任何一个厂商去做产品的时候,一定是去解决一些在整个不管是软件还是IT里的一些问题,一些客户碰到的问题,基于这样一些问题,可能有各种各样的方法。基于这样的一些方法,做出这样的产品出来。在这样的产品之上,希望帮到这样的客户,这样的合作伙伴能够去帮助他们解决,他们能够实现的理想和理念。
很多人都在谈现代企业来讲,面对的一些困难,包括变化,这是一个很多的词汇,速度也是一个词汇,然后如何去消除现在的孤岛这些障碍,能够去从容共享这些东西,所以需求的变化快,刚才在谈敏捷开发一些问题也提到,我是用一种被动的方式去主导这个变化,这个也是挡不住的,最终还是会像幕布一样谢下来,如何适应需求的变化?
现在这是一个选择的世界,每天都在不同的做选择。所以它所带来的是无穷无尽的变化,这是一个非常客观的现实。你是去适应这样一种变化,是你主动适应变化,还是去逃避,我想这是企业面对的第一个挑战,第二现代企业由于它的竞争,客户需求的变化。缩短项目的周期,是用半年多,还是三个月多,还是以星期计算。这都未体现企业竞争上。第三就是重复投资多,现在大家都会去谈投资回报,这个投资回报怎么去看它,每个项目研究投资回报的时候,会发现可能大部分的项目和应用都是赔钱的,独立投资硬件,培养人,软件,应用把它做出来,看回报,大部分投资回报都是负的,是不是负的就不做呢?这个就带来你是不是在企业范围里,不只是一个数据。在这个之间,如何对现在很多重复的投资,他们之间其实是可以得到共享的,把它的价值能够一变二,二变四倍去通用,去展现出来,所以可以看到,现在的企业面对的变化、速度和重复投资这一块三个挑战,也是对中国应用信息系统的一个验证,面对这样一种挑战,我们到底是怎么样克服这个困难。可以看到客户面对的可能是有这样的问题,左边是定制开发,基于客户的需求,进行设计分析,编代码。右边是买套装软件,你看市场上有成熟的软件,买过来以后,对它进行定制一些客户化的工作,然后快速把这个应用上去,基于这两条路是向左走还是向右走,很多客户有自己的判断和抉择,我们看到向左走根据客户的需求设计,会发现整个项目周期会比较长,一行一行的代码要测试,整个适应变化的能力,也是比较薄弱的,软件质量很难得到控制的,这样的软化根据特定的用户需求做出来的,得不到其他客户的验证,这个运行当中发生问题去解决,所以整个软件质量难以控制。如果向右走的时候,只会发现很多的套装软件,都是在一种共性下做出来的,对于一个行业或者某类应用,进行一定的分析,把它们共性做出来,做成系统软件,所以企业只能被动适应这样的系统,因为里面的流程,里面的页面,很多方面可定制的程度非常弱,企业必须得适应这样一个流程,对于客户的信息的产生不是这样,你也没有办法去适应它,所以企业只能被动适应。同样的也无法去满足不断变化的这些企业的业务的管理需求的变化。第三点它的总体拥有程度很高,大家知道买一个国外套装软件,动则几百万上千万,买来以后,还得买非常昂贵的专业服务,对它进行客户化,当你的业务跟它不同时,页面不同,流程不同要花更大代价去改变,甚至有的时候都不可能的。所以看到向左走向右走都给我们带来不少困难。这可能就是通常讲的软件的变化,它的无底洞。
面对这样的挑战到底走什么样的路,可以看到我们其实软件是一个高科技的行业,大家看到,现在我们在反思的时候,不得不去发现,整个软件又经常会听到是在一种手工作坊的方式在做,用编码的方式在做,其实整个软件系统非常复杂,比如WindowsXP有5700万代码,一旦某一块地方出现问题的时候,都会牵连到很多地方,软件产业到底有什么样的路呢?我们可能得到来自传统行业的一些启示,传统行业汽车大家会经常去谈的,在生活当中天天都会碰到,在一九零几年的时候,要去造车,这个里面有更多的设计,都是不管手工制造当中设计,因此会导致整个汽车基本上就是一个奢侈品,很少一般普通大众买不起,而现在的汽车行业可以看到流水线操作,几分钟几秒钟就可以下线,这个行业给我们带来的启示,标准化,模块组装和分工性。如果说,现在的一个汽车厂商什么都是自己来做,我相信在世界上没有几家汽车公司,但是其实不是,中国去年就有660家公司,得益于这个行业标准化模块和分工协作,由于整个工业化,汽车行业实现这样的工业,可以看到通过规模,一个轮胎厂商可以为几百家汽车厂商来做,通过规模化降低成本,通过它的模块标准化来快速去推出他的新产品,并且通过三点能够动态适应客户需求变化,所以基于传统行业,给我们带来的这些启示,我们可以看得到,这样的一个带着面具在软件中,是向左走,向右走,这个得益于中国的传统的一些思想平衡。这样一种中庸或者平衡之道,就是面向构件,可以看到构件将会成为软件开发的基本单元,但是最基本的逃不出我们是由分子原子组成,由于基本元素组成了现在千变万化的世界。
面向构件这样的一条路,或者这样的一条解决之道。它其实有三个要素来构成,第一个是构件,你不再通过编辑进行编辑你的逻辑,而是用图形化的方式,大家知道上海金茂大厦88层,它有30多万张图纸给设计出来,如果用代码,大家可以想象一下,金茂里面互相之间的关系,用一种语言表达,一定是几百万行,几千万行表达一个金茂大厦,既使图形化的方式,也得用30万张。我们分别细看一下三个关键技术,如何让我们变的可以面向构件这一块。
第一个构件化,可以给我们带来高度的复用,可以看到我们做计算机,做软件可以看到,从最早机器语言,汇编语言,到现在面向构件方面,可以高度去复用你那些代码很难承载你的现在的管理业务所需要的知识,最有价值的经济,知识经济载体是什么,一定不是分子,不是原子。由于有了这样一种构件化的载体,我们在企业所做的这些业务和管理的知识能够非常好的去复用,去贡献出来。也对于整个软件开发效率是数量性的提高。另外就是图形化,如果达到几百万、几千万是非常难以控制的,软件的修改都是非常复杂的系统和工程,图形化将是数量提高我们的软件开发效应的一个手段。右边可以看到,是我们通常见到的软件代码,而如果说,我们可以用图形化的方式,去表达这些代码,而不是用代码的方式去表达我的逻辑用图形的方式表达逻辑,那么它的整个可控性,可管理性,将会变的非常的可管理可控。是如果说我们还是在代码的方式,我觉得可能软件产业永远也不可能工业化,我觉得个人的观点是说,图形化是一个非常关键的技术突破,只有它才可以让我们看到把几百万几千万代码能够变成几十万的图纸,只有这样,软件工业化才变得有可能。
第三点变化,变化不断变化,如果说任何单个技术,JAVA能够使我们的程序进行流动,WEB服务,能够在企业与企业之间实现共享和流通。但是回过头来说,我们的应用如何适应这样一种成长的变化呢?可以看到我们的需求是在不断变化,在不断变化当中,这样一种构建的体系,以及这个至上的,业务方面的管理,这些方面的引擎都可以帮助我们快速改变现在的逻辑,改变我们现在的截面,去适应。基于刚才本人面向构件三个关键技术,构件化,图形和增量开发。我们可以看到,采用构件技术的软件开发给我们带来的是什么。
- 本文关键词:

