中国应用软件行业发展路在何方 (第二节)
今天第一个特邀讲者是梅宏教授,是北京大学计算机科学与技术学院的教授,博导,北京大学信息科学学院副院长,软件研究所所长,北京大学贝尔实验室软件技术联合实验室的常务副主任,北京大学首都发展研究院的副院长,国家863高新技术的计算机软硬件专家组成员,国家973首席项目的科学家,中国计算机学会软件工程专业委员会主任,中国软件协会的软件分会理事长,贝尔实验室中国科学研究院顾问,中国科学与电子学报软件学报等学术刊物部编委,多个国家学术会议程序委员会的委员,全国技术委员会的主席,梅教授主要的研究工作涉及到软件工程及软件开发环境,软件复用及软件构件技术,对象技术,软件工业化生产技术及支持系统,新型程序设计,语言等。先后承担了包括国家重点科技公关项目,国家863计划课题,国家973项目,国家自然科学基金,中国重点课题,国家杰出青年基金课题,国家其他部委的课题和国家合作的课题在内的十多项课题的研究工作,已发表的学术论文有100多篇,今天梅教授发言的主要观点是:软件工业化生产之路的若干问题思考?欢迎梅教授。
梅宏:首先在这里谢谢YOCSEF让我来参加这个论坛,讨论呢,主要是提问题,以问题的方式,我们来共同的探讨一些东西,第一个问题就是,到底什么是工业化生产?第二个问题是,软件产业和传统产业的差别在哪?第三个问题呢,现在这个工业化生产的一种途径,如果强调构件复用,工业化生产模式,路径怎么样走?最后呢就是一个界限,对前面的每一个部分呢,我都分成三个小节。现在谈产业,是悄是真正的一个产业,但是某种意义上讲,但是这个意义和传统上的意义不一样,不是那种工业化的产业。工业化的产业,它到底有什么标识。1.一个工业化的生产必须有一个非常合理的分工,和经营这种分工的有效协作;2.有一系列的标准行业的形成;3.在工业生产里面,它的质量的过程应该可度量的。其中最重要的就是第一个,产业分工的过程,经常是一个企业的转向,各自为政,各专所长,然后在自己所长之下,进行分世的一个前提。如果我们探讨一个发展国家走过来的,比如在过去石油时代,美国建立一个钢铁企业,结果呢,这个企业覆盖面太大,导致的结果就是失败。必须有一个做自己熟悉的东西,做好自己的事情,这就是合理分工。在我国,在这种工业化生产的分工,和外国是很不一样的。传统工业最典型的就是零部件的生产和产品的生产是分开的。要形成一个非常有效的生态链,就是我们讲的一个合理分工和分工协做。这就是工业化重要的一点。如果不走这样的路,它就一定只能是作坊式的,像过去用那个小锤子把那个汽车撬起来,那种时代,能够做到什么东西,那个时代,一辆汽车,从所有的零件开始,都是自己一个人做的,等汽车坏了以后,也是按他自己的标准来做。曾经有这一个故事,过去的瑞士表,要做得精确,时间准的话,那个工匠的水平要非常高,如果现在要做表的话,想把表做得不准,就很难了,为什么,因为它已经是工业化生产了,一条路线生产下来,特别是电子表,万一电子表时间做得不准,难度会非常高,一般都很准。那个分工和协作带来的前提是什么呢,就是一系列的行来标准,只有有标准才可以做。有了标准之后,接下来就是质量,产品的质量,过程怎么度量,我拿一个东西,我可以度量大概多长时间之内我可以生产出我的产品,所以说一切都是可度量的。大家现在反过来看,按照这样的工业化生产方式标准,我不能转变是不是,显然不是。没有分工,所有的企业都是从头做到底,从分析从编码开始,所有的东西都在从头做,我们现在软件企业,就没有形成这种分工协作。我们有很多软件工程的标准,但是我们没有这种行业之间明确分工的标准,质量的过程更是不可控制,是没法控制的。谁能够说清楚我这个软件多长时间之内可以完成,有多少软件都在超出你的预算,所以这三个问题,实际上是作为工业化生产的标准来讲软件产业发展的道路。转过来讲,要形成软件的工业化生产,我们认为很重要的一个东西就是构件,构件就是软件构成的基本文件。
工业,软件产业和传统产业的分别在哪里?
1. 产品及其零件的生产成本不一样,传统产业是一个硬东西,软件的生产成本很低,只要前期的工作,但一种软件出来以后,软件的构件很简单,就是拷贝。为什么软件盗版那么容易,而传统的,有那么多盗版吗,很难说;
2. 使用方式是有差别的,软件有一特点,羸者通吃。质量差就卖不出,对软件说,构件组装很重要;
3. 基础的技术发展对本身的使用及应用带来的影响,从表面上看,事实上不是很严重。从在零件的生产上,用钢,它还是那个样子,软件而讲,每一个基础的发展都对构件产生致命的影响,过去你积累的东西不可能有,在六七十年代的时候,在世界上同时使用的语言高达八百多种,每年都有百种语言被限制使用下去,现在语言就只有几种了,因为技术一直在发展。像以前就有五十几种函数库,现在就变成构件了,以前只要在操作系统上,现在就要跑到终端上,跑到网络上,所以每一个技术的发展,都对我们构件产生致命影响。怎么样看软件技术未来的发展,把过去的发展看清楚,就会发现软件发展的那几条线路是很清楚的,这实际上也是我们未来要研发的线路。其中最重要的一条是,你不断的屏蔽意购,又不断的产生意购的过程。意购是自然的,所有的东西要卖钱,就要产生自己的东西,那就要有标准。每个公司都要加入自己的特色,反过来,互操作也是必然的,所以要不断的互操作,我的东西和你的东西不一样,所以要想办法把两者的东西合在一起,两者一直在不断的做。
4. 影响复用的一个因素,工业化生产应该是标志着什么,软件工业化生产所碰到的一些困难,软件工业化的模式还有和和很多除了技术因素之外的非技术因素的影响。构件的适应性修改,什么事情都要自己做,怎么可能做得了。经济上,我可以把自己的软件卖给别人,不想买别人的软件,不要钱的我就会用。当一个软件公司只想挣别人的钱,不想付出,软件怎么发展得起来。谁是做这个开发的,谁就应该就这个维护提出相应修改。心理障碍,不是我做的软件,我怎么能够相信。我们还没有形成购买软件的想法。其中学生为典型,每年学生毕业的时候,老同学毕业,新学生进校,老师把作业交给学生,新生抱怨,老同学的程序写得太差了,根本就不能用,我根本就搞不清楚,还不如我重新写一遍呢,等新生写了三年,写完之后,可能后面进的新生还是会埋怨他的写的也差,这也是一种无穷尽的循环,所以必须学会,站在别人肩膀上学会做事情,不要老是发为自己就会比别人做的好,其实做到最后,还是一样的结果,在这种情况下,认真去分析别人成功和失败的经验,才能够建立健立自己的东西。别人写的东西我不相信,只有我自己写的才可以相信,实际上自己写的可能还没别人的好。
5. 软件没有知识权保护,软件有著作权保护,由于在各国的产权保护里面都没有这个东西,这是一个新的问题,以后怎么办,怎么体验这种东西,软件由于它是一种非常容易拷贝的东西,这是影响我们复用,影响工业化生产的一个比较大的原因,这也是国家比较重视的问题。最后,我要讲的是,到底应该怎么样做,工业化的生产存不存在,我做这么多年,我一直相信它是存在的,我们应该能够做到,怎么做,三步走,第一步,就是在企业内部推行可复用的这种方式,推行构件复用,这也是需要企业老总的配合;第二步,形成跨企业,共同协作,我买你的,你买我的,大家共同合作,形成一个生态环境;第三步,就是真正的形成工业化生产,统一分工,有专门的构件生产业,有专门的构件零件部,还要有专门的构件市场。工业化生产是存在的,在企业内部推行,行成生态环境,真正行成我们的构生产业,有自己的构件市场。
梅教授演讲结束,自由提问开始。
问:梅教授,你在工业化生产标准的时候讲到了质量和过程的度量,我想问一下,在软件开发的过程中,质量是如何保证的,过程是怎么度量的?
答:在软件这个方面,软件基本上靠测试,在可度量方面是很难做到的,所以,特别强调,在管理过程中要量化,软件测试还是一个保证软件质量的方法,和传统产业不同的地方,零件可以量化,但是软件工作量太大,也确实做不到。
问:现在国际上有一个软件的CM,是用什么样的方式来控制质量的,在实际过程中,运用到这个方面没有?
答:这个级别的话,我国内有些达到二级,三级水平,印度的产业公司达到五级水平,总体上面的管理,我个人认为,它只适合一种生产型企业,不适合创新型企业,这是一个把什么东西都固定下来的过程,刚才你讲到的,国内的差距和应用软件的差距,我觉得这个东西不能完全靠级别来定,我就不相信一个四级的公司,就能够达到第四级量化的那个标准确,技术上不能保证东西来量化,更谈不到最优,主要是为了拿到这个牌子,而做这个证来。但是呢,我认为这个也很重要,这是对一个企业的一个宏观的管理,从管理上做好,加强管理,才能够做好一些技术,所以说,对一个软件企业来讲,技术固重要,但是软件的过程,比如说管理这块,也是很重要的。
|