來自巴黎的華人軟件架構師
他締造了著名的設計軟件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%,因此這也極大的促進了公司對技術人員培訓的投入。
我覺得法國的氛圍還是比較適合做軟件的,尤其是給公司開發內部用的軟件很適合,但要做適應市場需要的產品,和美國相比還差一些,因為法國敢冒險的人不多,真正敢投資的人也不多。
posted on 2007-07-27 16:51
前方的路 閱讀(139)
評論(0) 編輯 收藏