自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

繪制UML圖時應(yīng)避免的六大問題

開發(fā) 架構(gòu)
UML圖相信大家應(yīng)該有所了解,那么你知道如何繪制UML圖才能更加整潔嗎,本文就向大家簡單介紹一下繪制UML圖時應(yīng)該注意的幾個問題。

本文和大家重點討論一下繪制UML圖時要注意的幾個問題,不管您喜歡與否,諸如統(tǒng)一建模語言(UML)類模型和用例模型這樣的軟件圖往往是根據(jù)它們的外觀來判定其好壞的。

繪制整潔的UML圖

不管您喜歡與否,諸如統(tǒng)一建模語言(UML)類模型和用例模型這樣的軟件圖往往是根據(jù)它們的外觀來判定其好壞的??瓷先フ麧嵉膱D比看上去雜亂的圖更容易受到讀者--常常是您的用戶或高級經(jīng)理--的青睞。
我很愿意描述幾個重要的經(jīng)驗法則,這些法則將使您比其他建模同仁做得更好。這些雖然簡單但很關(guān)鍵的建議主要集中在如何安排組成軟件圖(包括UML類模型、用例模型,甚至持久模型)的那些框和線條,并因此適用于所有種類的圖。

要繪制一個外觀整潔的圖,您應(yīng)該避免:

◆大小不一的框
◆對角線
◆交叉線
◆曲線
◆混亂的圖
◆不必要的細節(jié)

讓我們從一個示例開始。在圖1和2中,您可以看到兩個用兩種不同風格繪制UML圖。***個復(fù)雜,沒有章法,而第二個簡單,組織良好(雖然有些乏味)。您認為哪個設(shè)計更好呢?大多數(shù)人都會贊成第二個看上去更好一些,因為雖然這兩種設(shè)計在功能上是相等的,但第二個的安排更整潔。

圖1.“雜亂”的圖

    

圖2“整潔”的圖內(nèi)容導航

1.繪制UML圖應(yīng)避免大小不一的框

如何對圖1加以改進呢?首先,確保所有框的大小都一樣。大框看上去比小框更重要一些,如果這是您嘗試表達的,那么這樣做沒錯--但如果讓我選的話,我寧愿將所有框保持相同的大小。這種方法最適合于“UML用例”圖,因為其中的所有用例框和參與者符號可以很方便地統(tǒng)一成一樣,此外還適用于“UML協(xié)作圖”、“UML序列圖”和“UML用戶界面流程圖”。對于框中包含的信息量不同的圖,例如“UML類圖”(其中個別類有數(shù)量不等的屬性和操作),或者“UML狀態(tài)圖表圖”和“持久”(數(shù)據(jù))模型,那就有一些困難了。

2.繪制UML圖應(yīng)避免對角線

圖2與圖1的另一個不同之處在于它沒有任何對角線。我是通過重新安排框來消除對角線的,就好象它們在一個網(wǎng)格上,使互連的框或者在垂直方向上分離,或者在水平方向上分離。從視覺上說,大多數(shù)人對直線更感興趣。#p#

3.繪制UML圖應(yīng)避免交叉線

在圖1中,有兩條線相互交叉,我的一個常規(guī)經(jīng)驗法則是應(yīng)該盡量減少圖中交叉線的數(shù)量。通過將一些框移到旁邊,我在短時間內(nèi)就可以避免使兩條線交叉??上В皇强偰苓@樣幸運--您無法總能避免交叉線。在圖3中,我想將5個框全部連接起來,但如果不使至少兩條線相交就無法做到這一點。您可以看到,我沒有其它方法將框3和5連接起來。在不得不交叉線時,我會用適用于電路圖的標準來標記:一條線“跳過”另一條,如圖4所示。跳過的好處是它很清楚地表明線只是在圖上交叉,而不以任何方式連接。

圖3.如何在不交叉線的情況下連接3和5?

圖4.一條線“跳”過另一條內(nèi)容導航

4.繪制UML圖應(yīng)避免曲線

您可以在圖5中看出,我對圖4做了更進一步的改進:除去了曲線。人們喜歡看到垂直或水平的直線。這次我又假裝是在網(wǎng)格上繪制圖(實際上這是許多計算機輔助系統(tǒng)工程(CASE)工具的內(nèi)置特性),然后只需要象在網(wǎng)格上那樣繪制出框和線條。

圖5.圖4的更整潔版本

5.繪制UML圖應(yīng)避免混亂或復(fù)雜的圖

顯示太多細節(jié)或者外觀很混亂的圖看上去不太好。***能夠有幾張顯示各種程度的細節(jié)的圖,而非一張顯示所有事物的復(fù)雜的圖。這就是為什么UML擁有幾種圖的原因之一:一個軟件是如此復(fù)雜,以至于我們無法在單一圖上對其所有方面建模。而且,UML允許將包添加到圖中(下星期的技巧主題)。

另一個相關(guān)的注意事項是對屏幕或頁面區(qū)域的使用。在我看來,一張占據(jù)幾頁的圖比將所有內(nèi)容蜷縮在一起,使它能在一頁上打印出的圖要好得多。您應(yīng)該給圖留出足夠的空間,使它易于理解。

6.繪制UML圖應(yīng)避免在圖的美化上浪費太多時間

盡管這些經(jīng)驗法則非常有效,但無休止地調(diào)整圖的外觀總是會增加額外的建模時間。解決這個問題的一個方法是嘗試使圖的外觀保持在大致良好的水平上--您在使用圖時,不需要它非常***。一旦確信圖按照您所需的方式對應(yīng)用程序建模,就可以開始移動框以避免交叉線,增進其可理解性。

您的主要目標是對系統(tǒng)建模,而不是繪制漂亮的圖。有必要指出這些重要的經(jīng)驗法則也可以被用來美化低劣的設(shè)計。例如,我可以從圖2開始,將它重排成圖1,以使設(shè)計看上去比實際的更為復(fù)雜--可能使得高級管理人員相信我需要更多時間或資源才能完成工作,或者引導他們避開我不是特別喜歡的備選設(shè)計。假設(shè)您的動機隨情形而改變,我希望您所處的情形是健康的,您所考慮的最重要的問題是使了不起的設(shè)計看上去更引人入勝,而不是在辦公室權(quán)術(shù)中求生存。

【編輯推薦】

  1. 教你繪制整潔的UML圖
  2. UML建模中繪制UML用例圖行之有效的辦法
  3. UML用例圖三大關(guān)系揭秘
  4. UML交互圖繪制及其應(yīng)用說明
  5. UML活動圖繪制技巧剖析
責任編輯:佚名 來源: IT168.com
相關(guān)推薦

2010-09-03 10:26:54

IT人

2011-04-06 14:42:25

Delphi

2010-07-06 09:48:34

六大UML圖

2019-07-31 07:08:59

物聯(lián)網(wǎng)企業(yè)IOT

2010-07-01 16:48:54

UML序列圖

2010-07-06 12:54:17

UML序列圖

2010-07-09 10:45:11

UML類圖關(guān)系

2009-08-25 09:29:18

維護代碼

2022-03-18 14:03:38

云計算企業(yè)公共云

2012-02-20 10:11:53

PhoneGap

2010-07-12 14:08:59

UML序列圖

2010-06-29 10:40:37

UML類圖關(guān)系

2010-06-30 10:57:49

UML用例圖

2010-07-02 12:53:07

UML對象圖

2010-04-13 11:36:01

2010-07-06 09:35:37

UML六大關(guān)系

2010-06-29 15:54:36

UML建模

2010-04-14 08:40:38

UMLUML類間關(guān)系UML圖

2012-03-01 13:17:40

Java

2019-09-02 08:12:49

物聯(lián)網(wǎng)IOT技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號