来自巴黎的华人软件架构师

** 来自巴黎的华人软件架构师 **

他 缔造了著名的设计软件 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 这款有国际影响力的开发工具却诞生在法国,为什么国内诞生不了这样的工具软件和厂商呢? **

王晓昀: 这一点我也同其他朋友谈论过。其实国内有很多人理论水平很高,不过研究和产品开发还是有相当一段距离,而且国内对国际市场的了解不够,开发的产品不一定适合国际市场的需求。

要改变这种状况可能还需要一段时间,现在我觉得应该首先把软件工程的思想更好的传递给学生,他们一出学校,就知道如何用软件工程来开发和设计软件。其实这对开发人员也有好处,因为掌握了分析设计,自己的价值也就提高了。

** 记者: 法国的软件发展状况如何?软件开发氛围怎样? **

王晓昀: 应该说,法国与国际接轨还是比较紧密的,法国在软件教育方面做的也不错,和美国交流也很多。法国也有一些出名的软件公司,比如我们公司,还有 BusinessObject 公司和 Ilog 公司。很多大公司都在开发自己用的软件,他们也都知道如何用建模工具。而且,法国软件公司中,只要达到几十人的规模,一般都有专门负责跟踪软件技术发展的人员,他们会了解如何使用这些工具,研究软件工程中哪些部分适应本公司的需要。

我们跟踪技术一般也通过网上、杂志等来学习,法国也有类似《程序员》这样的杂志,叫《 Programmez 》,还有诸如“ 01 Informatique ”这样的技术网站,公司每个星期都会组织新技术的讲座。在法国,有很多专门做培训新技术的公司。国家法律也规定,公司做技术培训还可以抵税,可以占到营业额的 1% ,因此这也极大的促进了公司对技术人员培训的投入。

我觉得法国的氛围还是比较适合做软件的,尤其是给公司开发内部用的软件很适合,但要做适应市场需要的产品,和美国相比还差一些,因为法国敢冒险的人不多,真正敢投资的人也不多。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus