技術(shù)分享 UML類圖建模技術(shù)揭秘
本文和大家重點討論一下UML類圖建模技術(shù),主要包括對簡單協(xié)作建模,對邏輯數(shù)據(jù)庫模式建模,正向工程和逆向工程等內(nèi)容,希望通過本文的學(xué)習(xí)你對UML類圖建模技術(shù)有深刻的認(rèn)識。
UML類圖建模技術(shù)
一、對簡單協(xié)作建模
類不是單獨存在的,而是要與其他類協(xié)同工作。協(xié)作是動態(tài)交互在靜態(tài)視圖上的映射,協(xié)作的靜態(tài)結(jié)構(gòu)通過類圖來描述。
UML類圖建模對協(xié)作建模要遵循如下策略
1、識別要建模的機制。一個機制描述了正在建模的部分系統(tǒng)的一些功能和行為,這些功能和行為是由類、接口和一些其他元素的相互作用產(chǎn)生的。
2、對每種機制,識別參與協(xié)作的類、接口和其他協(xié)作,并識別這些事物之間的關(guān)系。
3、用協(xié)作的腳本檢測事物,通過這種方法可以發(fā)現(xiàn)模型中被遺漏的部分和有明顯語義錯誤的部分。
4、把元素和它們的內(nèi)容聚合在一起。對于類,首先平衡好職責(zé),隨著時間的推移,將它們轉(zhuǎn)換成具有的屬性和操作。
二、對邏輯數(shù)據(jù)庫模式建模
通用的邏輯數(shù)據(jù)庫建模工具是“實體-關(guān)系(E-R)”圖,傳統(tǒng)的E-R圖只針對數(shù)據(jù),而UML的類圖還允許對行為建模。在物理數(shù)據(jù)庫中,類圖一般要把邏輯操作轉(zhuǎn)化成觸發(fā)器或存儲過程。
UML類圖建模對模式建模要遵循如下策略:
1、在模型中識別的類,其狀態(tài)必須超過其應(yīng)用系統(tǒng)的生命周期。
2、創(chuàng)建包含這些類的類圖,并把它們標(biāo)記為永久(persistent)。對于特定的數(shù)據(jù)庫細(xì)節(jié),可以定義自己的標(biāo)記值集合。
3、展開這些類的結(jié)構(gòu)性細(xì)節(jié),即詳細(xì)描述屬性的細(xì)節(jié),并注重于關(guān)聯(lián)和構(gòu)造類的基數(shù)。
4、觀察系統(tǒng)中的公共模式(如循環(huán)關(guān)聯(lián)、一對一關(guān)聯(lián)和n元關(guān)聯(lián)),它們常常造成物理數(shù)據(jù)庫設(shè)計的復(fù)雜化。
5、考慮這些類的行為,擴展對數(shù)據(jù)庫存儲和數(shù)據(jù)完整性來說重要的操作。一般情況下,與對象集的操作相關(guān)的業(yè)務(wù)規(guī)則應(yīng)該被封裝在永久類的上一層。
三、UML類圖建模中正向工程和逆向工程
1、正向工程(ForwardEngineering)
正向工程是通過實現(xiàn)語言的映射把模型轉(zhuǎn)換為代碼的過程。由于UML中描述的模型在語義上比當(dāng)前的任何面向?qū)ο笳Z言要豐富,所以正向工程會導(dǎo)致一定信息的損失,這也是需要模型的原因。
UML類圖建模對類圖進行正向工程,要遵循如下的策略
(1)、識別映射到所選擇的實現(xiàn)語言的規(guī)則
(2)、根據(jù)所選擇的語言的語義,可能會限定一些對UML特性的使用
(3)、用標(biāo)記值詳細(xì)描述目標(biāo)語言,若需要精確的控制,該操作可以在單個類的層次上進行,也可以在較高的層次(如協(xié)作或包)上進行
(4)、使用工具對模型進行正向工程
2、逆向工程(ReverseEngineering)
逆向工程是通過從特定實現(xiàn)語言的映射,把代碼轉(zhuǎn)換為模型的過程。逆向工程會導(dǎo)致大量的冗余信息同時逆向工程又是不完整的。
UML類圖建模對類圖進行逆向工程,要遵循如下的策略
(1)、識別從實現(xiàn)語言或所選的語言進行映射的規(guī)則
(2)、使用工具,指向要進行逆向工程的代碼,用工具生成新的模型或修改以前進行正向工程時已有的模型。
(3)、使用工具,通過查詢模型創(chuàng)建類圖。
【編輯推薦】
- 術(shù)語匯編 解析UML類圖建模
- 正確辨析UML類圖的兩種存在形式
- 全面認(rèn)識各種UML類圖符號
- 全面認(rèn)識UML軟件建模
- UML類圖依賴關(guān)系和其他關(guān)系區(qū)別