技术开发 频道

成功的节奏

【IT168 技术文档】


    记得一位心灵激励大师说过一句这样的话:“人生的辉煌始于观念的改变,重要的是改变。”于是,让我又想起《成功学》课堂上与大家分享的一个例证故事:诗人拜伦有一天在路边见到一位盲人乞丐,很可怜的样子,顿生同情心。于是拿来纸和笔,为其写下一句话:春天到了,但我却看不到美丽的风景。然后他悄悄地走了。从此路过的人们见到这么一句话都纷纷解囊。通过平凡的故事我们不难联想到,更好的生存越来越需要更多转变和创新。生活如此,企业的发展更是如此。有的时候,成与败真的只在一念之间!

PowerDesigner,作为一款由国人开发的软件,在国际市场上取得了巨大的成功。回顾近20年来的发展历程,我们从PowerDesigner的设计者王晓昀的话语中,更是感受到了不断创新对企业成功的重要性。

需求是软件成功的基础

    1978年,王晓昀考上了北京大学,在北京读了3个月的书之后,就被国家派到了法国留学。在进行了简短的法语培训后,王晓昀到了一所巴黎的大学,就读通信专业,进行相关行业的软硬件开发领域的学习。毕业后,他在当地的一家叫做SDP的软件公司实习,并留在那里开始了自己的工作,由于公司的规模不大,需要为大的公司做软件开发,而数据库设计的工作通常要进行几个月,没有工具的帮助很难顺利完成,这样,公司希望能够从欧美市场上购买一款这样的工具,但最终也没有找到中意的。

几经商量,王晓昀决定自己开发一个这样的工具。就这样,1988年,在Windows 1.0上PowerDesigner诞生了,当时公司决定只在内部使用,并没有销售的念头,然而,用过一阵,大家普遍觉得不错,这样公司才有了销售的想法。1989年,公司开始在法国发售名为AMC*Designor的产品,在取得了一定的成绩后,公司决定进一步把市场拓展到美国。1991年,一款名为S-Designor的产品再美国上市,也同样取得了成功。

1995年,SDP被Powersoft收购,当时PowerBuilder在国外卖的很好,他们的一些开发人员也希望能有这样的一款数据库设计工具。同年,Sybase又收购了Powersoft,而在美国销售S-Designor也正式更名为PowerDesigner。由于早期的开发工作硬件环境的制约,王晓昀认为当时使用的技术已经不能满足PowerDesigner发展的需要。1996年,王晓昀决定用C++来对其进行重构,在1999年,Sybase发布了PowerDesigner 7.0,为其加入了企业流程、UML等方面的功能,而这些在从前都是不可能实现的。从那时开始一直到现在,王晓昀一直在从事着PowerDesigner的开发工作。

回想起PowerDesigner自身的发展,王晓昀说:“早期的PowerDesigner只支持数据库的设计,再后来才慢慢地加入了UML,企业流程和repository等方面的功能。现在的产品已经可以把这三方面的设计整合起来,实现彼此的沟通。我们初期的开发工作全部是在法国完成的,直到前几年,开始在上海开设了研发中心,招了一批人从事开发工作。主要负责本地化以及了解国内企业需求等方面的工作。另外,现在.NET framework中已经包含了很多现成的代码,在将来,我们也有可能会利用 .NET再次对PowerDesigner进行设计。”

谈到PowerDesigner的特色,王晓昀谈到了以下几个方面。首先,在数据建模方面,PowerDesigner有较快的市场响应速度。Oracle 10g、SQL Server 2005等产品刚一推出,我们马上就发布了支持其新特性的新版本产品。相比于其它让用户等上几年才升级的产品,我们无疑是有优势的;第二,在技术上,PowerDesigner的概念数据模型(CDM)和物理数据模型(PDM)是分开的。数据库分析设计人员可以按照概念数据模型进行数据库的设计。CDM是数据库概念设计规范,它可以生成针对不同数据库系统的PDM。目前,PowerDesigner的PDM可以支持超过60多个主流的数据库,并提供了安全以及优化方面的功能。应该说,这些特点从PowerDesigner的第一个版本就有了,尽管当时有很多用户对此感到不习惯,但现在来看,很多大的厂商也在仿照我们的做法,让不同的企业人员可以使用不同的模型进行设计,这无疑也是我们成功的地方。第三,PowerDesigner可以很好的体现各个模型(业务流程模型、数据模型、UML模型和XML模型等)之间的联系,使得不同人员可以按照自己的方式进行数据库应用系统设计。一些商业用户可以利用流程模型说明他们要的数据,可以根据流程来设计数据库,所有的工作都是在同一个环境下完成的,从而把数据模型和商业流程模型连接在了一起。当开发人员需要利用编码访问数据库中的数据时,通过PowerDesigner的UML模型可以自动生成O/R Mapping相关的代码。

当然,王晓昀也看到了目前PowerDesigner存在的问题。伴随着功能的日益完善。软件的使用复杂度也在上升。导致了很多新人上手不是很容易。在新的版本中,这个问题将得到部分的改善。中文说明书将更加完善,加入更多指导性的内容,便于使用者查询;另外,新的PowerDesigner中还加入了很多关于特性的Flash动画,指导用户完成他们想要做的任务。对于技术资料,一方面公司也正积极地筹备更多的中文技术文档,通过网络和杂志进行宣传;另一方面,王晓昀自己也在写一本关于使用PowerDesigner方面的书,他说估计今年能够完成,并尽快与读者见面。

模型是高效构建软件的良方

    除了关于PowerDesigner本身的一些思考,作为一个建模软件的设计者,在这十多年的工作中,王晓昀对模型驱动开发有自己独到的理解。他概括说:“首先,模型可以有效提高软件质量、减少开发时间和降低维护成本。客户利用模型分析和设计应用程序,并根据需求正确的生成规范;其次,模型是实现的一个更高层次的抽象,代码生成器可以根据模型自动地为用户生成一些数据库和应用程序的代码,并利用Repository来进行模型存储和版本管理的工作。最后,当有新技术产生的时候,用户还能够通过模型来最快地获得新技术的支持。总之,在开发之前,多花一些工夫建立一些模型,还是非常有好处的。”而PowerDesigner的成功更是印证了王晓昀的观点,在国外,模型的应用已经相当普遍和成熟了。

在国内,由于开发周期紧张的原因,一些公司和开发人员接到项目似乎更倾向于尽快投入产品的开发工作,而不会花费太多的时间从事流程描述和建模,这似乎是和国外不太相同的地方。这样,一些公司就总是处在夹板的中间,左边是工期,右边是质量。开发人员如何解决好设计应用程序和描述业务流程的关系,就成了一个让很多人头疼的问题。对此,王晓昀向我们介绍了他们公司的情况,他说:“由于公司从事模型相关的软件开发,所以,大家对建模技术都比较熟悉。员工们使用PowerDesigner来对其自身进行改进。PowerDesigner内部提供了requirement模型,我们可以利用它来显示PowerDesigner自身的一些需求,并利用它来自动地生成开发计划、开发文档和使用说明书。当软件发生版本变化的时候,PowerDesigner还可以根据变化自动修改开发文档,通知相关的部门和人员修改他们的开发计划。除了设计方面的工作外,我们还利用PowerDesigner提供的UML模型来帮助我们实现改进其内部功能的编码,例如类和接口的设计等。由于PowerDesigner是用C++编写的,UML可以很方便的辅助大家的开发工作。另一方面,由于PowerDesigner使用了一个可以支持Oracle、SQL Server等产品的repository,所以,我们也直接使用PowerDesigner来进行模型管理。总的说来,让PowerDesigner深入到我们开发过程中的每一个环节,可以让我们更清楚的了解到这个产品中的不足和用户真正的需求,从而让PowerDesigner做的更好。”

编辑手记

教育成了阻碍中国软件发展的瓶颈

最后,当我们问及关于国内外软件开发环境问题的时候,王晓昀表示这几年来,国内有了长足的进步,新技术的推广和应用速度快了很多,甚至有些在国外尚不普及的技术在国内都有了应用。至少在建模这个领域,国内的客户有了更多的认同,更多的人开始使用建模工具,也开始认识到这种技术的重要性。这些都是非常好的事情。他认为,当前国内外技术上的差距并不是很大,关键问题在教育上。国外大学的内容和市场的需求联系比较密切,学生毕业后知道自己能够去做些什么。能够很快的融入到社会中来。而国内的教育则显得过于理论,学生的论文和研究和市场的需求相差较远,不能满足公司的需求。如果教育这里能有所改进,使得学生的研究成果可以变成公司的产品,无疑会加快国内软件产业的发展。
0
相关文章