发新话题
打印

PowerDesigner 创始人 王晓昀 访谈

本主题由 admin 于 2007-11-4 12:11 移动

PowerDesigner 创始人 王晓昀 访谈

主持人:各位网友大家下午好!非常感谢大家光临赛迪网嘉宾聊天室并关注我们的此次聊天活动!也非常感谢Sybase公司PowerDesigner首席架构师王晓昀先生的前来与大家互动,王先生您好!

王晓昀:大家好!

主持人:相信像王先生这样的首席架构师对于广大开发者来说,您的个人成长经历大家都有着浓厚的兴趣,那么首先就请王先生做一下自我介绍和讲述一下您的个人成长经历。

王晓昀:我是1978年考上的北京大学电子系,因为那时候我对电子特别感兴趣。三个月以后先出来派到法国读大学,那是第一次公派到外国留学。高考的时候可能分数好一点,所以被挑到了去法国读书。到法国以后开始的时候根本不会法语,前几个月就在学法语,那时候老师也不会讲中文,就像小孩一样教我们学法语,他说一句我们学一句,后来懂了一点法语。后来上里昂商业大学,主要学电子和自动控制。因为我一直对电子和自动控制比较感兴趣。在里昂大学学了两年以后,觉得还是不够,因为法国大学水平和工程师学校相比还是相差比较大。工程师学校要求特别高,尤其对数学要求特别高,考试很难。因为法国的想法是,如果数学学的好的话以后什么都能学,所以考试卡的特别严。所以我就考上了巴黎学通讯的一个工程师大学。在那个学校学了两年通讯。学通讯的时候也是跟计算机有关,通过这两个学校的学习里昂大学和巴黎工程师大学,我觉得学电子和通讯根本离不开计算机。

后来在巴黎工程师大学毕业以后我到了一个法国的软件公司工作,开始是实习,因为公司比较小,也就几十个人,可是公司软件开发做的比较好,有些是帮助软件自动生成一种软件,不用手写,我就开展帮其它公司设计数据库。做这些工作的时候我觉得给大公司做分析设计必须得特别认真。因为那些数据库都很复杂,都是好几百个表,分析起来一般要花好几个月的时间,没有工具的话返工时间太多了,用户要求经常变。没有工具不行,所以我们想在法国能不能买一个工具?找了半天有没有合适的,后来到美国也没有找到合适的工具。后来想是不是自己能开发一个?我们公司讨论一下觉得可以,后来就开始自己开发工具。

我从1988年开始做这个工作,一直做到现在。开始主要是做数据库设计,后来发展越来越大,我现在主要是负责分析设计、开发。主要开发人员在巴黎、上海现在也有开发团队。

主持人:当时开发PowerDesigner的时候是完全您自己一个人吗?

王晓昀:开始只想做一些工具减少我们自己的分析设计的时间。后来决定想办法先开发一个软件试试。后来我花了一年的时间主要在家里试着开发一个这样的工具,那个时候环境不太好,我们用的是Windows 1.0,不知道你们这一代的人有没有见过。Windows1.0下特别不容易开发,那时候用的机器也都是8086、8088,内存最大也就640K,想用叠加也不能运转,编几百行就不能运转了。所以得想方设法编一个又小、速度又快的,所以那时候比较麻烦,费了比较多的精力。后来找了一些经验,第一个版本是89年出的,我们叫AMC*Designor。那时候只支持Oracle的,就是Or解析的。开始本来想自己用,后来同事觉得这个产品很好用,拿出去卖了,我说可以试试,结果在法国卖的特别好。

因为法国比较小,我们说拿其它国家试试,在美国芝加哥开了一个分公司,在分公司也是开始做了很多广告,花了一两年时间在美国也卖的特别小。在美国卖那个产品我把名字改成S-Designor,结果95年的时候 Powersoft把法国这家公司收购了, Sybase把Powersoft收购了,所以95年到现在我一直在Sybase开发PowerDesigner。这几年每次开发一个新版本都有很多新功能做不完,所以对这个开发一直很感兴趣。

主持人:您介绍了PowerDesigner的发展历史和单的过程,那么如何更进一步了解PowerDesigner的特点、优势和市场占有率呢?

王晓昀:PowerDesigner在数据库建模上是属于世界第一的,去年调查在市场占有率上是占了34%。 第二位是占了25%,第三位占了8%。其它公司比如Oracle它们有一个数据设计库,那个占有率只有5%,而且现在大多数用户也不用这个工具了。其它公司的数据比如IBM大多数都用我们的这个产品。所以在市场占有率来说是相当高的,而且是大家都能够认可的,PowerDesigner在数据库设计方面做的是最好的。PowerDesigner不光是在数据库建模上做的比较好,在企业级建模上也做的非常好。现在很多大的公司它们的需求和以前不太一样,因为大公司很多人对业务了解,对技术不太了解。我们公司企业流程应该怎么怎么做,他们有一些企业流程的建模工具提出来。还有一些对数据库熟悉的人,对数据库建模的做法比较熟悉,不太愿意用其它的方法。比如数据库的人强迫他们用UML他们就不太愿意。所以大多数的都用数据建模工具。还有一些开发人员,他们对喜欢用UML做开发。所以造成一个问题是,一个大公司大的团队很多部门,很多公司现在在用三个不同的产品,一个是做需求分析,企业流程;另外一个是数据库设计;另外一个是UML数据设计,三个部分可能连不到一起。造成问题是比如需求改了,数据改了,对哪个类有关系,跟哪个流程有关系看不出来,最后还得手工改。大的公司他们感觉到了这个问题,他们想用一种工具把这些所有的建模工具连一起,需求改了,数据模型改了都不受影响。而且要把所有的模型管理起来,对版本的控制、团队的开发,PowerDesigner这方面的工作要求做的非常好。PowerDesigner的特点第一是数据建模做的比较和,第二是企业级开发不同的技术连接起来做的比较和。另外PowerDesigner对新的技术支持的比较和。比如我们支持了所有的最新的数据库,我们不光支持Sybase本身的数据库,也支持IBM、微软、ORACLE的数据库。如果用户有需要支持SOA、WEB服务的我们也会想办法支持。我们是想方设法让用户用起来越来越方便,能够自动的打造的东西都能让他们自动的拿到。

现在因为不同的建模技术连接起来,这样可以帮助用户更好的做原数据的管理。不光是建模,还要做原数据的管理,管理起来放到同一个模型里,这样模型的价值就越来越大。而且用户如果想改哪部分对其它部分有什么影响?马上就可以告诉用户,用户就可以做出决定。我们可以帮助用户自动生成出一些报表,一个工作人员把流程设计好了,把很完整的报表自动生成出来,其他人员可以看一下怎么设计的。所以从完整角度考虑、建模技术、原模型管理、把不同的技术连接起来做的都特别好。

TOP

主持人:Rational Rose是当年比较流行的建模工具,能比较一下它与PowerDesigner的不同之处吗? 王晓昀:Rational Rose对UML 2.0的支持很不完整,很多功能都不支持。而且Rational Rose只是支持UML对数据设计支持的不好,对不同模型之间的联系也支持不了。所以用户要用起Rational Rose不是很方便。用户界面做的也不太方便。对报表自动生成、Rational Rose的模型管理做的也不太好。现在用Rational Rose不能用同一个产品做不同方向的分析、设计开发。不同的用户使用同样的产品,把所有原模型关系起来,连接起来,这方面做的不是特别好。可是Rational Rose知名度比较大,学校老师讲课的时候也用过。如果看PowerDesigner跟Rational Rose相比来说优点是一个建模工具支持了所有的建模技术。可以不同的用户使用不同的建模一部分,而且所有的建模都连接起来,让大的开发团队用起来特别合适。特别是大的公司特别适合使用PowerDesigner这样的工具。而且界面也比较人性化,像其它的功能,比如用户把模型改了,怎么帮他们自动生成一些编码,不光用户可以使用PowerDesigner本身可以自动生成的功能,他们也可以自己想加一些其它的代码也很容易做到。PowerDesigner是根据用户需求不强迫用户选什么。我们是让用户选择适合他们用的工具。根据他们自己的特长和需求选择他们需要的一部分。

我们现在做的很多工作和大学联系,比如大学要想教学生数据库设计、UML、企业流程或者软件流程,可以给他们一个PowerDesigner的正版软件使用,我们也可以给他们讲课。我们可以经常做一些工作比如和你们公司联系在网上讲一些什么样的课,在其它的城市比如北京、上海、西安、成都巡回讲一些宣传的课。

主持人:说到大学现在学的,PowerBuilder也是咱们开发的,跟PowerDesigner有什么联系吗?

王晓昀:PowerDesigner可以用UML做PowerBuilder的分析设计, 可以自动生成PowerBuilder代码。有的用户有现有的PowerBuilder代码,开发到一定程度就复杂了,因为他们以前也没做分析,上来就开发,开发完了以后也没有做分析设计。用户可以用UML反向生成,把PowerBuilder的代码拿出来,制定一些UML的内程。用户可以一看就看出来可以改一改。改完以后再把它重新放到PowerBuilder里面去。

TOP

主持人:PowerDesigner是如何支持MDA的开发的呢?

王晓昀:PowerDesigner做了很我MDA的支持,现在也有支持MDD的,其实意思也就是把一些数据需求转换成模型,从模型自动生成一些编码这样就不用手写了,以后再改编码了。PowerDesigner怎么支持MDA和MDD呢?PowerDesigner所有的模型我们都加了一个UML这样的模型,就是每个模型可以加一些用户需要的图形,可以把PowerDesigner里面的图形改一下,用户可以加一些自己的模型。等于是把PowerDesigner现有的模型给扩展了。加进了用户需要的一些特殊的信息。是用他自己的模型,图也可以改,模型做出来以后怎么检查也可以改。模型做好以后在模型和模型之间可以转换。比如做数据库的时候有的模型跟数据库可能没关系,有些数据模型是专门支持Oracle的或者是支持微软的,有些是专门支持Java的,有些模型是专门做分析设计的,有些是用来做Web服务的连接的这种功能的。所以我们做了很多支持MDA的功能,比如用户想生成Java的编码,我们可以帮助用户生成数据库的编码,或者生成Hibernate, EJBE 3.0, JSF的代码。也可以帮助用户生成测试的编码。 我们可以帮助用户把本身的PowerDesigner里面的MDA拿来就用。或者可以加上一些自己扩展的信息,加到自己的代码生成的代码里。用户也可以用其它的语言来控制。比如把用户生成的数据拿出来,成生另外一个模型或者自己的编码,都可以的。

主持人:请您结合实例简单介绍一下开发人员应该使用PowerDesigner哪些技术来开发一个小型的数据库业务系统?包括需求分析、建立业务模型、对象模型、数据模型以及代码生成?

王晓昀:我们建议用户第一要先做需求分析。因为需求分析是先要搞清楚需求是哪儿来的,是内部的需求、客户的需求?还是开发人员的需求,还是市场人员的需求。需求流出来以后可以做下面的分析。PowerDesigner是用需求分析模型来做的。用户也可以把一个需求写在一个Word里面。下一步很多用户是写一个Use Case的图,比如药店收费系统,要做医药类的管理,要知道有哪些类型的药?药的费用是多少?存货量是多少?要对这些进行管理的话,要做一些Use Case分析。谁可以使用这些功能,什么样样的功能都要列出来,列出来的图都要画一些分类。这些药是不是需要这样的类别进行管理?还有是不是要管理一些病人?售药的部门?所以做Use Case的时候可以把这些需要的类找出来。

这样分析到一定程度的时候可以把大概需要的类找出来,下一步可以做更加具体的类成的分析、设计。这样用户可以考虑一些其它的功能。比如类和类之间有什么关系?分析到一定程度的时候差不多可以生成一些编码了。可是生成编码之前要考虑这些类用Java或者刀片做的话,要考虑到把这些存到数据库里。要考虑到数据库的格式。这样可以用PowerDesigner的UML模型转换成物理模型。有了数据模型以后做进一步的调整,比如支持数据库要考虑数据库的速度问题。

有的用户在生成数据库之前还要考虑到其它的工作。不能光从UML角度考虑,因为UML考虑是一部分,有的用户也用企业流程考虑。比如我们的企业要管理这些药,可以把企业流程显示出来,比如用户买药先把医药选出来,然后开个单子,然后交款,算好以后存到一个什么地方,然后另外一个单子发回来。然后重新做什么处理,这个药已经卖出去多少,还有多少,流程都要显示出来。然后每个流程需要什么数据,这个流程到那个流程之间发现什么数据,也可以解释把一个帐单交过去什么需要交款?找出来这些数据也帮助用户把数据库的格式给优化了。这样的话找到最后数据的格式就比较完整,所有需要的数据都考虑到了。这样的话就可以把数据生成出来了。

最后用户可能要开发一些代码使用数据库。用户可能想做一些跟数据库联系的代码,PowerDesigner就可以把一个数据成生模型、流程模型连接起来。我们知道哪个表和哪个类有联系。而且PowerDesigner里面有一个地址,左边是一些表,右边是一些类,下面是一些什么样的关系。这些都可以生成一些代码帮助用户。

这样用户第一可以用PowerDesigner做不同的需求分析,可以做各种模型之间的转换,可以自动的把数据库生成出来。到最后用户一看很多编码都是自动生成出来的。就不用手写了,而且改起来也方便。比如需求改了,对这个表有影响、对这个流程有影响,每个负责模型人他们就会小心了,改完以后数据库可以自动修改一下。这样的话用户看到的是使用MDA的好处就是把时间花在模型上了,最后手写代码时间少了错误少了,改起来速度也快了。

TOP

网友:PowerDesigner会把核心开发放在吗?

王晓昀:现在因为在法国有一个开发团队,法国开发团队开发时间已经很长了,经验也比较丰富,现在是想在中国增加开发团队帮助法国同时开发。因为在法国更高的陈找特别好的话不太特别好找,在国内技术高的人每年大学毕业的人很多,很多工程师水平很高。所以我们想法是在法国也开发,在中国上海也开发,这样合作起来的话速度就更快了。

主持人:有关PowerDesigner近期你们在上海开过一个会,说PowerDesigner12.0是最近开发出来的吗?

王晓昀:是今年1月份开发出来的,现在12.1版本也开发出来了。

主持人:它的功能有什么新的特点吗?

王晓昀:比如我们现在有一个新的需求分析模型可以帮助用户把需求分析写出来,把需求分析和其它的分析连接起来。比如用户把一个模型改了,我们马上告诉他这个模型改了对其它的模型有影响。那用户改的时候就会小心了,决定改它通知其它的的模型的负责人相关的地方也得改。它加了新的对数据库的支持,比如Sybase ASE 15.0,对Java的支持,对Oracle的支持。也可以生成很多Java, Hibernate, EJB 3.0, NHibernate, ADO .NET等等,还有很多版本。

主持人:请您介绍一下结合行业建模和生命周期的发展历程谈一下国内开发人员的差距,并以此说明PowerDesigner是在国内所必需的是大有前途的?

王晓昀:我最近一段时间经常回国和一些大学合作谈谈,经常到一些软件公司谈一谈。我觉得看起来国内和国外还有一些差距。主要是在大学很多学校的学生都学过软件工程可是不清楚使用起来是怎么样的,理论上学过,可是没怎么做过。另外一个问题是,我觉得很多软件开发公司他们以前也没做过软件工程,经验也不多。有些公司比如说他们有一百多个人,他们问我怎么做才能把这一百多个人的团队管理起来。他们也在琢磨,也不太清楚。这可能还是经验问题,前几年也没有考虑到软件工程。现在做软件工程因为产品越来越复杂,开发人员越来越多,另外一个问题是有的大公司他们自己开发的能力不太强,这样造成软件开发公司自己也不太清楚,而且也没有用PowerDesigner这样的工具帮助客户。结果大公司觉得得把开发任务交给他们了,小公司他们也不太熟悉,他们也好像没太想用PowerDesigner这个工具帮助客户。结果效果不太好。

另外一个问题是,很多公司可能也用过PowerDesigner的工具,用的都是盗版的,这造成了一个问题是对软件工程的发展不太有利。要想解决这些问题要使用几种方法:第一是学校要起一定的作用。光教学生软件工程理论上的点不行,要真的开发起来要用一些什么样的工这样的实践。比起其它国家来说区别是相对于欧洲和其它国家,他们在学校里已经学了很多东西,而且在大公司因为大公司有自己的开发能力,起码有几个人对这个比较熟悉,可以把其他的人带动起来。其他的人也熟悉,其他人换了公司他们也知道怎么做了。慢慢他们知道软件工程的重要性,使用软件工程应该用什么样的工具?怎么用?做到什么样的部分用什么文件,都知道了,这样效果就好得多。现在国内跟前几年比这方面已经重视很多了。前几年我回来没有人提到软件工程,这几年很多大学、大公司对这方面都比较感兴趣,可能还没有琢磨透,有些大公司但是感觉到了必须用一些大工具。可是他们还没有搞明白到底怎么用PowerDesigner支持软件工程。我们也会做一些工作,和大学联系、跟大公司联系,写一些文章、写一些书,把大学生们指导一下教他们如何做起来。

TOP

主持人:说到PowerDesigner很早就开发出来了,但是有没有申报专利呢?

王晓昀:我们目前还没有考虑申请专利,以后可以考虑哪部分申请专利。

主持人:现在PowerDesigner对开发人员来说已经是家喻户晓了,但是国内还是不太认可。

王晓昀:我们主要是用不同的办法让用户了解。第一个办法就是和大学合作,我们已经到很多大学讲课,有很多大学跟他们谈了以后,他们都对用PowerDesigner和其它的产品感兴趣。以前他们其实也用过,学生也用过,但是大多是盗版的。我们愿意赞助他们使用最新版本的正版的。其它的方法就在网站上写一些文章,我们也做了很多中文版的发布,做了一些Flansh做的可以当下来的,在网上可以直接看。现在在中国有开发团队,Sybase在北京、上海、西安都有开发团队。PowerDesigner主要是在上海,我们在中国有了开发团队以后他们也写了很多中文的文章,解释怎么使用PowerDesigner。PowerDesigner都有什么好处?写了很多类似这样的文章,这样也会起到很好的作用。因为PowerDesigner在中国卖的越来越好,虽然达不到在美国、欧洲、南美的效果,可是还是越来越好,所以我们也愿意在中国做的更多。前几年是盗版的比较多,现在很多大公司真正意识到了需要这种工具。以后这些大公司开始做起来其它公司也可以慢慢带动起来。

主持人:国内为什么不用正版呢,可能因为咱们的市场在国外,造价比较高,国内大多数用户可能接受不了,你们在国内发布PowerDesigner在国内是不是可以稍做调整呢?

王晓昀:这个问题我说不好,可以跟销售的沟通一下。我能理解这个问题,国内有的公司可能钱不是很多,可能PowerDesigner的价钱很贵。在外国开发人员工资很高,如果使用这样一个工具不用那么多的人,节省多少时间,节省多少开支,这样这部分的钱就赚回来了。第二部分用这个工具加快了速度,这样钱就赚回来了。所以外国公司不是想省钱,想的是赚钱。在国内可能只有一些大的公司才能接受,比如银行、部队,他们的数据库比较复杂,有上千个表,分公司就有很多数据库,管理起来太复杂了,必须有一个工具管理。所以这时候必须得有建模工具。所以价钱来说以后可能会稍做调整。 主持人:时间过的很快,在最后的时间里请王先生给大家展望一下PowerDesigner的未来发展趋势? 王晓昀:我们现在考虑已经有好几个版本的PowerDesigner明年、后年会出来。现在主要是把重点放在原模型管理上,原模型管理是用户可以把比较复杂的数据库、模型、数据库和数据库之间的关系都用PowerDesigner模型显示出来。如果一个公司买了几个公司的数据库,所有这些数据库的每个帐号的定义都要有统一的管理的,PowerDesigner可以帮他们做这样的工作。

有的公司报帐的时候,每个季度都要检查的,检查出来赚钱的参数是哪儿算出来的,算法很复杂的,必须得把这种算法拿出来让检查人员看。这样的话得用一种方法显示,从哪个数据库拿出来的?这样必须得用一种模型的方式制定好存到数据库里面去。所以所有的原数据管理和模型与模型之间的转化关系,都要由PowerDesigner做好管理。

有的大公司要支持软件工程我们要帮助用户把整个公司里面的架构不同的模型方式显示出来。如果想要做软件工程的话我们会做一些工具帮助他们。我们是直接在PowerDesigner里面帮他们做了,告诉他们要做什么,比如做一些医药的数据库,我们直接告诉他们第一步先做,第二做什么,第三步做什么?用户就算不熟悉也可以用PowerDesigner做一些复杂的项目。

特别是数据建模方面要做一些改进,比如可以支持最新的的数据库。Sybase的很多新功能我们都要支持。我们要做一些新的模型支持、ETL的支持。比如用户需要把一个数据库里的信息用一种算法转多另外一个数据库里面去,我们在设计方面要帮助他们。

还有对其它企业级的建模要做很多改进,比如UML方面的,企业流程方面的。还有MDA方面的,都要做一些改进。这样的话PowerDesigner就不是一个纯的数据建模工具,是一个整体的企业原模型管理的工具。

TOP

网友:由您个人的角度比较一下法国的开发人员与国内的开发人员相比,国内开发人员还欠缺点什么?有什么不同吗?

王晓昀:还是有点欠缺。在法国像我们组开发人员很多人工作已经很长时间了,有的10年、有的15年。有两部分,有一部分由于工作时间长了,经验多了,慢慢做的越来越好。相对来说在国内的开发人员可能开发时间没有那么长,经验上相对来说还是差一点。不是纯技术上的,纯技术上的比如开发Java开发C++这方面差距几乎没有,我们主要的差距是在涉及一些新的功能的时候,在法国我们的工程师还是做的稍微好一点。创新性好一点。在国内如果要是帮助他们,引导引导他们,告诉他们应该做一些什么样的功能,大概往哪个方面发展?他们也可以做的很好。国内开发人员可能经验稍微差一点,这样创新上稍微差一点。如果有很好的引导他们也会做很好。

网友:王先生您考虑过退休之后干些什么吗?还会继续致力于PD吗?

王晓昀:我还没有考虑,因为我觉得还很年轻,很有精力,还对PowerDesigner非常感兴趣。因为我感兴趣不想停下来,所以没考虑到以后什么时候退休?按我现在的年龄算可能还能干个20年。可能说不好,干20年是不是还叫PowerDesigner,那时候可能就叫PowerDesigner 35了。

主持人:由于时间关系今天的直播就到这儿,大家接下来有什么问题可以到直接我们的技术论坛发帖继续提问,请网友们进入社区:http://bbs.tech.ccidnet.com/htm_data/56/0610/182135.html相信相信王先生会给一个完美的答案,谢谢大家!

王晓昀:谢谢,再见.

TOP

发新话题