『這就是UML!』系列內容第11講:包圖

更新 發佈閱讀 7 分鐘

什麼是包和包圖

套件是對UML中各模型元素進行組織管理的一種機制,它把概念上相似、有關聯的模型元素(包括靜態的和動態的)組織到一個包中,形成具有各種功能或用途的模組,並且可以控制包中元素的可見性,以方便人們更好的理解複雜的系統。

包圖由包之間的關係組成,透過包之間關係的描述來展現系統各個模組之間的依賴關係。

raw-image

包圖

包的表示

它類似於作業系統中的資料夾,因此,它在UML中也使用類似的資料夾符號來表示:

raw-image

包的名稱

在同一層級內,每個包應有一個與其它包不同的名稱。包的名稱有兩種形式:

1.簡單名稱(Simple Name)

簡單名稱僅包含套件的名稱字串,如下面的範例:

raw-image

2.路徑名稱(Path Name)

在許多情況下,包內又包含其它包,則在外圍使用包內的某個包時可以使用路徑名稱來指明包的路徑,其基本語法為:外部包名稱::本包名稱。下圖中說明「Borrow」這個包是位於「SystemInterface」包內的:

raw-image

包內的元素

套件是一種分組機制,所以包內可以包含UML中任何元素,如類別、用例、介面、元件、節點等,也可以包含其它包、使用案例圖、協作圖、時序圖等。

包內元素的可見性

包中的元素可見性主要包含三種:

1,公有的(public)

透過在元素前面加上「+」符號來表示,則該元素對所有引入該套件的元素可見。

2,私有的(private)

在元素前面加上“-”符號來表示,則該元素只能被同一個包內的元素可見。

3,保護的(protected)

透過在元素前面加上「#」符號來表示,則該元素對繼承該包的包中元素可見。

下圖給出了包內元素的三種可見性的表示方法:

raw-image

包含元素三種可見性表示方法

上圖中的三個類別「class A」、"class B"和「class C」的可見度分別是公有的、私有的和保護的。

包之間的關係

包之間的關係主要有依賴關係和泛化關係。

1.依賴關係

包之間的依賴關係是指兩個包內的若干元素之間存在著依賴,依賴使用虛線箭頭表示,箭頭由依賴包指向被依賴的包,包之間的依賴關係可以是泛化、實現、導入等。下圖表示的是兩個套件之間的依賴關係:

raw-image

導入依賴(import dependency)是指允許一個套件中的元素訪問另外一個套件中的元素,可以在虛線箭頭上添加<<import>>構造型來表示。導入依賴不具傳遞性。

2.泛化關係

包之間的泛化關係類似於類別之間的泛化關係。包之間的這種泛化關係是指其中的特殊包可以替換一般包中的元素,並且可以添加新的元素,實際上包之間的泛化也是一種依賴關係。

包的構造型

下圖是包的一些構造型,並使用不同的圖形或標記來表示:

raw-image

包的構造型

在上圖中,由上到下,由左至右分別表示業務分析模型(Business Analysis Model)、業務系統(Buesiness System)、業務使用案例分析模型(Business Use Case Analysis Model)、網域套件(Domain Package) 、層(Layer)和子系統(Subsystem)。根據需要可以選擇包對應的構造型,能夠快速辨識出包的作用。

包的設計原則

在實際建模中可以遵循以下原則:

1.重用等價原則

對於同類可重複使用的模型元素盡量放到一個套件中,不要把可重複使用模型元素和不可重複使用的模型元素混到一個套件中。

2.共同重用原則

把同一個應用要重複使用的多個模型元素放到同一個套件中,以減少對包間的依賴,提高套件的獨立性。

3.共同封閉原則

把可能同時修改,同時維護的模型元素放到一個套件中,以便於今後維護和升級。

4.非循環依賴原則

包之間的依賴關係不要形成循環:即不要出現A依賴B,B又依賴A的現象,或多個包形成循環依賴。

包圖建模技術

嚴格來講,包圖並不是真正意義上的UML圖,但在模型元素分類、模型結構和程序命名空間中扮演著重要的角色。在實際建模過程中,可以使用下面的做法來繪製包圖:

1.分析系統的模型元素,把概念上或語意上相近的模型元素納入一個包中;

2.對包中的每個元素標識其可見性;

3.確定包與包之間的依賴關係;

4.繪製包圖,並對包圖進行最佳化。

使用ProcessOn繪製包圖

在ProcessOn中,可以在UML圖檔內建立包圖,也可以在流程圖中加入包圖製作時涉及的圖形元素來建立包圖。

1.創建包

直接從編輯器左側的圖形組件區拖曳UML通用圖形中的「包」元素到編輯器右側空白區域,即可完成套件的建立。

raw-image

使用ProcessOn建立包

2.包的重命名

點擊套件圖形上的“套件名稱”,則可以對套件重新命名。

3.為包添加元素

使用者繪圖時可以直接從編輯器左側的圖形組件區拖曳圖形到編輯器空白區域,即可完成圖形的建立。然後可以選擇圖形後透過編輯器頂部工具列和右側的工具面板對圖形相關屬性進行設定。

raw-image

為包添加元素

4.添加包之間的聯繫

繪製聯繫的方法是使用快捷鍵“L”,或者在左側圖形組件區的基礎圖形中拖曳“直線”元素到編輯器空白區域,或者直接從一個圖形的一端移動到另一個圖形上即可得到一條線條。如果新增依賴聯繫,則勾選「依賴套件」後,點擊其一端後按住滑鼠左鍵到「被依賴套件」上,放開滑鼠即完成了一個依賴關係的建立。

raw-image

添加包之間的聯繫

建模實例

下面舉出包圖的兩個例子,來說明包圖的具體使用方法。

第一個例子反映的是在建模過程中各模型元素的組織情況,使用套件依照系統分析設計的階段來組織各種模型。

raw-image

建模過程中各模型元素的組織狀況

第二個例子描述了系統開發中各元素的組織情況。 UI中包含了使用的各種使用者介面,BLL中包含了業務邏輯處理的各種類或接口,DAL中包含了資料存取層的相關類,Common中存放的是系統各個模組共用的一些元件或類是內容。

raw-image

系統開發中各元素的組織狀況

留言
avatar-img
ProcessOn的沙龍
10會員
197內容數
分享心智圖與流程圖使用技巧
ProcessOn的沙龍的其他內容
2026/02/03
你知道韋恩圖嗎?你知道我們日常很多場合可以使用韋恩圖嗎?不過不知道也沒關係,小編幫你回顧一下,你會發現你不只知道,還很熟悉。其實我們都知道韋恩圖的原理,高中的時候我們學過集合關係,而韋恩圖只是用來顯示元素集合重疊區域的圖示。
Thumbnail
2026/02/03
你知道韋恩圖嗎?你知道我們日常很多場合可以使用韋恩圖嗎?不過不知道也沒關係,小編幫你回顧一下,你會發現你不只知道,還很熟悉。其實我們都知道韋恩圖的原理,高中的時候我們學過集合關係,而韋恩圖只是用來顯示元素集合重疊區域的圖示。
Thumbnail
2026/01/29
甘特圖(Gantt chart) 又叫橫道圖、長條圖(Bar chait)。甘特圖內在思想簡單,即以圖示的方式透過活動清單和時間刻度形象化地表示任何特定項目的活動順序與持續時間。
Thumbnail
2026/01/29
甘特圖(Gantt chart) 又叫橫道圖、長條圖(Bar chait)。甘特圖內在思想簡單,即以圖示的方式透過活動清單和時間刻度形象化地表示任何特定項目的活動順序與持續時間。
Thumbnail
2026/01/26
在數據驅動決策的時代,圖表已成為商業分析、學術研究、專案管理中的"通用語言"。餅圖作為資料視覺化領域的基礎且強大的工具,憑藉其簡潔明了的呈現形式,成為了人們處理和解讀資料的得力助手。本文將帶您系統掌握圓餅圖的概念,分類與實戰技巧,幫助您輕鬆駕馭這經典的圖表形態。
Thumbnail
2026/01/26
在數據驅動決策的時代,圖表已成為商業分析、學術研究、專案管理中的"通用語言"。餅圖作為資料視覺化領域的基礎且強大的工具,憑藉其簡潔明了的呈現形式,成為了人們處理和解讀資料的得力助手。本文將帶您系統掌握圓餅圖的概念,分類與實戰技巧,幫助您輕鬆駕馭這經典的圖表形態。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在競爭激烈的商場中,企業的成長往往伴隨著組織的頻繁調整。無論是為了提升品牌形象而進行的辦公室遷址,或是為了引進策略投資人而進行的資本額增資,每一項工商變更登記都代表著企業發展的新里程。 對於深耕於新竹與竹北地區的老闆們而言,如何在高效率的節奏下,確保所有公司登記與稅籍異動完全符合法規要求,且不影響
Thumbnail
在競爭激烈的商場中,企業的成長往往伴隨著組織的頻繁調整。無論是為了提升品牌形象而進行的辦公室遷址,或是為了引進策略投資人而進行的資本額增資,每一項工商變更登記都代表著企業發展的新里程。 對於深耕於新竹與竹北地區的老闆們而言,如何在高效率的節奏下,確保所有公司登記與稅籍異動完全符合法規要求,且不影響
Thumbnail
隨著 2026 年的到來,新竹與竹北地區的商業活力持續蓬勃發展。對於許多準備在新的一年大展身手的創業家,或是計畫擴張版圖的現有企業主而言,「公司登記」與「工商變更」不僅是法律上的必要程序,更是建立品牌公信力與啟動商業計畫的關鍵基石。 在新設公司或調整組織架構的過程中,如何確保行政流程的高效與精
Thumbnail
隨著 2026 年的到來,新竹與竹北地區的商業活力持續蓬勃發展。對於許多準備在新的一年大展身手的創業家,或是計畫擴張版圖的現有企業主而言,「公司登記」與「工商變更」不僅是法律上的必要程序,更是建立品牌公信力與啟動商業計畫的關鍵基石。 在新設公司或調整組織架構的過程中,如何確保行政流程的高效與精
Thumbnail
整理一套以 Nano Banana Pro 為核心的專業圖表生成教學筆記,從實務角度出發,使用的 AI 圖像生成提示詞整理,包含:(1)流程圖;(2)里程碑圖;(3)甘特圖;(4)價值流圖;(5)策略架構圖;(6)工作分解結構圖;(7)SWOT分析圖;(8)價值主張圖;(9)魚骨圖;(10)心智圖。
Thumbnail
整理一套以 Nano Banana Pro 為核心的專業圖表生成教學筆記,從實務角度出發,使用的 AI 圖像生成提示詞整理,包含:(1)流程圖;(2)里程碑圖;(3)甘特圖;(4)價值流圖;(5)策略架構圖;(6)工作分解結構圖;(7)SWOT分析圖;(8)價值主張圖;(9)魚骨圖;(10)心智圖。
Thumbnail
前一陣子我看到一篇資料,提到Deep Research或許不是一開始探索未知領域最好的起點。而是應該使用Perplexity或是Felo這樣的工具來建立一開始的基礎知識架構,他的優點有 可以追溯資料來源 容易讀完 可以形成心智圖,持續追蹤主題和相關議題的關係(Felo提供了類似的架構) 擷取
Thumbnail
前一陣子我看到一篇資料,提到Deep Research或許不是一開始探索未知領域最好的起點。而是應該使用Perplexity或是Felo這樣的工具來建立一開始的基礎知識架構,他的優點有 可以追溯資料來源 容易讀完 可以形成心智圖,持續追蹤主題和相關議題的關係(Felo提供了類似的架構) 擷取
Thumbnail
Mermaid是一個基於文字的圖表繪製工具,使用簡單的語法就能生成各種圖表,例如流程圖、時序圖、甘特圖等。它支援多個平臺,包括GitHub、Notion、VS Code等,方便使用者在文件、筆記、程式碼專案中嵌入可視化內容。本文將介紹Mermaid的使用步驟、應用場景和一些進階運用技巧。
Thumbnail
Mermaid是一個基於文字的圖表繪製工具,使用簡單的語法就能生成各種圖表,例如流程圖、時序圖、甘特圖等。它支援多個平臺,包括GitHub、Notion、VS Code等,方便使用者在文件、筆記、程式碼專案中嵌入可視化內容。本文將介紹Mermaid的使用步驟、應用場景和一些進階運用技巧。
Thumbnail
Xmind AI 心智圖是什麼? 心智圖是一種將想法和資訊以圖像化組織的工具,能幫你清晰地整理思路、劃分重點,傳統心智圖需要使用者手動繪製、整理每個分支,遇到大量資訊時往往耗時費力,現在Xmind AI 可以一鍵輸入提示生成整張心智圖,並自動整理相關想法。
Thumbnail
Xmind AI 心智圖是什麼? 心智圖是一種將想法和資訊以圖像化組織的工具,能幫你清晰地整理思路、劃分重點,傳統心智圖需要使用者手動繪製、整理每個分支,遇到大量資訊時往往耗時費力,現在Xmind AI 可以一鍵輸入提示生成整張心智圖,並自動整理相關想法。
Thumbnail
當房客不按租約繳交房租時,若租約經過公證,房東可直接聲請強制執行收回房屋;若未經公證,則需經過訴訟程序才能實現。這一過程繁瑣且耗時,房東在出租房屋前應考慮是否進行租約公證,以平衡法律成本與潛在風險。
Thumbnail
當房客不按租約繳交房租時,若租約經過公證,房東可直接聲請強制執行收回房屋;若未經公證,則需經過訴訟程序才能實現。這一過程繁瑣且耗時,房東在出租房屋前應考慮是否進行租約公證,以平衡法律成本與潛在風險。
Thumbnail
之前分享過 Notion 卡片盒筆記缺乏圖像化流程圖的視覺呈現,雖然我個人較少用到,但是還是收到一些希望能有圖像化顯示的訊息。最近發現一個 Figma 外掛,可以將便利貼牆匯入 Notion 資料庫,或許也能補足圖像化製作流程圖等方面的需求!
Thumbnail
之前分享過 Notion 卡片盒筆記缺乏圖像化流程圖的視覺呈現,雖然我個人較少用到,但是還是收到一些希望能有圖像化顯示的訊息。最近發現一個 Figma 外掛,可以將便利貼牆匯入 Notion 資料庫,或許也能補足圖像化製作流程圖等方面的需求!
Thumbnail
3W分析法簡單明瞭,快速解答問題;MECE原則則需要深入思考和全面分析。3W分析法快速通關;MECE原則需要更多的時間和耐心。🕒深入講解何時選擇3W分析法與MECE原則,以及MECE原則的挑戰和解決方案,讓你更深入了解MECE原則的應用,以及如何克服潛在的困難。要成為MECE大師,不容錯過!🚀
Thumbnail
3W分析法簡單明瞭,快速解答問題;MECE原則則需要深入思考和全面分析。3W分析法快速通關;MECE原則需要更多的時間和耐心。🕒深入講解何時選擇3W分析法與MECE原則,以及MECE原則的挑戰和解決方案,讓你更深入了解MECE原則的應用,以及如何克服潛在的困難。要成為MECE大師,不容錯過!🚀
Thumbnail
  心智圖是一種可視化的思維工具,透過分層的樹狀結構,幫助我們將複雜的概念和信息整理成簡單易懂的圖像。而程式邏輯則是指在程式設計中,用來解決特定問題或執行特定任務的一系列規則和步驟。心智圖與程式邏輯雖然表現形式和應用場景不同,但兩者之間存在著密切的關係。
Thumbnail
  心智圖是一種可視化的思維工具,透過分層的樹狀結構,幫助我們將複雜的概念和信息整理成簡單易懂的圖像。而程式邏輯則是指在程式設計中,用來解決特定問題或執行特定任務的一系列規則和步驟。心智圖與程式邏輯雖然表現形式和應用場景不同,但兩者之間存在著密切的關係。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News