全面認識UML類圖建模技術(shù)
本文和大家重點討論一下UML類圖建模技術(shù)的概念,主要包括對簡單協(xié)作建模,對邏輯數(shù)據(jù)庫模式建模,正向工程和逆向工程等幾部分內(nèi)容,相信通過過本文的學習你對UML類圖建模技術(shù)一定會有深刻的認識。
UML類圖建模技術(shù)
一、對簡單協(xié)作建模
類不是單獨存在的,而是要與其他類協(xié)同工作。協(xié)作是動態(tài)交互在靜態(tài)視圖上的映射,協(xié)作的靜態(tài)結(jié)構(gòu)通過類圖來描述。
對協(xié)作進行UML類圖建模要遵循如下策略
1、識別要建模的機制。一個機制描述了正在建模的部分系統(tǒng)的一些功能和行為,這些功能和行為是由類、接口和一些其他元素的相互作用產(chǎn)生的。
2、對每種機制,識別參與協(xié)作的類、接口和其他協(xié)作,并識別這些事物之間的關(guān)系。
3、用協(xié)作的腳本檢測事物,通過這種方法可以發(fā)現(xiàn)模型中被遺漏的部分和有明顯語義錯誤的部分。
4、把元素和它們的內(nèi)容聚合在一起。對于類,首先平衡好職責,隨著時間的推移,將它們轉(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)建包含這些類的類圖,并把它們標記為永久(persistent)。對于特定的數(shù)據(jù)庫細節(jié),可以定義自己的標記值集合。
3、展開這些類的結(jié)構(gòu)性細節(jié),即詳細描述屬性的細節(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中描述的模型在語義上比當前的任何面向?qū)ο笳Z言要豐富,所以正向工程會導(dǎo)致一定信息的損失,這也是需要模型的原因。
對類圖進行正向工程,要遵循如下的策略
(1)、識別映射到所選擇的實現(xiàn)語言的規(guī)則
(2)、根據(jù)所選擇的語言的語義,可能會限定一些對UML特性的使用
(3)、用標記值詳細描述目標語言,若需要精確的控制,該操作可以在單個類的層次上進行,也可以在較高的層次(如協(xié)作或包)上進行
(4)、使用工具對模型進行正向工程
2、逆向工程(ReverseEngineering)
UML類圖建模中逆向工程是通過從特定實現(xiàn)語言的映射,把代碼轉(zhuǎn)換為模型的過程。逆向工程會導(dǎo)致大量的冗余信息同時逆向工程又是不完整的。
對類圖進行逆向工程,要遵循如下的策略
(1)、識別從實現(xiàn)語言或所選的語言進行映射的規(guī)則
(2)、使用工具,指向要進行逆向工程的代碼,用工具生成新的模型或修改以前進行正向工程時已有的模型。
(3)、使用工具,通過查詢模型創(chuàng)建類圖。
【編輯推薦】
- 技術(shù)分享 UML類圖建模技術(shù)揭秘
- 術(shù)語匯編 解析UML類圖建模
- 詳解八大UML類圖符號的表示法
- UML部署圖組成元素和繪制方法解析
- 專家提醒 用UML建模需要注意的四大問題