来自巴黎的华人软件架构师
他缔造了著名的设计软件PowerDesigner,并在全球拥有5万多的正版用户,被称为“Power- Designer创始教父”;他还在著名国际软件企业Sybase中担任此产品的首席软件架构师。王晓昀所书写的这一段软件传奇,也成为了中国所有程序员的骄傲。
自从王晓昀在1988年研发出第一套Windows版本的PowerDesigner 1.0,经过不断修正与改良,2004年正式推出PowerDesigner最新版本10.0,功用强大而完整,涵盖Business Process、UML、E-R Model、Enterprise Repository 等必要模组功用,是目前市面上著名的软件工程建模工具。
为协助中国广大的软件用户,将软件工程技术使用到实际开发任务上,王晓昀应邀到中国巡回演说。从上海讲座前往北京后,在中国大饭店的一间会议室中,刚刚下飞机的王晓昀接受了采访。
记者:请您谈谈此次来中国,做技术讲座之后的感受?
王晓昀:应该说,对模型设计关注的人要比我想象的多,上海的听众就超过了一百多人,有开发人员,也有很多老师,大家都对软件工程表现出了浓厚的兴味。
PowerDesigner在中国也有很多人使用,但普通只用在数据库设计,而对UML设计和模型设计这些功用还不知道如何运用,他们也对如何把商业流程模型、面向对象模型和数据模型联系,如何使用在软件工程中非常感兴味。不过,这也同此方面的材料和书籍比较缺乏有关。
软件企业需求在提高开发速度和质量上做很多任务,而国内这方面的教育可能还刚开始,先生学习软件工程还只是着重理论,在工具的使用和教材方面都有待提高。当然,如今曾经比去年我来的时候要好多了。
记者:最近PowerDesigner曾经推出10.0版本,都有哪些新特性呢?
王晓昀:在Gartner的报告中,认为PowerDesigner对UML支持比Rational Rose要好,数据库模型比ERwin的要好,同时我们在MDA方面做了很多任务,所有的特性我们都支持。可以把一种模型任意转变为另外的模型,比如将UML模型分析模型转变为Java模型,还可以把Java模型转变为EJB模型。客户做一个新的模板,就可以生成适合本人的编码,做的模板越多,写的代码越少。而且数据模型和商业流程模型也可以互相转换。自动生成BPEL4WS(Web服务的业务流程执行言语),这次要是由于软件内部有一个类似Biztalk的引擎。
如今的PowerDesigner只支持分析设计,此后会支持需求分析扩展,由于这部分也属于分析设计。下一代产品中还将支持代码修正前,就能够显示出来一处设计的修正会影响到其他哪些设计。此外,PowerDesigner也会和开发工具愈加紧密的联系,比如支持Eclipse和微软的Visual Studio .NET的版本。今年四月份就会推出Eclipse的版本,所有的产品功用都可以在这个开发环境中使用,对.NET开发工具的支持也很快会推出,今年要做一个嵌入Visual Studio .NET的版本。
记者:最近,MDA也很受关注,您如何看待?
王晓昀:MDA和我们做的一些功用是很类似的,MDA次要是把模型的分析和软件开发分开,而且是与平台无关的。无论是Java平台还是.NET平台,首先用模型把所有的功用都显示出来,并依据不同的平台生成代码。PowerDesigner也采用了类似的思想,对市场上的很多技术都支持,比如支持所有的数据库。
记者:您设计的PowerDesigner和IBM收购的Rational以及Borland公司的Together产品有哪些相反点和不同点呢?
王晓昀:相反点就是这些产品都是基于面向对象的设计,都支持UML。不同的是,PowerDesigner有三种不同的模型。我们认为,由于客户水平不同,不能只用一种模型,比如业务人员对业务很了解,但UML只要学会了九种图才能做商业流程设计,因此我们不能强求其都懂UML模型,不同的人员应该用专门的模型。此外,数据库设计具有特殊性,这三个方向要能够互通,比如做UML模型应该可以和数据模型有关,由于设计需求存储在数据库中。在Gartner的报告中,也提到这三种模型在两三年内联系在一同的可能性有90%以上。
记者:当初您是如何开发Power-Designer软件并使之成为一个具有国际影响力的工具的呢?
王晓昀:我是从北京大学去法国的第一批留先生。到巴黎之后学的是自动化专业,从那时起,我开始接触计算机并对软件产生了兴味。
毕业后我在一家法国软件公司SDP Technologies任务,这家公司次要给其他企业开发数据库方面的软件。因此经常需求做数据库的分析设计,虽然有些客户本人开发了一些工具,但很难用。于是,我们觉得不如花时间做一个数据库设计的产品,磨刀不误砍柴工,反而可以为当前的项目开发缩短时间。
最早这个产品称为S-Designor,由于也没有可参考的产品,只能本人揣摩。最后的版本只是供公司内部使用。第二个版本开发完成后,感觉很好用,公司老板考虑到否卖给其他的公司,于是开始在法国销售这个产品并且取得了不错的成绩。后来,我们考虑到法国市场很小,于是在美国开了分公司销售,情况也不错。在1995年,Powersoft公司收购了我们,由于他们的客户在使用PowerBuilder做开发的时候,也经常需求首先设计数据库。又过了几个月,Sybase又收购了Powersoft公司。
记者:PowerDesigner是一个很优秀的产品,你认为一个优秀的软件设计师需求具备哪些素质?
王晓昀:首先要对技术特别了解,设计一个新产品,需求了解可以采用哪些新技术,如果产品的技术不好,与其他的产品比较时就容易被轻视;第二是要对客户的需求比较了解,如果做出的产品不能满足客户需求,那就很难获得认可;第三就是要创新,开发软件和做其他产品没有什么区别,如果不能做出真正与其他产品相区别的吸引客户的关键点,即便技术再好,客户也不一定会购置你的产品。
我如今每天都花很多时间了解新技术,对其他的新产品做一些测试,看看有哪些好的想法。此外还做项目的设计,并对开发中出现的问题进行处理。有时我也写一些代码,由于总不写就会对编程得到感觉。我如今每天的任务都要在十个小时以上。
记者:PowerDesigner的开发团队有多大?在整个PowerDesigner的开发中,有哪些重要的里程碑或者转机点?
王晓昀:最后只要我一团体在做开发,大概四年中做了四个版本。后来为了加速开发进度,又招了一些人。我们被收购时,公司有20多人,有一半是做PowerDesigner产品。
我认为第一个版本最重要,由于当时没有软件是将数据库分成两种,也就是将CDM(概念数据模型)和PDM(物理数据模型)分开。这是一种思想,虽然当时还不知道用户能否接受,如今看来,当初的决定还是正确的。
此外,就是PowerDesigner的7.0版本,这个版本是用C++重新写的,之前的版本都是用C开发。C++刚出现时,由于找不到一个很好的C++编译器没有敢采用。后来感觉还是用C++开发要快一些,而且当时预备把商业模型和数据模型连接到一同,系统架构也需求重写。不过,7.0版本刚出的时候还不是很完整,并没有把所有的功用都加进去,直到7.5才把功用做全,如今的功用就愈加完整了。
记者:你们在软件开发中采用哪些软件工程方法,经常使用哪些工具软件?
王晓昀:我们是依据需求选择适合我们的软件工程方法。我们做了一些简单的软件工程,比如用PowerDesigner做设计,用Word写设计文档, 用Project做项目计划。测试方面除了人工测试外,还引入了自动测试,我们用的是WinRunner,每天晚上进行自动测试,这样可以大大提高任务效率,自动测试做的越多,质量就越高。
记者:您是华人,但PowerDesigner这款有国际影响力的开发工具却诞生在法国,为什么国内诞生不了这样的工具软件和厂商呢?
王晓昀:这一点我也同其他朋友谈论过。其实国内有很多人理论水平很高,不过研讨和产品开发还是有相当一段距离,而且国内对国际市场的了解不够,开发的产品不一定适合国际市场的需求。
要改变这种情况可能还需求一段时间,如今我觉得应该首先把软件工程的思想更好的传递给先生,他们一出学校,就知道如何用软件工程来开发和设计软件。其实这对开发人员也有好处,由于掌握了分析设计,本人的价值也就提高了。
记者:法国的软件发展情况如何?软件开发氛围怎样?
王晓昀:应该说,法国与国际接轨还是比较紧密