Power De signer 基礎(chǔ)入門課件_第1頁
Power De signer 基礎(chǔ)入門課件_第2頁
Power De signer 基礎(chǔ)入門課件_第3頁
Power De signer 基礎(chǔ)入門課件_第4頁
Power De signer 基礎(chǔ)入門課件_第5頁
已閱讀5頁,還剩131頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PowerDesigner基礎(chǔ)入門

PowerDesignerUML建模簡(jiǎn)介

引言

PowerDesigner支持UML1.3的所有圖包括用例圖、序列圖和類圖、活動(dòng)圖表和組件圖表

等,并全面支持UML2Q。改進(jìn)了面向?qū)ο蠓治雠c設(shè)計(jì)(OOAD)分析方法并增強(qiáng)了與開發(fā)過程

的集成。

PowerDesigner能夠幫助您構(gòu)建適應(yīng)現(xiàn)代IT發(fā)展的傳統(tǒng)商務(wù)和電子商務(wù)系統(tǒng),使用

Java等面向?qū)ο蟮恼Z言以及XML等新技術(shù),以物理或虛擬的方式與我們的數(shù)據(jù)庫技術(shù)合

并。我們的目標(biāo)是根據(jù)您的需求,提供隨時(shí)隨地訪問信息、控制業(yè)務(wù)流程的能力,并通過計(jì)

算機(jī)和最新技術(shù)賦予企業(yè)在當(dāng)今任何市場(chǎng)上先拔頭籌的競(jìng)爭(zhēng)優(yōu)勢(shì)。

我們的分析方法和設(shè)計(jì)技術(shù)將會(huì)是多種多樣的,從業(yè)務(wù)流程建模,到UML面向?qū)ο蠓?/p>

析和設(shè)計(jì),以及傳統(tǒng)的關(guān)系建模等。本文將幫助您深入了解UML這項(xiàng)強(qiáng)大的技術(shù),它可以

幫助您的企業(yè)創(chuàng)建出高效的傳統(tǒng)商務(wù)和電子商務(wù)系統(tǒng)。

面向?qū)ο蟮姆治?/p>

在您準(zhǔn)備為企業(yè)作出系統(tǒng)和軟件投資前,必須首先了解企業(yè)的實(shí)際需求,明確所部署的

技術(shù)將如何幫助您的企業(yè)獲取更大的成功。您可以使用UML,借助用例圖、序列圖和活動(dòng)

圖來進(jìn)行分析。這些圖表將幫助您規(guī)劃系統(tǒng)的范圍、動(dòng)態(tài)性能、以及表現(xiàn)方式等。不必考慮

實(shí)施細(xì)節(jié),您希望獲得的只是按照您的需求而表現(xiàn)的系統(tǒng)性能

用例圖(TheUseCaseDiagram)

UML用例圖提供了一個(gè)系統(tǒng)環(huán)境的建模方式。它能夠幫助您確定系統(tǒng)/應(yīng)用程序的外部和

內(nèi)部元素以及系統(tǒng)范圍。作為圖形建模模式,它在您需要與所收集的系統(tǒng)需求進(jìn)行對(duì)話時(shí)

也將有所幫助,對(duì)于研制成品的開發(fā)團(tuán)隊(duì)來說,更是有著舉足輕重的重要性。對(duì)于企業(yè)的所

有者,或第一次接觸該軟件產(chǎn)品的用戶也有很大的幫助作用。用例圖能夠以可視化的方式,

表達(dá)系統(tǒng)如何滿足所收集的業(yè)務(wù)規(guī)則,以及特定的用戶需求等信息。

在項(xiàng)目后期,也能夠用到UML用例圖。您可以通過用例圖中定義的需求來協(xié)助測(cè)試項(xiàng)

目的相關(guān)功能。您不僅可以驗(yàn)證系統(tǒng)性能是否無錯(cuò)誤(無崩潰或明顯的非邏輯響應(yīng)),還可

以驗(yàn)證系統(tǒng)運(yùn)行時(shí)是否按照要求,執(zhí)行了指定命令。這樣,您可以測(cè)試系統(tǒng)是否完全滿足

了要求,以確信成品可以投入生產(chǎn)一一也就是說,它已完全滿足了用戶的需求。

只有確保滿足了合理、實(shí)用的各項(xiàng)需求,才能確保IT項(xiàng)目的更大成功。

圖1-公司客戶下訂單的用例圖

序歹!J圖(TheSequenceDiagram)

您可以使用UML序列圖細(xì)化需求并對(duì)設(shè)計(jì)元素進(jìn)行鏈接。序列圖允許高層和低層對(duì)象

間的交互文檔。該交互在角色(與用例圖中的角色相同)和類實(shí)例(運(yùn)行于計(jì)算機(jī)內(nèi)存中的

技術(shù)對(duì)象和細(xì)節(jié)對(duì)象)之間顯示。

通過序列圖,您可以按照系統(tǒng)特定方案中事件(消息)的精確順序來描述隨時(shí)間變化的

系統(tǒng)行為。使用序列圖進(jìn)行用例分析并引導(dǎo)設(shè)計(jì):您可以決定將對(duì)用例圖所定義的管理任

務(wù)負(fù)責(zé)的系統(tǒng)對(duì)象類型,并決定哪種對(duì)象將管理系統(tǒng)內(nèi)外的"會(huì)話"或通信。由于消息已從序

列圖中抽出,您可以描述類和接口(我們最后要編譯和部署的代碼元素)所需的某些關(guān)鍵

操作(方法)。

SubmitOrder-

--------------------------

逮egistijrOrder

TakeOrder>

VerifyCustomer一

VerifyStJ?ckA

jjroce^sQrder

ShipProduct

圖2-9應(yīng)用程序的序列圖

活動(dòng)圖(TheActivityDiagram)

UML活動(dòng)圖設(shè)計(jì)用于幫助您了解系統(tǒng)中對(duì)象的動(dòng)態(tài)變化。用于描述某一特定類或一組類

如何協(xié)同工作。與序列圖有所不同,活動(dòng)圖不是一系列與時(shí)間相關(guān)的通信,而是從一個(gè)任務(wù)

到另一任務(wù)的控制轉(zhuǎn)移,同時(shí)指定誰(哪個(gè)對(duì)象)對(duì)發(fā)生的任務(wù)負(fù)責(zé)。

UML活動(dòng)圖也是業(yè)務(wù)流程的技術(shù)視圖。可對(duì)業(yè)務(wù)工作流進(jìn)行分析或在“業(yè)務(wù)流程建?!惫?/p>

作后可獲得活動(dòng)圖。

活動(dòng)圖還可幫助構(gòu)造系統(tǒng)內(nèi)元素的詳細(xì)動(dòng)態(tài)視圖(EJB如何互操作等)。

END

圖3-活動(dòng)圖-處理訂單

通過分析推動(dòng)設(shè)計(jì)

通過分析模型可捕獲獨(dú)立于實(shí)施細(xì)節(jié)之外的系統(tǒng)意向和預(yù)期行為,與使用的語言、部署

的應(yīng)用程序服務(wù)器或使用的體系結(jié)構(gòu)都沒有關(guān)系。但是,設(shè)計(jì)階段開始后,?切都發(fā)生了變

化。您必須進(jìn)入生產(chǎn)環(huán)境的細(xì)節(jié)并將軟件構(gòu)建至特定的體系結(jié)構(gòu)。設(shè)計(jì)是對(duì)系統(tǒng)的實(shí)施。

如果設(shè)計(jì)是由分析得到的,您可以更加確信所編寫的系統(tǒng)行為的正確性,確認(rèn)所開發(fā)的

成果將是一個(gè)按需求構(gòu)建的系統(tǒng)。您將獲得高度成功一一讓用戶得到所需要的系統(tǒng)。您還

可以直接利用分析得出的信息而無需在設(shè)計(jì)過程中重新生成,從而縮減開發(fā)時(shí)間,由于不必

“重新復(fù)制"任何工作,因此減少了人為錯(cuò)誤。

通過分析,我們可獲得什么呢?通過用例圖可以發(fā)現(xiàn)對(duì)象并促進(jìn)類和接口的創(chuàng)建。一個(gè)

或更多類和接口可以實(shí)現(xiàn)一個(gè)角色,您可以在角色定義中直接創(chuàng)建類和接口。您還可以將角

色鏈接到現(xiàn)有的類和接口,顯示如何使用一條代碼來滿足所分析的多個(gè)元素。

通過序列圖可以發(fā)現(xiàn)方法并促進(jìn)類操作的創(chuàng)建。如果您需要向類發(fā)送消息,您可以調(diào)用

該類的方法。序列圖中的消息可以用來自動(dòng)創(chuàng)建操作或鏈接到現(xiàn)有操作。您可以通過鏈接跟

蹤方法的功能,包括將哪些作為輸入內(nèi)容和必須返回哪些內(nèi)容等等。

設(shè)計(jì)所包含的內(nèi)容

您已經(jīng)知道要構(gòu)建的內(nèi)容,現(xiàn)在您需要表述如何構(gòu)建。您需要確定業(yè)務(wù)邏輯所在的位置:

可以置于應(yīng)用程序服務(wù)器的EJB等組件中,也可以置于使用VB或PowerBuilder等語言、

作為客戶端應(yīng)用程序一部分的類或組件中,或者做為觸發(fā)器和過程內(nèi)置于關(guān)系數(shù)據(jù)庫中。您

需要根據(jù)需求做出一些選擇,包括擴(kuò)展性、安全、性能和可訪問性等方面。UML類圖和

組件圖將用于定義詳細(xì)的技術(shù)系統(tǒng)靜態(tài)結(jié)構(gòu)。

類圖(TheClassDiagram)

UML類圖、業(yè)務(wù)邏輯和所有支持結(jié)構(gòu)一同被用于定義全部的代碼結(jié)構(gòu)。既然類圖用來模

擬開發(fā)中所維護(hù)的實(shí)際代碼,顯然它是Java或PowerBuilder等對(duì)象語言的概括性表述。

您還可以使用UML類圖來概括XML中的復(fù)雜結(jié)構(gòu),令其更易于開發(fā)和理解。

可以從UML類圖上生成代碼。還可以在開發(fā)過程中編輯該代碼以完善、測(cè)試和部署最

終運(yùn)行的應(yīng)用程序。由于PowerDesigner在對(duì)象語言和UML類圖之間具有1:1的映射功

能,您還可以實(shí)施反向工程代碼,讀取源文件并創(chuàng)建新的類圖。您可以更深入地理解現(xiàn)有系

統(tǒng)并簡(jiǎn)化集成和維護(hù)工作。

圖4-訂單輸入系統(tǒng)的類圖“

組件圖(TheComponentDiagram)

UML組件圖將被用于在更大的黑匣視圖(BlackBoxView)中描述高級(jí)對(duì)象的定義和相關(guān)

性。它仍然是一個(gè)設(shè)計(jì)模型,并且是代碼的直接概括。例如,一個(gè)EJB的組件標(biāo)識(shí)直接鏈接

到實(shí)施所必需的一系列類和接口,并將生成所需代碼來推動(dòng)最終bean的開發(fā)。

Customer

EntityBean_CMP

<<EJBEnti*7>>

Custome日ean

tbshact}

-eiContext:EntifrContezt

+<<Constmctoi>>Customefiean0

+ej)Actirate0:ovid

+e^Load0:void

+ei)Passirate0:void

+"Remove0:ovid

+ej>Store0:void

+setEntityContezttntityConteztcts):void

+unsetEntitrContezt0:ovid

組件圖比組件體系結(jié)構(gòu)的代碼層視圖更容易理解和管理。還可以通過編寫組件接口的文

檔來實(shí)現(xiàn)代碼的共享和反復(fù)使用,用戶無需(或很少)了解組件的實(shí)施細(xì)節(jié)即可在其他項(xiàng)H

和系統(tǒng)中使用這些代碼。

右擊CustomerEntityBean_CMP,選擇Create/UpdateClassDiagram,生成如下classdiagram:

Cu^c<nerHc<ne

**?EJBRid4fU4iftcid5*-Aid8yR1nMryK?yCCudomerP:Ojfit?T?8f

圖6-客戶實(shí)體bean的EJB模型:

循環(huán)疊代工程

世界不是一成不變的,您的IT項(xiàng)目也如此。在您了解需求,通過分析進(jìn)行了設(shè)計(jì),并

構(gòu)建了系統(tǒng)的某些元素后,必然還會(huì)遇到新的變化,如要更新定義,又或者現(xiàn)有用例圖中存

在某些需要改正的錯(cuò)誤,代碼在IDE和文本編輯器中被編輯以及數(shù)據(jù)庫被DBA優(yōu)化等。

必須管理和掌握所有需要更改的細(xì)節(jié),以確保所構(gòu)建的系統(tǒng)能夠與業(yè)務(wù)需求保持一致。

往返工程的一個(gè)方案是當(dāng)代碼在開發(fā)過程中被更改時(shí),需要在類圖中反映出來。具體細(xì)

節(jié)如下:

1.創(chuàng)建類圖并將業(yè)務(wù)邏輯元素添加到模型中

2.生成文件系統(tǒng)的應(yīng)用程序代碼

3.在IDE或文本編輯器中編輯代碼

4.編輯設(shè)計(jì),此時(shí)忽略在生成的代碼中所發(fā)生的更改

5.對(duì)編輯內(nèi)容實(shí)施反向工程,直到與現(xiàn)有類圖一致

6.將設(shè)計(jì)過程中完成的工作與開發(fā)時(shí)編輯的內(nèi)容同步(合并)

7.生成新代碼,該代碼是設(shè)計(jì)代碼和開發(fā)人員更改代碼的總和

當(dāng)對(duì)類圖進(jìn)行了修改以反映新的設(shè)計(jì)內(nèi)容時(shí),應(yīng)該使用同步/合并技術(shù)防止丟失開發(fā)人員的

工作成果,同時(shí)允許設(shè)計(jì)人員接受或拒絕開發(fā)過程中所做的更改。這樣,PowerDesigner令

IT能夠完全控制體系結(jié)構(gòu),這正是制勝的關(guān)鍵。

PowerDesigner的功能并不是僅限于此!現(xiàn)在設(shè)計(jì)模型己被更新,您可以將這些更改鏈接到

分析中。有可能您在分析中發(fā)現(xiàn)了新的需求,可以將這一更改反映到設(shè)計(jì)中并編寫代碼。使

用PowerDesigner中領(lǐng)先的Compare/Merge技術(shù)(在SeptemberBlueprint中討論過),您

可以在開發(fā)周期的所有模型和階段中獲得真正的往返同步。

對(duì)象圖(ObjectDiagram)

與類圖一樣,對(duì)象圖也是一個(gè)UML靜態(tài)結(jié)構(gòu)圖;它定義了系統(tǒng)在給定時(shí)刻具有的物理

元素,而沒有具體考慮系統(tǒng)的動(dòng)態(tài)活動(dòng)。它與代碼一一對(duì)應(yīng),但與類圖不同,我們現(xiàn)在討論

的是具體的分類器,而不是分類器定義。將對(duì)象圖描述為類實(shí)例圖可能最為合適。

對(duì)象圖的主要用途是進(jìn)行分析。類圖中無法表示的類之間存在不確定的約束。我們將使

用對(duì)象圖來記錄這些約束。而且,在我們查看所管理的具體類實(shí)例示例以闡明這些元素之間

的交互作用關(guān)系時(shí),對(duì)象圖還允許我們定義具體的"Whatif"場(chǎng)景。

以下內(nèi)容適用于00建模的初學(xué)者:分類器是抽象的對(duì)象結(jié)構(gòu)定義。分類器可以告訴我

們所管理的是什么類型的數(shù)據(jù)(屬性/成員表示數(shù)據(jù)元素)以及該分類器具有什么能力(操

作/方法表示對(duì)象的行為)。實(shí)例是具體的分類器示例。假定定義一個(gè)名為Customer的類,

該類具有Name屬性。類Customer的實(shí)例"JaneDoe"是姓名恰為"JaneDoe"的客戶。實(shí)例

通常具有比分類器更豐富的含義,這是因?yàn)榉诸惼鞅硎灸撤N級(jí)別的概述。收集某個(gè)分類器的

若干個(gè)實(shí)例或示例可能有助于您理解其用途并更好地使用它。

因此,對(duì)象圖是類圖的具體形式,表示類實(shí)例樣本,并且顯示了鍵值和關(guān)系。例如,

CustomerBean類具有以下客戶實(shí)例:該客戶的ID為52271,姓名為"JohnDoe“。該客戶實(shí)

協(xié)作圖(CollaborationDiagram)

協(xié)作圖和序列圖非常相似。實(shí)際上,序列圖和協(xié)作圖可以有效地交替使用,并可以簡(jiǎn)

便的相互轉(zhuǎn)換。其區(qū)別在于用戶閱讀和理解的方式不同。序列圖具有很好的層次性,并且

圍繞時(shí)間構(gòu)造。協(xié)作圖則主要是圍繞對(duì)象結(jié)構(gòu)構(gòu)造。通過在圖中對(duì)消息進(jìn)行編號(hào)可以表示消

息的順序。采用這種方式時(shí),即使圖的結(jié)構(gòu)不是基于時(shí)間的,也將保持定時(shí)關(guān)系。

協(xié)作圖借助于系統(tǒng)中元素或?qū)ο笾g的交互作用,表示系統(tǒng)的動(dòng)態(tài)方面,即在一段時(shí)間

內(nèi)的表現(xiàn)方式。它通過表示系統(tǒng)的靜態(tài)結(jié)構(gòu)來對(duì)類圖和對(duì)象圖進(jìn)行補(bǔ)充,但不是借助于基于

結(jié)構(gòu)的關(guān)系,而是在系統(tǒng)對(duì)象之間傳遞交互作用“消息"。

構(gòu)造協(xié)作圖時(shí)還可以在概念級(jí)測(cè)試靜態(tài)模型。在類圖中定義了類實(shí)例,這些類實(shí)例之間

的交互作用定義了一個(gè)具體的使用方案以及將在這些元素之間發(fā)生的內(nèi)部通訊。我們還可以

使用其他角色來表示系統(tǒng)的外部作用者和內(nèi)部使用者,如用例圖。

例如,我們可以建立一個(gè)訂單輸入系統(tǒng),以供客戶和銷售代表使用??蛻敉ㄟ^創(chuàng)建新訂

單與該系統(tǒng)交互作用。訂單對(duì)象與銷售對(duì)象之間進(jìn)行對(duì)話,該對(duì)話由鏈接消息表示,在此

情況下,只有兩個(gè)消息:一個(gè)是來自O(shè)rders類的訂單請(qǐng)求,一個(gè)是來自Sales類的訂單確

認(rèn)。對(duì)一個(gè)鏈接上的消息數(shù)量沒有限制。我們?cè)诖擞懻摰膶?duì)話以一個(gè)訂單請(qǐng)求開始,然后是

對(duì)該訂單的確認(rèn)。

適用性

協(xié)作圖對(duì)于設(shè)計(jì)人員尤其重要,因?yàn)樗U明了對(duì)象的作用。您可以在序列圖之前構(gòu)造

協(xié)作圖(如果您計(jì)劃構(gòu)造這兩個(gè)圖),但通常是在完成類圖之后構(gòu)造協(xié)作圖以說明從類中導(dǎo)

出的對(duì)象之間的交互作用。可以使用一個(gè)或多個(gè)協(xié)作圖來實(shí)現(xiàn)一個(gè)用例,或者將復(fù)雜行為分

割成多個(gè)邏輯子行為。

狀態(tài)圖(StatechartDiagram)

狀態(tài)圖(也稱為狀態(tài)機(jī))描述了特定類或組件在其整個(gè)生命周期中不斷變化時(shí)的行為。

該圖顯示是什么觸發(fā)了從種狀態(tài)向另一種狀態(tài)的轉(zhuǎn)換,以及在該類上調(diào)用哪些操作以提

供該狀態(tài)的行為或觸發(fā)這種轉(zhuǎn)換。例如,訂單在被創(chuàng)建時(shí)處于初始狀態(tài)。在客戶確認(rèn)訂單正

確后,訂單將進(jìn)入確認(rèn)狀態(tài)。在發(fā)貨以后,訂單需要從確認(rèn)狀態(tài)進(jìn)入發(fā)貨狀態(tài)。

EtrendsdedtEnccess]

A缶mShie

do/ActDK_l

Evenfiex(onsRnment

因此,每當(dāng)一個(gè)類在其生命周期的不同階段具有不同的可用選項(xiàng)(不同的有效行為)時(shí),

您都可以使用狀態(tài)圖來將這些規(guī)則和條件建模。生命周期中的每個(gè)階段都是該對(duì)象的一種

狀態(tài),而每個(gè)改變狀態(tài)的觸發(fā)器都代表從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換。可以根據(jù)需要從某

個(gè)狀態(tài)轉(zhuǎn)換到任意多個(gè)其它狀態(tài),也可以從其它多個(gè)狀態(tài)進(jìn)入某個(gè)狀態(tài)。

子狀態(tài)圖

若要保持狀態(tài)圖簡(jiǎn)單和易讀,您可能發(fā)現(xiàn)所定義的一個(gè)或多個(gè)狀態(tài)實(shí)際上涉及到更為

復(fù)雜的行為,以至于它本身就可以定義為一個(gè)狀態(tài)圖。此時(shí),與向主圖中添加大量復(fù)雜細(xì)

節(jié)的做法相比,更好的做法是將這個(gè)單獨(dú)的狀態(tài)分解為多個(gè)子狀態(tài),進(jìn)而組成一個(gè)輔助圖,

以定義父狀態(tài)的更為復(fù)雜的內(nèi)部行為。

部署圖(DeploymentDiagram)

部署圖可以幫助我們確定所有代碼元素在服務(wù)器、工作站和數(shù)據(jù)庫中的存放位置。有

的節(jié)點(diǎn)需要依賴硬件或軟件框來運(yùn)行部分業(yè)務(wù)邏輯。這些節(jié)點(diǎn)交互作用以演示我們開發(fā)的

多個(gè)計(jì)算機(jī)和系統(tǒng)是如何交互作用和集成的。節(jié)點(diǎn)中包含將部署到數(shù)據(jù)庫、應(yīng)用程序或Web

服務(wù)器中的組件實(shí)例。

部署圖用于將組件實(shí)際部署到服務(wù)器中。通過定義希望組件運(yùn)行的位置,我們可以快捷

的映射、部署和管理分布在客戶端應(yīng)用程序和應(yīng)用程序服務(wù)器端組件之間的業(yè)務(wù)邏輯或數(shù)據(jù)

庫端服務(wù)器邏輯。以下是要管理的物理體系結(jié)構(gòu)的1:1模型。

例如,假定我們已決定實(shí)現(xiàn)兩個(gè)EnterpriseJavaBeans,并且在應(yīng)用程序服務(wù)器上運(yùn)行它

們。下圖顯示了單個(gè)節(jié)點(diǎn)以及該節(jié)點(diǎn)內(nèi)的兩個(gè)組件(每個(gè)EJB一個(gè)組件)。我們可以看出

EmployeeBean依賴于同一應(yīng)用程序服務(wù)器內(nèi)的CustomerBean。

結(jié)論

在我們借助用例圖、序列圖、活動(dòng)圖、類圖和組件圖完成基本UML建模時(shí),我們將

需要其它一些工具來定義有關(guān)系統(tǒng)中某些特定元素的詳細(xì)信息。我們可能希望在對(duì)象圖中使

用精確的示例來表示對(duì)象的結(jié)構(gòu),或者借助于狀態(tài)圖來更多地了解在其內(nèi)部具有多個(gè)復(fù)雜

狀態(tài)的類的行為。我們需要使用協(xié)作圖從結(jié)構(gòu)角度而不是從時(shí)間角度來考察系統(tǒng)組件之間的

交互作用。最后,還需要使用部署圖來顯示所有系統(tǒng)組件在運(yùn)行環(huán)境中的物理硬件或服務(wù)

器中所處的位置,從而更詳盡的了解分布式體系結(jié)構(gòu)的使用方式。

UML為我們提供了更加實(shí)用的圖表,以便完成對(duì)業(yè)務(wù)邏輯的技術(shù)分析、設(shè)計(jì)、開發(fā)、或

部署。將這9種圖表與傳統(tǒng)的數(shù)據(jù)建模方法和新的業(yè)務(wù)流程建模方法相結(jié)合,我們可以在

從高級(jí)需求到技術(shù)和數(shù)據(jù)需求,以及物理實(shí)現(xiàn)的各個(gè)方面來全面了解推動(dòng)軟件開發(fā)的所有因

SybasePowerDesigner是一個(gè)"一站式"的企業(yè)級(jí)建模及設(shè)計(jì)解決方案,它能幫助企業(yè)快速

高效地進(jìn)行企業(yè)應(yīng)用系統(tǒng)構(gòu)建及再工程(Re-engineer)oIT專業(yè)人員可以利用它來有效開發(fā)

各種解決方案,從定義業(yè)務(wù)需求到分析和設(shè)計(jì),以至集成所有現(xiàn)代RDBMS和Java,”、.NET、

PowerBuilder?和WebServices的開發(fā)等。PowerDesigner是結(jié)合了下列幾種標(biāo)準(zhǔn)建模技術(shù)的

一款獨(dú)具特色的建模工具集:業(yè)務(wù)流程建模、通過UML進(jìn)行的應(yīng)用程序建模以及市場(chǎng)占有

率第一的數(shù)據(jù)建模,這些建模技術(shù)都是山功能強(qiáng)大的元數(shù)據(jù)管理解決方案提供支持的.

POWERDESIGNER通用特性

需求管理:PowerDesigner可以把需求定義轉(zhuǎn)化成任意數(shù)量的分析及設(shè)計(jì)模型,并記錄

需求及所有分析及設(shè)計(jì)模型的改動(dòng)歷史,保持對(duì)它們的跟蹤。Microsoft?Word?導(dǎo)入/導(dǎo)出功

能使業(yè)務(wù)用戶能輕易處理流程工作。

文檔生成:PowerDesigner提供了Wizard向?qū)f(xié)助建立多模型的RTF和HTML格式

的文檔報(bào)表。項(xiàng)目團(tuán)隊(duì)中非建模成員同樣可以了解模型信息,增強(qiáng)整個(gè)團(tuán)隊(duì)的溝通。

影響度分析:PowerDesigner模型之間采用了獨(dú)特的鏈接與同步技術(shù)進(jìn)行全面集成,

支持企業(yè)級(jí)或項(xiàng)目級(jí)的全面影響度分析。從業(yè)務(wù)過程模型、UML面向?qū)ο竽P偷綌?shù)據(jù)模型

都支持該技術(shù),大大提高了整個(gè)組織的應(yīng)變能力。

數(shù)據(jù)映射:PowerDesigner提供了拖放方式的可視化映射工具,方便、快速及準(zhǔn)確

地記錄數(shù)據(jù)依賴關(guān)系。在任何數(shù)據(jù)和數(shù)據(jù)模型、數(shù)據(jù)與UML面向?qū)ο竽P鸵约皵?shù)據(jù)與XML

模型之間建立支持影響度分析的完整的映射定義、生成持久化代碼以及數(shù)據(jù)倉庫ETL文件。

開放性支持:PowerDesigner支持所有主流開發(fā)平價(jià):支持超過60種(版本)關(guān)系

數(shù)據(jù)庫管理系統(tǒng),包括最新的Oracle?、IBM?,Microsoft、SybaseNCRTeradata,MySQL等,

支持各種主流應(yīng)用程序開發(fā)平臺(tái),如JavaJ2EE、Microsoft.NET叫C#和VB.NET)、WebServices

和PowerBuilder?,支持所有主流應(yīng)用服務(wù)器和流程執(zhí)行語言,如ebXML和BPEL4WS等。

可自定義:PowerDesigner支持從用戶界面到建模行為以及代碼生成的客戶化定

制。支持用于模型驅(qū)動(dòng)開發(fā)的自定義轉(zhuǎn)換,包括:對(duì)UML配置文件的高級(jí)支持、可自定義

菜單和工具欄、通過腳本語言實(shí)現(xiàn)自動(dòng)模型轉(zhuǎn)化、通過COMAPI和DDL實(shí)現(xiàn)訪問功能以

及通過模板和腳本代碼生成器生成代碼。

企業(yè)知識(shí)庫:PowerDesigner的企業(yè)知識(shí)庫是存儲(chǔ)在關(guān)系數(shù)據(jù)庫中的完全集成的設(shè)

計(jì)時(shí)知識(shí)庫,具有高度的可擴(kuò)展性,便于遠(yuǎn)程用戶使用。該知識(shí)庫提供以下功能:基于角色

的模型和子模型訪問控制,版本控制和配置管理、模型與版本的變更報(bào)告以及全面的知識(shí)

庫搜索功能。PowerDesigner的知識(shí)庫還可以存儲(chǔ)和管理任何文檔,包括Microsoft?Office?

和Project文件、圖像和其他類型的文檔。

powerdesigner初學(xué)者必看

PowerDesigner的模塊組成

PowerDesigner作為圖形化的數(shù)據(jù)庫模型設(shè)計(jì)工具軟件,其集成特性靈活,采取模塊化設(shè)計(jì),

共由以下六個(gè)模塊組成:

1.ProcessAnalyst:用于系統(tǒng)的需求分析,可用于設(shè)計(jì)和構(gòu)造數(shù)據(jù)流圖(DFD)和數(shù)據(jù)字典。

它支持多種處理建模方法,用戶可以選擇適合自己應(yīng)用環(huán)境的建模方法來描述系統(tǒng)的數(shù)據(jù)及

對(duì)數(shù)據(jù)的處理。

2、DataArchitect:用于對(duì)概念層和物理層的交互式數(shù)據(jù)庫設(shè)計(jì)和構(gòu)造。使用DataArchitect

可以很方便地設(shè)計(jì)數(shù)據(jù)庫的概念模型并對(duì)該DBMS自動(dòng)生成物理模型。該模塊還提供高質(zhì)

量的文檔生成能力和逆向工程能力,可從現(xiàn)有的數(shù)據(jù)庫中得到其物理模型和概念模型,并生

成相應(yīng)文檔。

3、AppModeler:應(yīng)用建模工具,用于物理建模和應(yīng)用對(duì)象及數(shù)據(jù)組件的生成。

4、MetaWorks:用于團(tuán)隊(duì)開發(fā)、信息共享和模型管理。

5、WarehouseArchitect:用于數(shù)據(jù)倉庫和數(shù)據(jù)集的建模和實(shí)現(xiàn)。

6、Viewer:用于以只讀的、圖形化方式訪問整個(gè)企業(yè)的模型信息。

在本課程的學(xué)習(xí)中,只需要掌握ProcessAnalyst模塊和DataArchitect模塊的應(yīng)用,對(duì)其余模

塊只做簡(jiǎn)單的了解。

PowerDesigner的模型和對(duì)象特性

PowerDesigner6.0的模型共有四種:

PAM:由ProcessAnalyst模塊生成的處理分析模型。

2、CDM:由DataArchitect模塊生成的概念模型。

3、PDM:由DataArchitect模塊生成的物理模型。

4、WAM:由WarehouseArchitect模塊生成的數(shù)據(jù)倉庫模型。

PowerDesigner是將一個(gè)大型應(yīng)用程序分成若干項(xiàng)目,每個(gè)項(xiàng)目可以包括模型,每個(gè)模型還

可以包括若干個(gè)子模型。

PowerDesigner的對(duì)象特征

PowerDesigner中的對(duì)象包括項(xiàng)目、模型、子模型以及它們的各自屬性。PowerDesigner通過

對(duì)這些屬性的設(shè)置來描述其對(duì)象的特征,這些屬性稱之為對(duì)象的特性。一般情況下,對(duì)象的

所有特性中只有名稱和代碼需要用戶設(shè)置。

ProcessAnalyst概述

ProcessAnalyst是在數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的需求分析階段中,用于設(shè)計(jì)信息系統(tǒng)處理分析模型

PAM的模塊。PAM的主要組成部分是數(shù)據(jù)流圖(描述信息系統(tǒng)中所用到的基本數(shù)據(jù)及其處

理分析過程),

需求分析的目標(biāo):

1、對(duì)要處理的對(duì)象進(jìn)行詳細(xì)的調(diào)查,了解用戶對(duì)數(shù)據(jù)庫的信息要求、處理要求和安全性完

整性要求。

2、收集支持系統(tǒng)目標(biāo)的數(shù)據(jù)并處理。

3、對(duì)新系統(tǒng)各種方案和設(shè)想進(jìn)行研究、分析和比較,選擇優(yōu)化的處理模型。

在設(shè)計(jì)新系統(tǒng)的處理模型主要包括:數(shù)據(jù)流圖、數(shù)據(jù)字典和處理邏輯表達(dá)工具等。本課程

要求熟練使用PowerDesigner設(shè)計(jì)數(shù)據(jù)流圖。數(shù)據(jù)流圖是系統(tǒng)處理模型的主要組成部分,

它只在模型上精確描述系統(tǒng)中數(shù)據(jù)和處理的關(guān)系,并詳細(xì)描述系統(tǒng)的功能、輸入、輸出、數(shù)

據(jù)存儲(chǔ)等。而數(shù)據(jù)字典則是對(duì)數(shù)據(jù)的詳細(xì)描述,是各類數(shù)據(jù)屬性的清單。

結(jié)構(gòu)化系統(tǒng)分析和設(shè)計(jì)技術(shù)(SADT):

結(jié)構(gòu)化系統(tǒng)分析和設(shè)計(jì)技術(shù)是構(gòu)造數(shù)據(jù)流圖的理論基礎(chǔ),它是一種功能和數(shù)據(jù)的分析、分解

的技術(shù)。SADT的中心問題是:將功能逐層分解為多個(gè)子功能,并在分解的同時(shí)進(jìn)行相應(yīng)的

數(shù)據(jù)分析和分解。

系統(tǒng)功能的分解及其分解細(xì)化程度取決于對(duì)系統(tǒng)功能的理解,因此對(duì)系統(tǒng)功能的理解程度不

同可以導(dǎo)致功能分解的結(jié)果不同。要注意在功能分解的同時(shí)伴隨相應(yīng)數(shù)據(jù)的分析和分解。

數(shù)據(jù)流程圖的設(shè)計(jì)采取自上而卜的方法,首先將整個(gè)系統(tǒng)作為一個(gè)功能繪制頂層圖,然后逐

級(jí)細(xì)化,分解為多層次的數(shù)據(jù)流圖。

頂層圖可以采取固定的模式:

過程/數(shù)據(jù)類分析法:

過程和數(shù)據(jù)類關(guān)系:生成(Creat)、使用(Use)和無關(guān)系。

ProcessAnalyst中過程與數(shù)據(jù)關(guān)系:創(chuàng)建(Creat)、插入(Insert)、更新(Update)、刪除(Delete)

和無關(guān)系。

U/C矩陣:建立一表,第一橫欄為過程名,第一豎欄為數(shù)據(jù)類名,內(nèi)部是過程與數(shù)據(jù)類關(guān)系。

CIUD矩陣:如同U/C矩陣??捎糜诿枋鲞^程與數(shù)據(jù)項(xiàng)的關(guān)系,也可用于描述過程與數(shù)據(jù)存

儲(chǔ)的關(guān)系。

要確定過程與過程之間的關(guān)系應(yīng)先確定過程與數(shù)據(jù)類之間的關(guān)系。

ProcessAnlyst的基本功能

通過建立處理分析模型PAM幫助系統(tǒng)分析人員收集數(shù)據(jù)、編寫數(shù)據(jù)字典,并繪制數(shù)據(jù)流圖。

具體還包含以下幾個(gè)方面:

(1)建立功能模型(OMT)和數(shù)據(jù)流圖;

(2)建立層次型的處理模型;

(3)定制和打印模型文檔;

(4)從概念數(shù)據(jù)模型(CDM)中引入數(shù)據(jù)項(xiàng);

(5)應(yīng)用OLE技術(shù)鏈接和嵌入其他應(yīng)用中的對(duì)象。

處理分析模型(PAM)簡(jiǎn)介

PAM是對(duì)系統(tǒng)進(jìn)行功能分析的處理分析模型。它定義了各系統(tǒng)元素(包括數(shù)據(jù)和

處理過程)的靜態(tài)組成,以簡(jiǎn)潔的符號(hào)表示系統(tǒng)各元素之間的動(dòng)態(tài)聯(lián)系,并描述

系統(tǒng)對(duì)數(shù)據(jù)的轉(zhuǎn)換和處理功能??梢圆捎肞AM建立樹狀的層次結(jié)構(gòu)模型。

(1)PAM的對(duì)象

(2)數(shù)據(jù)項(xiàng):對(duì)信息的最基本的描述元素

(3)外部實(shí)體:從系統(tǒng)中接受數(shù)據(jù)或者把數(shù)據(jù)傳送到系統(tǒng)的對(duì)象

(4)處理過程:數(shù)據(jù)的轉(zhuǎn)換處理

(5)數(shù)據(jù)流:在處理過程、外部實(shí)體和數(shù)據(jù)存儲(chǔ)間傳送數(shù)據(jù)的流

(6)數(shù)據(jù)存儲(chǔ):模型中存儲(chǔ)的要處理的數(shù)據(jù)

(7)DataArchitect概述

DataArchitect是一種數(shù)據(jù)庫設(shè)計(jì)工具,主要用于進(jìn)行概念數(shù)據(jù)模型

(CDM)和物理數(shù)據(jù)模型(PDM)的設(shè)計(jì)及其相互轉(zhuǎn)換與維護(hù)。其中,概念

數(shù)據(jù)模型就是E-R圖(實(shí)體-關(guān)系圖),將現(xiàn)實(shí)的應(yīng)用抽象為實(shí)體與實(shí)體

之間的聯(lián)系。CDM的具體對(duì)象包括域(Domain)、數(shù)據(jù)項(xiàng)(DataItem)、

實(shí)體(Entity)>實(shí)體屬性、和繼承鏈(inheritancelink)等。而物理

數(shù)據(jù)模型則針對(duì)某中DBMS定義物理層次上的各類數(shù)據(jù)對(duì)象(包括表、域、

歹!J、參照、碼、索引、視圖、擴(kuò)展屬性和檢查參數(shù)等)。

(8)DataArchitect的功能

(9)用E-R圖為信息系統(tǒng)建模(CDM)。

在物理層次上建模:基于某一DBMS生成相應(yīng)的物理數(shù)據(jù)模型(PDM)。

(10)對(duì)物理數(shù)據(jù)模型維護(hù):定制PDM以滿足物理上和性能上的要求。

(11)為目標(biāo)DBMS生成一個(gè)數(shù)據(jù)庫創(chuàng)建腳本。

(12)生成完整性觸發(fā)器。

(13)定制和打印模型報(bào)告,生成CDM和PDM的設(shè)計(jì)文檔。

(14)從現(xiàn)有數(shù)據(jù)庫和應(yīng)用進(jìn)行逆向工程,對(duì)CDM和PDM進(jìn)行維護(hù)。

(15)為PDM的對(duì)象定義擴(kuò)展屬性。

(16)

DataArchitect的概念數(shù)據(jù)模型CDM

CDM的基本概念

CDM:信息系統(tǒng)的概念設(shè)計(jì)工具,即實(shí)體-聯(lián)系圖(E-R圖),CDM就是

以其自身方式來描述E-R圖。此時(shí)不考慮物理實(shí)現(xiàn)的細(xì)節(jié),只表示數(shù)據(jù)

庫的整體邏輯結(jié)構(gòu),獨(dú)立于任何軟件和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。如下列職員和項(xiàng)

目?jī)蓪?shí)體的E-R圖:

(2)CDM的定義

1、通過設(shè)置模型特性定義對(duì)CDM的某些特定要求,打開ModelOptions

對(duì)話框,設(shè)置CDM選項(xiàng):

1)Enforce:不允許屬性值偏離某些域(包括Datatype、check、rules)

2)Defaultdatatype:域和屬性的缺省數(shù)據(jù)類型

3)Dataitemunique:設(shè)置數(shù)據(jù)項(xiàng)是否有唯一碼

4)Allowreuse:設(shè)置是否允許數(shù)據(jù)項(xiàng)作為多個(gè)實(shí)體的屬性

5)Defaultaddoption:當(dāng)作為實(shí)體屬性加入數(shù)據(jù)項(xiàng)時(shí),指明是重用

還是復(fù)制該數(shù)據(jù)項(xiàng)

6)Relationuniquecode:設(shè)置聯(lián)系是否有唯一碼

7)Confirmdelete:刪除整個(gè)數(shù)據(jù)對(duì)象還是只刪除其符號(hào)

2、通過設(shè)置模型特性定義CDM的說明信息

打開Modelproperties對(duì)話框,設(shè)置CDM說明信息:

包括項(xiàng)目名和項(xiàng)目代碼、模型名和模型代碼、標(biāo)簽、設(shè)計(jì)人、版本號(hào)、

創(chuàng)建時(shí)間、修改時(shí)間等。對(duì)模型的信息說明可增強(qiáng)模型的可讀性。

(3)CDM的建立

建立CDM的過程就是對(duì)信息系統(tǒng)進(jìn)行概念層次上的抽象和表達(dá)的過程,

用CDM的各種對(duì)象來描述信息系統(tǒng)內(nèi)部的實(shí)體之間的關(guān)系。

建立CDM的步驟:

1)為CDM定義域(Domain):包括設(shè)置所建域的域名、數(shù)據(jù)類型、長

度、精度和擴(kuò)展選項(xiàng)等。

2)定義數(shù)據(jù)項(xiàng):指定數(shù)據(jù)項(xiàng)名、代碼、選擇域(或指定數(shù)據(jù)類型、長

度、精度)等。

3)定義實(shí)體:打開ListofEntities對(duì)話框建立相關(guān)實(shí)體

4)定義實(shí)體屬性:包括設(shè)置實(shí)體名稱、代碼、規(guī)則等,并為所建立的

實(shí)體引入相關(guān)的數(shù)據(jù)項(xiàng)。

5)定義聯(lián)系:在相關(guān)實(shí)體之間建立聯(lián)系,同時(shí)設(shè)置所建聯(lián)系的屬性(包

括聯(lián)系名、設(shè)置一對(duì)多、多對(duì)多等可選聯(lián)系等)。

6)建立子模型:首先應(yīng)確定所建CDM應(yīng)劃分成兒個(gè)子模型,再對(duì)各子

模型加入相應(yīng)的各個(gè)實(shí)體。

7)定義繼承:使用繼承連接建立實(shí)體間繼承關(guān)系,并設(shè)置繼承屬性(包

括繼承名稱、代碼、設(shè)置繼承方向等)。

8)定義檢查參數(shù)并檢查所建立的CDM。

(4)從PDM生成CDM

從PDM生成CDM是逆向工程的-利,因此需要根據(jù)物理層次上的改動(dòng)對(duì)

概念層次上的模型進(jìn)行相應(yīng)的修改。PDM和CDM中的對(duì)象之間的對(duì)應(yīng)關(guān)

系如下表:

PDM中的對(duì)象CDM中的對(duì)象

表(Table)實(shí)體(Entity)

實(shí)體屬性(Entity

表中的列(Tablecolumn)

attribute)

主碼或外碼(Primaryor

標(biāo)識(shí)符

Foreignkey)

參照(Reference)一對(duì)多聯(lián)系

連接表(Jointable)多對(duì)多聯(lián)系

DataArchitect的物理數(shù)據(jù)模型PDM

(1)PDM的基本概念

PDM考慮了數(shù)據(jù)庫的物理實(shí)現(xiàn),包括軟件和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。

PDM的對(duì)象:表(Table)、表中的列(Tablecolumn)>主碼和外碼(Primary

&Foreignkey)、參照(Reference)、索引(Index)、視圖(View)等。

PDM的功能:

用圖形的形式表示數(shù)據(jù)的物理組織

生成數(shù)據(jù)庫的創(chuàng)建和修改腳本

定義完整性觸發(fā)器和約束

生成擴(kuò)展屬性

從已存在的數(shù)據(jù)庫進(jìn)行逆向工程

(2)PDM的定義

1、通過設(shè)置模型特性定義對(duì)CDM的某些特定要求打開ModelOptions對(duì)話框,

設(shè)置PDM選項(xiàng):

1)Enforce:不允許屬性值偏離某些域(包括Datatypecheck>rules>Mandatorys

Extended)

2)Defaultdatatype:域和列的缺省數(shù)據(jù)類型

3)Uniquecode:設(shè)置是否參照唯一碼

4)Auto-migrateFK:設(shè)置是否自動(dòng)移除外碼

5)Confirmdelete:刪除整個(gè)數(shù)據(jù)字典中相關(guān)聯(lián)的數(shù)據(jù)對(duì)象還是只刪除其符號(hào)

2、通過設(shè)置模型特性定義PDM的說明信息

打開Modelproperties對(duì)話框,設(shè)置PDM說明信息。

(3)PDM的建立

1)建立表(Table):包括設(shè)置所建域的域名、數(shù)據(jù)類型、長度、精度和擴(kuò)展選

項(xiàng)等。

2)定義域:指定數(shù)據(jù)項(xiàng)名、代碼、選擇域(或指定數(shù)據(jù)類型、長度、精度)等。

3)定義列:打開ListofEntities對(duì)話框建立相關(guān)實(shí)體

4)定義參照:包括設(shè)置實(shí)體名稱、代碼、規(guī)則等,并為所建立的實(shí)體引入相關(guān)

的數(shù)據(jù)項(xiàng)。

5)定義碼:在相關(guān)實(shí)體之間建立聯(lián)系,同時(shí)設(shè)置所建聯(lián)系的屬性(包括聯(lián)系名、

設(shè)置一對(duì)多、多對(duì)多等可選聯(lián)系等)。

6)定義索引:首先應(yīng)確定所建CDM應(yīng)劃分成兒個(gè)子模型,再對(duì)各子模型加入相

應(yīng)的各個(gè)實(shí)體。

7)定義視圖:使用繼承連接建立實(shí)體間繼承關(guān)系,并設(shè)置繼承屬性(包括繼承

名稱、代碼、設(shè)置繼承方向等)。

8)定義擴(kuò)展屬性:

9)定義觸發(fā)器:

10)PDM的檢查

建立PAM模型的基本步驟

(1)建立一個(gè)新的PAM模型框架。

(2)輸入所建模型特性并為模型設(shè)置選項(xiàng)。打開"ProcessModelProperties"

對(duì)話框,設(shè)置PAM模型特性(包括項(xiàng)目名稱、代碼、作者、日期、版本號(hào)和相關(guān)

輔助說明等)。

(3)對(duì)根處理模型建立相關(guān)對(duì)象:

建立并定義處理過程:使用Process工具建立新的處理過程,編輯所建處理過程

的名稱、代碼等特性。

建立并定義外部實(shí)體:使用Externentity工具建立新的外部實(shí)體,并設(shè)置相關(guān)

特性。

在對(duì)象之間建立數(shù)據(jù)流:使用Flow工具聯(lián)系相關(guān)的對(duì)象,設(shè)置數(shù)據(jù)流特性。

(4)分解根處理模型:

對(duì)處理過程進(jìn)行分解:使用Decomposition工具選擇相關(guān)處理過程,出現(xiàn)處理的

子處理窗口,在子處理窗口中建立新的對(duì)象,重新定義數(shù)據(jù)流。

按需要建立相關(guān)的控制流:使用Flow工具在相關(guān)對(duì)象間建立數(shù)據(jù)流,編輯特性,

將數(shù)據(jù)流類型改為控制流。

按需要繼續(xù)對(duì)處理過程進(jìn)行分解,重復(fù)上述兩步。

(5)建立數(shù)據(jù)項(xiàng)和域

建立數(shù)據(jù)項(xiàng):打開數(shù)據(jù)項(xiàng)列表,加入項(xiàng)目相關(guān)的數(shù)據(jù)項(xiàng),并設(shè)置數(shù)據(jù)項(xiàng)的類型、

長度、精度等(或直接加入數(shù)據(jù)項(xiàng)所屬域)。

建立域:打開域列表,加入項(xiàng)目相關(guān)的域,并設(shè)置域的類型、長度、精度等。

為數(shù)據(jù)項(xiàng)設(shè)置檢查參數(shù):對(duì)相關(guān)數(shù)據(jù)項(xiàng)規(guī)定數(shù)據(jù)有效范圍、單位等。

(6)為數(shù)據(jù)流加入數(shù)據(jù)項(xiàng)

直模型頂層開始為數(shù)據(jù)流加入相應(yīng)的數(shù)據(jù)項(xiàng):返回根處理,為相應(yīng)的數(shù)據(jù)流選擇

相關(guān)的數(shù)據(jù)項(xiàng)。

做下一層分解,在子處理窗口中為數(shù)據(jù)流加入相關(guān)數(shù)據(jù)項(xiàng)。

(7)排序數(shù)據(jù)項(xiàng)

建立數(shù)據(jù)存儲(chǔ):使用Datastore工具建立數(shù)據(jù)存儲(chǔ),設(shè)置數(shù)據(jù)存儲(chǔ)特性(包括

名稱、代碼等)。

建立對(duì)象創(chuàng)建流:使用Dataflow工具在處理過程與數(shù)據(jù)存儲(chǔ)間創(chuàng)建數(shù)據(jù)流,并

設(shè)置數(shù)據(jù)流特性,將其數(shù)據(jù)流類型設(shè)置為"ObjectCreation”。

將數(shù)據(jù)項(xiàng)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)中:打開"ModelOptions”對(duì)話框,在"Datastores”

中選擇"Autofill”(使數(shù)據(jù)流中的數(shù)據(jù)項(xiàng)自動(dòng)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)中);為對(duì)象創(chuàng)

建流加入相關(guān)數(shù)據(jù)項(xiàng)。

把數(shù)據(jù)存儲(chǔ)與模型其它部分連接起來:使用“Flow〃工具在數(shù)據(jù)存儲(chǔ)與其它相關(guān)對(duì)

象間建立數(shù)據(jù)流,并為所建的數(shù)據(jù)流加入相關(guān)的數(shù)據(jù)項(xiàng)。

將最底層的處理過程通過其特性設(shè)置為最底層(選中"Lowestlevel")。

檢查模型:使用功能鍵F4執(zhí)行檢查。

(8)調(diào)整顯示

增加標(biāo)題框:在根處理模型中選擇Edit->AddTitle,加入標(biāo)題框,設(shè)置標(biāo)題屬

性。

改變窗口顏色:選擇Window->WindowColor,改變顏色。

排列符號(hào)。

調(diào)整數(shù)據(jù)流顯示。

顯示相關(guān)文本:可以通過選擇File->DisplayPreference打開顯示參數(shù)設(shè)置對(duì)

話框,選中contents以顯示數(shù)據(jù)項(xiàng)。

PowerDesigner教程:概念數(shù)據(jù)模型

H標(biāo):本小節(jié)主要介紹PowerDesigner中概念數(shù)據(jù)模型CDM的基本概念。

一、概念數(shù)據(jù)模型概述

數(shù)據(jù)模型是現(xiàn)實(shí)世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)該滿足三個(gè)方面的要求:

1)能夠比較真實(shí)地模擬現(xiàn)實(shí)世界

2)容易為人所理解

3)便于計(jì)算機(jī)實(shí)現(xiàn)

概念數(shù)據(jù)模型也稱信息模型,它以實(shí)體一聯(lián)系(Entity-RelationShip,簡(jiǎn)稱E-R)理論為基礎(chǔ),

并對(duì)這一理論進(jìn)行了擴(kuò)充。它從用戶的觀點(diǎn)出發(fā)對(duì)信息進(jìn)行建模,主要用于數(shù)據(jù)庫的概念級(jí)

設(shè)計(jì)。

通常人們先將現(xiàn)實(shí)世界抽象為概念世界,然后再將概念世界轉(zhuǎn)為機(jī)器世界。換句話說,

就是先將現(xiàn)實(shí)世界中的客觀對(duì)象抽象為實(shí)體(Entity)和聯(lián)系(Relationship),它并不依賴于具體

的計(jì)算機(jī)系統(tǒng)或某個(gè)DBMS系統(tǒng),這種模型就是我們所說的CDM;然后再將CDM轉(zhuǎn)換為計(jì)算

機(jī)上某個(gè)DBMS所支持的數(shù)據(jù)模型,這樣的模型就是物理數(shù)據(jù)模型,即PDM。

CDM是一組嚴(yán)格定義的模型元素的集合,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、

動(dòng)態(tài)特性以及完整性約束條件等,其中包括了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分。

1)數(shù)據(jù)結(jié)構(gòu)表達(dá)為實(shí)體和屬性;

2)數(shù)據(jù)操作表達(dá)為實(shí)體中的記錄的插入、刪除、修改、查詢等操作;

3)完整性約束表達(dá)為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型、檢查、規(guī)則等)和數(shù)據(jù)間的參

照完整性約束(如聯(lián)系、繼承聯(lián)系等);

二、實(shí)體、屬性及標(biāo)識(shí)符的定義

實(shí)體(Entity),也稱為實(shí)例,對(duì)應(yīng)現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的"事件〃或"事物"。例如,

學(xué)校中的每個(gè)學(xué)生,醫(yī)院中的每個(gè)手術(shù)。

每個(gè)實(shí)體都有用來描述實(shí)體特征的?組性質(zhì),稱之為屬性,?個(gè)實(shí)體由若干個(gè)屬性來描

述。如學(xué)生實(shí)體可由學(xué)號(hào)、姓名、性別、出生年月、所在系別、入學(xué)年份等屬性組成。

實(shí)體集(EntitySet)是具體相同類型及相同性質(zhì)實(shí)體的集合。例如學(xué)校所有學(xué)生的集合可定

義為"學(xué)生,,實(shí)體集,"學(xué)生"實(shí)體集中的每個(gè)實(shí)體均具有學(xué)號(hào)、姓名、性別、出生年月、所在

系別、入學(xué)年份等性質(zhì)。

實(shí)體類型(EntityType)是實(shí)體集中每個(gè)實(shí)體所具有的共同性質(zhì)的集合,例如"患者"實(shí)體類

型為:患者{門診號(hào),姓名,性別,年齡,身份證號(hào)......}。實(shí)體是實(shí)體類型的一個(gè)實(shí)例,

在含義明確的情況下,實(shí)體、實(shí)體類型通?;Q使用。

實(shí)體類型中的每個(gè)實(shí)體包含唯?標(biāo)識(shí)它的一個(gè)或一組屬性,這些屬性稱為實(shí)體類型的標(biāo)識(shí)符

(Identifier),如"學(xué)號(hào)”是學(xué)生實(shí)體類型的標(biāo)識(shí)符,"姓名"、"出生日期"、"信址"共同組成"公

民”實(shí)體類型的標(biāo)識(shí)符。

有些實(shí)體類型可以有幾組屬性充當(dāng)標(biāo)識(shí)符,選定其中一組屬性作為實(shí)體類型的主標(biāo)識(shí)符,其

他的作為次標(biāo)識(shí)符。

三、實(shí)體、屬性及標(biāo)識(shí)符的表達(dá)

學(xué)生實(shí)體名稱

屬性名鈴<D>Integer<M>"-強(qiáng)制,表示該屬性不能為空值

姓名Variablecharacters(20)<M>

性別Characters(1)

出生日期Date-----------------------------分——類型

身份證號(hào)<ai>Variablecharacters(20)<M>

_______主標(biāo)識(shí)符

主標(biāo)識(shí)符<pi>

次標(biāo)識(shí)符<ai>-------次標(biāo)識(shí)符

實(shí)體的表示方法

本小節(jié)主要介紹PowerDesigner概念數(shù)據(jù)模型以及實(shí)體、屬性創(chuàng)建。

一、新建概念數(shù)據(jù)模型

1)選擇File->New,彈出如圖所示對(duì)話框,選擇CDM模型(即概念數(shù)據(jù)模型)

建立模型。

2)完成概念數(shù)據(jù)模型的創(chuàng)建。以下圖示,對(duì)當(dāng)前的工作空間進(jìn)行簡(jiǎn)單介紹。(以

后再更詳細(xì)說明)

%PowerDesigner-[CDMConceptualDataModel_lfDiagram」]

酊Workspace------丁作空jl

中誨.EDICDM"

臼ConceptualDataModel_1

Diagram_1

DataItems

出生

B期

學(xué)

號(hào)

號(hào)

B-豳Entities--------------------

BQ學(xué)生

E酶Attributes-----

國學(xué)號(hào)

國姓名

111nl性別

I后出生日期

國身份證號(hào)

B豳Identifiers——

E主標(biāo)識(shí)符

?次標(biāo)識(shí)符

3)選擇新增的CDM模型,右擊,在彈出的菜單中選擇“Properties”屬性項(xiàng),

彈出如圖所示對(duì)話框。在“General”標(biāo)簽里可以輸入所建模型的名稱、代碼、

描述、創(chuàng)建者、版本以及默認(rèn)的圖表等等信息。在“Notes”標(biāo)簽里可以輸入相

關(guān)描述及說明信息。當(dāng)然再有更多的標(biāo)簽,可以點(diǎn)擊“More>>〃按鈕,這里就不

再進(jìn)行詳細(xì)解釋。

二、創(chuàng)建新實(shí)體

1)在CDM的圖形窗口中,單擊工具選項(xiàng)版上的Entity工具,再單擊圖形窗口的

空白處,在單擊的位置就出現(xiàn)一個(gè)實(shí)體符號(hào)。點(diǎn)擊Pointer工具或右擊鼠標(biāo),釋

放Entitiy工具。如圖所示

&

Entify_2鶴

X

巨卜實(shí)體

Q|Entity|

E

\A□

OO"

G

2)雙擊剛創(chuàng)建的實(shí)體符號(hào),打開下列圖標(biāo)窗口,在此窗口“General”標(biāo)簽中可

以輸入實(shí)體的名稱、代碼、描述等信息。

BEntityProperties-Entity_2(Entity_2)!□IX|

OK|CancelHelp

More>>囪▼

三、添加實(shí)體屬性

1)在上述窗口的“Attribute”選項(xiàng)標(biāo)簽上可以添加屬性,如下圖所示。

HEntityProperties-Entity_2(Entity_2).1□!x|

GeneralAttributes|Identifiers|Notes|Rules|表不否為主標(biāo)識(shí)符

辭I唱甲簟的飛IX電嘈XI舞I%至、

Domain|M|▲

lam(CodeDataType.x-

rr

rrr

Trr

重用己有的數(shù)據(jù):成…rrr

’從數(shù)據(jù)項(xiàng)中添加屬性rrr

rrr

]追加一不屬性rrr

一,插入3個(gè)屬性-----rrr

表示該屬性為rr

痢不能為空值rrr

性窗口rrr

mirrr

表示是否在圖形窗‘口中rrr

rrr

,

OK|Cancel

More?Ml▼Help

注意:

數(shù)據(jù)項(xiàng)中的“添加屬性”和“重用已有數(shù)據(jù)項(xiàng)”這兩項(xiàng)功能與模型中Data

Item的Uniquecode和Allowreuse選項(xiàng)有關(guān)。

P列表示該屬性是否為主標(biāo)識(shí)符;D列表示該屬性是否在圖形窗口中顯示;M列表

示該屬性是否為強(qiáng)制的,即該列是否為空值。

如果一個(gè)實(shí)體屬性為強(qiáng)制的,那么,這個(gè)屬性在每條記錄中都必須被賦值,不

能為空。

2)在上圖所示窗口中,點(diǎn)擊插入屬性按鈕,彈出屬性對(duì)話框,如下圖所示。

注意:這里涉及到域的概念,即一種標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu),它可應(yīng)用至數(shù)據(jù)項(xiàng)或?qū)嶓w的屬性上。在以

下的教程中將另立章節(jié)詳細(xì)說明。

目標(biāo):

本小節(jié)主要介紹屬性的標(biāo)準(zhǔn)檢查約束、如何定義屬性的附加檢查。

一、定義屬性的標(biāo)準(zhǔn)檢查約束

標(biāo)準(zhǔn)檢查約束是一組確保屬性有效的表達(dá)式。在實(shí)體屬性的特性窗口,打開如圖所示的檢查選項(xiàng)

卡。

在這個(gè)選項(xiàng)卡可以定義屬性的標(biāo)準(zhǔn)檢查約束,窗口中每項(xiàng)的參數(shù)的含義,如下

參數(shù)說明

Minimum屬性可接受的最小數(shù)

Maximum屬性可接受的最大數(shù)

Default屬性不賦值時(shí),系統(tǒng)提供的默認(rèn)值

Unit單位,如公里、噸、元

Format屬性的數(shù)據(jù)顯示格式

Lowercase屬性的賦值全部變?yōu)樾懽帜?/p>

Uppercase屬性的賦值全部變?yōu)榇髮懽帜?/p>

Cannotmodify該屬性一旦賦值不能再修改

ListOfValues屬性賦值列表,除列表中的值,不能有其他的值

Label屬性列表值的標(biāo)簽

二、定義屬性的附加檢查

當(dāng)Standardchecks或Rules不能滿足檢查的要求時(shí),可以在AdditionalChecks選項(xiàng)卡的

Server子頁上,通過SQL語句中使用%MINMAX%、%LISTVAL%>%RULES%>%UPPER%、%L0WER%幾個(gè)

變量來定義Standard和Rule,如圖所示

%MINMAX%、%LISTVAL%s%UPPER%>%LOWER%

在StandardCheck中定義的Minimum和Maximum、Listvalues、uppervalues、lowervalues

%RULES%

在Rules特性窗口Expression選項(xiàng)卡中定義的有效性規(guī)則表達(dá)式

目標(biāo):

本小節(jié)主要介紹如何定義實(shí)體的主、次標(biāo)識(shí)符。

一、標(biāo)識(shí)符

標(biāo)識(shí)符是實(shí)體中一個(gè)或多個(gè)屬性的集合,可用來唯一標(biāo)識(shí)實(shí)體中的一個(gè)實(shí)例。要強(qiáng)調(diào)的是,

CDM中的標(biāo)識(shí)符等價(jià)于PDM中的主鍵或候選鍵。

每個(gè)實(shí)體都必須至少有一個(gè)標(biāo)識(shí)符。如果實(shí)體只有一個(gè)標(biāo)識(shí)符,則它為實(shí)體的主標(biāo)識(shí)符。如果實(shí)

體有多個(gè)標(biāo)識(shí)符,則其中一個(gè)被指定為主標(biāo)識(shí)符,其余的標(biāo)識(shí)符就是次標(biāo)識(shí)符了。

二、如果定義主、次標(biāo)識(shí)符

1)選擇某個(gè)實(shí)體雙擊彈出實(shí)體的屬性對(duì)話框。在Identifiers選項(xiàng)卡上可以進(jìn)行實(shí)體標(biāo)識(shí)符的

定義。如下圖所示

■EntityProperties-學(xué)生(學(xué)生)-1□!x|

General|AttributesIdentifiers|Notes|Rules|

囪|回圖|芭電亳X[逸I不里

Name

主標(biāo)識(shí)符主標(biāo)識(shí)低_____________P

次標(biāo)識(shí)符

選擇此復(fù)選框表小王標(biāo)識(shí)符;?…否

則表示次標(biāo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論