日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

集成化企業(yè)級建模工具—PowerDesigner12.0

 tokyo2006 2008-03-21

                                                            集成化企業(yè)級建模工具—PowerDesigner12.0

Sybase 公司PowerDesigner上海研發(fā)中心 張曉光,王曉昀

1. 簡介
提高軟件質(zhì)量,縮短開發(fā)周期, 并且使軟件更能夠適應業(yè)務(wù)需求的變化,以提高投資回報率,是每個企業(yè)所面臨的、需要解決的關(guān)鍵問題。軟件建模一直被認為是提高與有效控制軟件質(zhì)量的解決之道。近些年來為大家關(guān)注的主要是數(shù)據(jù)設(shè)計模型、對象模型、和業(yè)務(wù)流程模型。由于歷史原因,面向數(shù)據(jù)架構(gòu),開發(fā)以及業(yè)務(wù)分析的建模工作總是被單獨購買,彼此之間沒有集成或共享信息。但是,企業(yè)不斷需要更集成的建模套件,即集成化企業(yè)級建模工具,來支持在共享環(huán)境下,企業(yè)整個架構(gòu)的不同方面的全面建模。

目前各主要的建模工具廠商如Sybse PowerDesigner, IBM Rational Rose, Computer Associates的ERWin等都在加強各自建模工具的融合與集成。PowerDesigner經(jīng)過近20年的發(fā)展,已經(jīng)在原有的數(shù)據(jù)建模的基礎(chǔ)上,形成一套完整的集成化企業(yè)級建模解決方案(如圖1所示),

融合了幾種標準建模技術(shù):傳統(tǒng)數(shù)據(jù)庫建模、使用 UML 的應用程序建模和業(yè)務(wù)流程建模。而且支持主流應用程序開發(fā)平臺(如 Java J2EE、Microsoft .NET、Web Services 和 PowerBuilder,Eclipse等)以及流程執(zhí)行語言(如 ebXML 和 BPEL4WS)。業(yè)務(wù)或系統(tǒng)分析人員,設(shè)計人員,數(shù)據(jù)庫管理員DBA和開發(fā)人員都可以對其裁剪,以滿足他們的特定的需要。

本文首先介紹PowerDesigner12對企業(yè)級建模支持所提供的各個模型及其之間的關(guān)系。并通過典型實例-客戶訂單處理子系統(tǒng)展示PowerDesigner12在以數(shù)據(jù)為中心的企業(yè)應用分析開發(fā)這個生命周期的全面建模的支持。

2. 企業(yè)級建模 = PowerDesigner
Sybase PowerDesigner是Gartner評出的2004年全球排名第一的數(shù)據(jù)庫建模工具。PowerDesigner靈活的分析和設(shè)計特性允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)倉庫,并支持最新的RDBMS引擎以及數(shù)據(jù)庫中的Web services和XML等功能,而且不要求嚴格遵循一個特定的方法學。PowerDesigner提供了直觀的符號表示使數(shù)據(jù)庫的創(chuàng)建更加容易,同時能更加簡單地向非技術(shù)人員展示數(shù)據(jù)庫和應用的設(shè)計。目前PowerDesigner支持60多種數(shù)據(jù)庫及其不同版本,主要的數(shù)據(jù)倉庫以及數(shù)據(jù)分析工具 (OLAP)等

PowerDesigner是一個功能強大而使用方便的工具集,為新一代數(shù)據(jù)庫應用的建模提供了全面的支持。具體地,PowerDesigner提供:
1. 需求分析模型(Requirements Model—RQM)
2. 企業(yè)業(yè)務(wù)流程模型(Business Process Model—BPM)
3. 概念數(shù)據(jù)模型(Conceptual Data Model—CDM)
4. 物理數(shù)據(jù)模型(Physical Data Model—PDM)
5. 對象模型(Object Oriented Model-OOM)
6. 信息流動模型(Information Liquidity Model—ILM)
7. XML 模型(XML Model)
8. O/R 映射支持(如Hibernate,JDO等)
并提供了強大的模型間生成、鏈接和同步技術(shù)(具體地轉(zhuǎn)換關(guān)系見圖2),比如由CDM可以生成PDM,PDM可以生成OOM,OOM可以生成

應用程序的代碼,并可以從應用程序代碼(如C#, Java等)生成類圖(雙向工程)等。并提供了沖突分析(impact analysis),有效地評價各個模型修改帶來的沖擊,從而得到更好的敏捷性和可預測性。這樣,用戶可以根據(jù)需求分析模型(RQM),從面向?qū)ο蠓治鲈O(shè)計(OOM)開始,依次建立用例圖,時序圖及類圖,由類圖轉(zhuǎn)化為CDM以及PDM;或者從結(jié)構(gòu)化分析開始,依次產(chǎn)生流程分析模型(BPM), CDM,PDM并轉(zhuǎn)化為類圖等。為了支持企業(yè)團隊的開發(fā)管理,PowerDesigner更進一步,建立了所有模型的統(tǒng)一共享環(huán)境,一套元數(shù)據(jù)庫 (metadata repository),為企業(yè)級應用的分析、設(shè)計與開發(fā)提供了一個企業(yè)建模、UML和數(shù)據(jù)建模等三種建模的集成化的工作環(huán)境。

3.PowerDesigner 應用實例


3.1客戶訂單處理子系統(tǒng)需求定義
建立需求模型的目的是定義系統(tǒng)邊界,使系統(tǒng)開發(fā)人員能夠更清楚地了解系統(tǒng)需求,同時為計劃迭代的技術(shù)內(nèi)容提供基礎(chǔ),為估算開發(fā)系統(tǒng)所需成本和時間提供基礎(chǔ)。 PowerDesigner提供了有效的需求建模,保證更準確的項目結(jié)果,并通過建立設(shè)計和需求的關(guān)聯(lián)保證更好的可追蹤性。圖3給出的是客戶訂單處理子系統(tǒng)中的部分需求模型,PowerDesigner通過層次結(jié)構(gòu)顯示了該系統(tǒng)的主要功能。用戶可以通過屬性對話框(如圖3所示),進行詳細的需求描述。同時,為了進一步分析該子系統(tǒng)的業(yè)務(wù)需求,結(jié)構(gòu)及機制,發(fā)現(xiàn)企業(yè)中當前存在的問題并確定改進的可能性,可以進行業(yè)務(wù)流程分析。圖4給出了該子系統(tǒng)的最上層的企業(yè)業(yè)務(wù)模型表示。在PowerDesigner中,不僅支持業(yè)務(wù)過程建模,而且也提供了業(yè)務(wù)流程仿真,業(yè)務(wù)流程經(jīng)過配置,可以導入Simul8中進行仿真,幫助用戶對業(yè)務(wù)過程進行量化的評價。

由于該企業(yè)原來已經(jīng)有若干Legacy子系統(tǒng),包括CRM,ERP以及訂單管理系統(tǒng),因此,該企業(yè)提出基于XML的Web Service的集成,同時為了有效響應市場的變化,必須建立決策支持子系統(tǒng),如庫存趨勢分析或客戶響應分析等,提高企業(yè)資源的合理分配及其敏捷性。


3.2 概念數(shù)據(jù)模型 (CDM) 建模
概念數(shù)據(jù)數(shù)據(jù)模型(CDM)設(shè)計是建模過程的關(guān)鍵階段,此階段把現(xiàn)實世界中需要保存的信息抽象成信息世界中的實體(Entity)和關(guān)系 (Relationship),產(chǎn)生實體關(guān)系圖(E/R Diagram)。這一階段可以為高質(zhì)量的應用提供堅實的基礎(chǔ)。建立概念數(shù)據(jù)模型(CDM)是一項綜合性的工作。通常在一個清晰的、包括全部業(yè)務(wù)過程描述的應用需求的基礎(chǔ)上,由具有業(yè)務(wù)領(lǐng)域知識的專家和數(shù)據(jù)模型專家共同合作,把這些原始數(shù)據(jù)轉(zhuǎn)化成數(shù)據(jù)流程圖和概念數(shù)據(jù)模型。

PowerDesigner并不限制CDM的建模過程,用戶可以(1)從數(shù)據(jù)項開始,“自底向上”地從最小的數(shù)據(jù)單位開始向上構(gòu)造,當收集到足夠的信息時進行歸納,把數(shù)據(jù)項分組放入不同的實體中,然后歸納產(chǎn)生域;(2)從感興趣的對象開始,即實體開始,然后指定它們的屬性。當收集到足夠信息時,進行歸納產(chǎn)生域;圖4的CDM就是根據(jù)上面的系統(tǒng)需求分析中的從實體選擇出發(fā),如在圖3的需求模型以及圖4業(yè)務(wù)過程模型中,可以抽取Customer, Order, Product等實體,逐漸完善各實體的屬性,并建立它們之間的關(guān)系。(3)也可以“自頂向下”,從域開始,使用這種方法,在收集開發(fā)數(shù)據(jù)模型前,必須有某些業(yè)務(wù)問題所需要的預備知識,以此對數(shù)據(jù)進行標準化。

PowerDesigner支持非常復雜的概念模型建模,包括中間實體(Association Entity),標識符(Identifier),檢驗約束(包括數(shù)據(jù)項或?qū)嶓w屬性的取值范圍及有效性規(guī)則),實體繼承,復雜關(guān)系定義,如:一對多,多對一及多對多以及反身(Reflexive)與依賴關(guān)系等(見圖5)。

這里需要特別指出,PowerDesigner引入了業(yè)務(wù)規(guī)則。定義了6種業(yè)務(wù)規(guī)則的類型:定義型(Definition),事實型(Fact),有效型 (Validation),公式型(Formula),需求型(Requirement)和限制型(Constraint)。這些規(guī)則能夠定義實體、聯(lián)系的狀態(tài)、數(shù)據(jù)一致性及業(yè)務(wù)表達式。在CDM轉(zhuǎn)換成PDM的過程中,概念級定義的業(yè)務(wù)規(guī)則直接轉(zhuǎn)換成物理級的業(yè)務(wù)規(guī)則。在PDM 中,實現(xiàn)業(yè)務(wù)規(guī)則需要使用特定的RDBMS 的代碼(例如,觸發(fā)器或存儲過程)。上述功能大大增強了數(shù)據(jù)庫系統(tǒng)的分析建模能力。

3.3 物理數(shù)據(jù)模型(PDM)建模
CDM反映了業(yè)務(wù)領(lǐng)域中信息之間的關(guān)系,它不依賴于物理實現(xiàn)。只有重要的業(yè)務(wù)信息才出現(xiàn)在CDM 中。PDM定義了模型的物理實現(xiàn)細節(jié)。例如,所選RDBMS的數(shù)據(jù)類型特征、索引定義、視圖定義、存儲過程定義、觸發(fā)器定義等。 PowerDesigner支持CDM和PDM之間的雙向工程。圖6是由圖5所示的CDM模型自動生成的PDM模型,CDM中的實體,實體屬性,標識符,聯(lián)系,甚至繼承關(guān)系等都將自動轉(zhuǎn)換為PDM中的表,列,主鍵或外鍵,參照完整性等。用戶可以通過屬性對話框,修改PDM模型并反向生成并合并(Merge)原來的CDM模型。

PDM建模除了最基本的數(shù)據(jù)庫建模(如表,列,主鍵/外鍵以及關(guān)系定義)的支持,還支持觸發(fā)器(Trigger)和存儲過程或函數(shù)的建立與優(yōu)化,并建立它們與業(yè)務(wù)規(guī)則的關(guān)系。用戶可以針對選擇的RDBMS,進行數(shù)據(jù)庫的優(yōu)化設(shè)計。并且經(jīng)過PDM的模型校驗后,設(shè)置生成屬性(自12.0后,為了提高用戶設(shè)置的復用性,這些設(shè)置可以保存在模型內(nèi)/外),可以生成SQL腳本,直至通過ODBC直接生成到最終的DBMS中。當然PowerDesigner還支持由 DBMS的逆向生成PDM模型,即用戶可以選擇DBMS中現(xiàn)有的表,生成它們的PDM模型。整個過程都是可以迭代進行,不斷完善用戶的物理數(shù)據(jù)庫模型。

在完成PDM建模以后,用戶可以根據(jù)需求,如本書中的實例中要求基于XML的Web Service的集成,因此需要生成相應的XML模型。PowerDesigner可以根據(jù)用戶的選擇(如選擇所需的表等)生成相應的XML模型,并提供了進一步編輯與修改環(huán)境。圖7是本書實例對應的XML模型及其屬性對話框。


3.4 數(shù)據(jù)倉庫(Data warehouse)建模

數(shù)據(jù)倉庫的作用在于從企業(yè)的應用系統(tǒng)中獲取信息并轉(zhuǎn)換到一個新的數(shù)據(jù)庫,通過對新庫中的歷史信息和面向主題的信息進行分析,為決策提供支持。以本書的客戶訂單處理子系統(tǒng)為例,企業(yè)需要作出如下典型決策,如哪些產(chǎn)品最有利可圖?哪些客戶會為我們帶來最大利益?哪些環(huán)節(jié)需要花費很高的費用?哪些市場活動運行得最好,為什么?我們有可能會失去哪些客戶等等。圖8是PowerDesigner建立的本書實例

相關(guān)的一個典型數(shù)據(jù)倉庫,表示訂單立方體(Cube)包含客戶,產(chǎn)品,區(qū)域以及門店等維度(Dimension),在ORDER刻面(Fact)定義了不同的評價(measures)來進行訂單分析。通過這樣的數(shù)據(jù)倉庫,用戶可以查看某個區(qū)域的某個產(chǎn)品的訂單情況,也可查看每天的訂單變化趨勢等等。

PowerDesigner不但是業(yè)界知名的數(shù)據(jù)庫設(shè)計工具,也是數(shù)據(jù)倉庫模型設(shè)計工具。支持多種數(shù)據(jù)倉庫模型,包括星型模式(Star)和雪花模式(Snowflake)。這是同行業(yè)中最優(yōu)秀、最靈活的開發(fā)工具,可用來設(shè)計一個關(guān)系的或OLAP(聯(lián)機分析處理)的軟件倉庫。

PowerDesigner在數(shù)據(jù)倉庫設(shè)計工具市場中占有最大份額。它能從已有的數(shù)據(jù)庫進行反向工程,從運行系統(tǒng)中將現(xiàn)存的數(shù)據(jù)結(jié)構(gòu)抽取出來形成數(shù)據(jù)模型,使設(shè)計變得簡單。

3.5 面向?qū)ο竽P?OOM)建模
除了數(shù)據(jù)庫建模,采用標準建模語言UML,對企業(yè)應用系統(tǒng)從需求,分析與設(shè)計,實施等不同階段的全面建模,也是目前的主流方式。 PowerDesigner支持UML1.3的所有模型從PowerDesigner11.0開始就全面支持UML2.0。

在PowerDesigner中用戶可以采用典型的面向?qū)ο蠓治龇椒ǎ缬美?qū)動的軟件分析與開發(fā),即由需求模型出發(fā),建立用例圖,類圖及其順序圖,進而組件與部件圖。同時,PowerDesigner是一個集成環(huán)境,各個模型之間可以快捷的模型同步與管理。特別地,本書實例是數(shù)據(jù)驅(qū)動的企業(yè)應用,因此, OOM可以有PDM來自動生成(如圖9)。

(特別需要指出,OOM和PDM地關(guān)系等價于模型級的O/R映射關(guān)系,可以很直接地支持現(xiàn)有比較流行地O/R 映射地框架,如Hibernate, JDO等,在1.8節(jié)中提到Hibernate代碼生成的支持。)用戶在此基礎(chǔ)上,對OOM修改,進一步定義系統(tǒng)的動態(tài)行為特性,如通過順序圖,活動圖等。圖10是訂單處理子系統(tǒng)中的典型順序圖。當然用戶在進行OOM建模的過程中,會加深對應用系統(tǒng)的理解,通常會對先前的PDM甚至CDM進行優(yōu)化,可以利用PowerDesigner的雙向工程,在重新生成并合并已有模型。


3.6 信息流模型(ILM)建模
在企業(yè)應用的分析與開發(fā)整個過程中,會有大量的模型產(chǎn)生,這些模型之間都存在相應的關(guān)系。PowerDesigner創(chuàng)新地提出信息流模型(ILM),并通過非常直觀的映射編輯器來表達模型之間的信息流動關(guān)系,大大方便了企業(yè)級建模的管理能力。圖11是訂單處理子系統(tǒng)的典型信息流模型以及信息流動關(guān)系的定義,這里表示的是PDM和OOM之間的一個信息映射關(guān)系。


3.7 程序生成的支持
在建模的基礎(chǔ)上,PowerDesigner可以生成應用程序代碼(如C#, Java等),當然也可以反向由應用程序更新相應的模型如類圖(雙向工程)。因此用戶可以選擇建模或代碼優(yōu)先的不同的軟件開發(fā)過程。

特別地,PowerDesigner由于其內(nèi)置的模型映射關(guān)系(包括O/R mapping即PDM和OOM之間的映射關(guān)系),可以很直接支持目前比較流行的ORM mapping框架,如Hibernate,JDO的支持。圖12是典型的Hibernate的映射文件的代碼預覽。不僅如此,PowerDesigner提供了UI界面生成的支持,如現(xiàn)在比較流行的JSF(Java Server Faces)支持,真正實現(xiàn)了以數(shù)據(jù)為中心應用程序的完整的建模與開發(fā)環(huán)境。


3.8 團隊開發(fā)的支持
企業(yè)級應用的開發(fā)通常都是有一個龐大的團隊來完成,而且在整個軟件開發(fā)過程中的不同階段,會產(chǎn)生龐大的分析與設(shè)計模型,必須提供一個理想的團隊開發(fā)解決方案,允許多個建模成員在一個相同的模型上同時工作,這個和傳統(tǒng)的軟件代碼版本管理如CVS,ClearCase有相似之處,不同的是模型的管理粒度,如支持類圖甚至類及其屬性的版本管理等。PowerDesigner基于RDBMS提供了所有模型的統(tǒng)一共享環(huán)境,一套元數(shù)據(jù)庫(metadata repository),成為企業(yè)知識庫,

圖13給出了一個典型實例,具體包括:
• 元模型管理—能在一個位置上存儲、管理和版本化PowerDesigner模型,以及其他類型的文檔,同時全面的權(quán)限管理模型,能控制用戶對模型的訪問和可視化。
• 跨模型的沖突分析—知識庫能為跨企業(yè)的沖突分析提供和維護完整的存儲和跨模型的依賴關(guān)系。
• 軟件資產(chǎn)管理—查找和重用跨越所有模型和項目的對象。
• 安全—基于角色的安全機制,同時伴有記錄日志的功能。

4 .總結(jié)
PowerDesigner提供了一整套可以靈活組合了數(shù)據(jù)建模、UML和業(yè)務(wù)處理建模技術(shù)的集成環(huán)境,支持產(chǎn)品生命周期的所有階段。

PowerDesigner利用基于可靠方法、真正的兩級(概念上和物理上)關(guān)系數(shù)據(jù)庫建模,設(shè)計并生成數(shù)據(jù)庫,還支持數(shù)據(jù)倉庫建模技術(shù)。同時, PowerDesigner使用標準的UML技術(shù)完成面向?qū)ο蟮脑O(shè)計和分析。PowerDesigner不僅加速了分析、設(shè)計與開發(fā)的全過程,也向最終用戶提供了管理和訪問項目的信息的一個有效的結(jié)構(gòu),真正地提供了一個“一站式”建模與設(shè)計解決方案,最大限度地增強IT企業(yè)的生產(chǎn)效率和迅速適應變化的能力。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多