偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

UML建模風(fēng)格之UML包圖

開發(fā) 架構(gòu)
UML建模工具中有九種圖形,你對UML包圖是否了解,本文就向大家簡單介紹一下,UML包圖是一個(gè)UML結(jié)構(gòu),它使得你能夠把諸如用例或類之類模型元件組織好。

本文和大家重點(diǎn)討論一下UML包圖,一個(gè)"包圖"可以是任何一種的UML圖組成,通常是UML用例圖或UML類圖。 并且包被描述成文件夾,可以應(yīng)用在任何一種UML圖上。

 UML建模風(fēng)格之UML包圖

一個(gè)"包圖"可以是任何一種的UML圖組成,通常是UML用例圖或UML類圖。 包是一個(gè)UML結(jié)構(gòu),它使得你能夠把諸如用例或類之類模型元件組織為組。 包被描述成文件夾,可以應(yīng)用在任何一種UML圖上。 雖然包圖并非是正式的UML圖,但實(shí)際上他們是很有用處的, 創(chuàng)建一個(gè)UML包圖是為了∶

◆描述你的需求高階概述。

◆描述你的設(shè)計(jì)的高階概述。

◆在邏輯上把一個(gè)復(fù)雜的圖模塊化。

◆組織Java源代碼。

一、類包圖

1.創(chuàng)建類包圖,以在邏輯上組織你的設(shè)計(jì)

圖1描述了一個(gè)組織成包的UML類圖。 除了以下介紹的包原則之外,應(yīng)用下列的規(guī)則來把UML類圖組織到包圖里:
把一個(gè)框架的所有類放置在相同的包中。一般把相同繼承層次的類放在相同的包中。彼此間有聚合或組合關(guān)系的類通常放在相同的包中。彼此合作頻繁的類,信息能夠通過UML順序圖和UML合作圖反映出來的類,通常放在相同的包中。
圖1.一個(gè)類包圖。

2.創(chuàng)建UML組件圖,以在物理上組織你的設(shè)計(jì)。

如果你的組件比較接近技術(shù),例如那些通過Enterprise java Beans ( EJB)或Visual Basic的組件,你應(yīng)該優(yōu)先選擇UML組件圖來描述物理設(shè)計(jì),而不是UML包圖。 圖1的版本源自于組件圖章節(jié)中。就像你看到的,這個(gè)圖最適用于物理設(shè)計(jì)。 永遠(yuǎn)記住遵循敏捷建模(AM) ( Ambler 2002)的實(shí)踐--應(yīng)用合適的Artifact,為工作挑選最好的模型。

3.把子包放置在母包的下面。

圖1描述了包間的繼承,你可以看到,繼承的包顯示在母包支下。 這和UML類圖中的在超類下面放置子類的指南是一致的。

4.垂直地分層類UML包圖。

包間的依賴表明,從屬的包的內(nèi)容依賴于另一個(gè)包的內(nèi)容,或結(jié)構(gòu)上依賴于其它包的內(nèi)容。 在圖1中你可以看到圖中的包反映了架構(gòu)的合理的層次布局,用戶界面和領(lǐng)域類交互,領(lǐng)域類又使用基礎(chǔ)結(jié)構(gòu)類,基礎(chǔ)結(jié)構(gòu)類訪問數(shù)據(jù)庫。傳統(tǒng)的,這種分層的順序是以從上到下的方式描述的。#p#

二、UML用例包圖

用例通常是面向?qū)ο箝_發(fā)方法學(xué)中的最主要的需求artifact,當(dāng)你的方法是統(tǒng)一過程(Kruchten 2000; Ambler 2000)實(shí)例是尤其如此。而且對于大的項(xiàng)目包圖來說,通常是創(chuàng)建用來組織使用需求的。

1.創(chuàng)建用例包圖,以組織你的需求

除了以下介紹的包原則之外,應(yīng)用下列的規(guī)則來把UML用例圖組織到UML包圖里:
把關(guān)聯(lián)的用例放在一起∶included、extending、和inheriting的用例放在相同的包中,就像base/parent用例一樣。
組織用例應(yīng)該以主要主角的需要為基礎(chǔ)。 例如,在圖2中,Enrollment包包含與登記班級的學(xué)生有關(guān)的用例,一個(gè)大學(xué)提供的重要服務(wù)集合。
圖2.一個(gè)包含主要的包的UML用例包圖。

2.在用例包圖上包含角色

圖2包含包圖上的角色,這有助于把包放在上下文中理解,這樣包圖就會更容易為讀者所理解。

3.水平地排列用例包圖

用例包圖的主要受眾是項(xiàng)目干系人。因此圖的組織應(yīng)該能夠反映他們的需求。 圖2中的包是水平放置的,從左到右畫出的依賴關(guān)系反映了西方文化的閱讀習(xí)慣。

三、UML包圖

本節(jié)中出現(xiàn)的建議可應(yīng)用到任何一種UML圖的包應(yīng)用上,并非只是UML包圖上。

1.包的命名要簡單、具有描述性

在圖1和圖2中,包都有簡單的、描述性的名稱,例如Shipping、Customer、Enrollment和ManageStudentLoans和Grants,這樣包包含了些什么就非常的清楚了。

2.應(yīng)用包是為了簡化圖

通常在一個(gè)圖變得笨重,單一頁中打印不下的時(shí)候引入包。換句話說,遵循通用指南--把大的圖重新組織為較小的圖,你需要對模型使用分而治之的方法。

3.包應(yīng)該連貫

你插入包中的任何東西都應(yīng)該有意義,都需要考慮包中的其余內(nèi)容。為了確定一個(gè)包是否連貫,一個(gè)好的經(jīng)驗(yàn)法則是你是否能夠用一個(gè)短的,描述性的名稱為包命名。如果你做不到這一點(diǎn),你或許就已經(jīng)把幾個(gè)不相關(guān)的事務(wù)放到包中了。

4.在包上用版型注明架構(gòu)層

我們通常會把設(shè)計(jì)組織到架構(gòu)層次中,例如userinterface、business/domain、persistence/data、和infrastructure/system。在圖1中你可以看到例如userinterface、domain、infrastructure和database的版型應(yīng)用包中,以反映通用的層。

5.避免包間的循環(huán)依賴

包A依賴于包B,包B依賴于包C,而包C依賴于包A,這就形成了一個(gè)循環(huán):A-B-C-A,Knoernschild(2002)建議盡量避免出現(xiàn)這種情況。因?yàn)榘g彼此緊密耦合,將來的維護(hù)和改進(jìn)將變得困難。循環(huán)依賴是一個(gè)很好的信號,意味著你需要重構(gòu)一個(gè)或多個(gè)的包,把導(dǎo)致循環(huán)依賴的因素從包中除掉。

6.包依賴應(yīng)該反映內(nèi)部關(guān)系

當(dāng)一個(gè)包依賴于另一個(gè)是,這意味著兩個(gè)包的內(nèi)容間存在著一個(gè)或多個(gè)的關(guān)系。例如:如果是一個(gè)用例包圖,那么就有可能兩個(gè)用例之間存在includes、extends、或繼承關(guān)系,而兩個(gè)用例分別處于不同的包中。

【編輯推薦】

  1. 整潔的UML圖如何繪制?
  2. UML建模中繪制UML用例圖行之有效的辦法
  3. 學(xué)習(xí)筆記 UML建模技術(shù)的組成部分
  4. 專家提醒 小心掉進(jìn)UML建模誤區(qū)
  5. 養(yǎng)成良好的UML序列圖繪制習(xí)慣
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-30 14:37:20

UML類圖

2010-06-30 17:36:58

UML用例圖

2010-06-30 14:46:49

UML類圖

2010-06-09 15:19:20

UML狀態(tài)圖

2010-07-12 09:37:26

UML建模

2010-07-05 14:03:21

UML圖

2010-07-05 13:55:40

UML圖分類

2010-07-06 11:21:37

UML狀態(tài)圖

2010-06-09 14:43:27

2010-06-07 18:17:54

UML建模

2010-07-07 18:11:13

UML對象圖

2010-07-01 16:38:28

UML序列圖

2010-07-09 09:16:22

UML包圖

2010-06-30 15:10:18

2010-06-10 09:04:18

UML用例圖

2010-06-30 13:17:12

UML業(yè)務(wù)建模

2010-07-01 17:43:23

UML包圖

2010-07-09 09:00:22

UML建模

2010-07-07 09:34:06

UML用戶指南

2010-07-09 15:19:58

UML類圖建模
點(diǎn)贊
收藏

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