前言
需求分析與流程設計完成後,進入系統結構設計階段。本文介紹 Visual Studio 2010 對 UML 組件圖 的支援,演示邏輯系統結構建模方法。
背景關聯
- 前篇:序列圖設計消息序列
- 後篇:邏輯類圖實現系統組件
- 參考:IBM DeveloperWorks 組件圖詳解
組件圖核心價值
- 展示系統獨立功能模組(Web Service、.NET 組件、COM、CLR、UI 等)
- 從「提供」與「消費」接口視角理解邏輯結構
- 預定義組件間通訊協議接口,指導後續類設計實現
- 架構師項目初期建立,贯穿系統生命週期的關鍵文檔
VS2010 組件圖建立步驟
- 新建解決方案
- 新建 Modeling Project
- 右鍵專案 → Add New Item → Component Diagram (.component)
- 從工具箱拖放元素繪製
VS2010 組件圖元素工具箱
| 元素 | 名稱 | 用途 |
| Component | 組件模型 | 獨立功能單元(終端、應用系統、系統級組件、網關) |
| Dependency | 依賴關係 | 組件間依賴,可命名為通訊協議(HTTP、SOAP) |
| Delegation | 代理關係 | 委派實現 |
| ProvidedInterface | 提供接口 (棒棒糖) | 組件對外暴露的服務契約 |
| RequiredInterface | 需求接口 (插座) | 組件所需的外部服務契約 |
| Comment/CommentLink | 註釋/註釋鏈接 | 文檔說明 |
| Generalization | 泛化關係 | 繼承/實現關係 |
組件圖繪製四步法
1. 繪製系統組件
拖放 Component,命名並設置屬性。初學者重點識別:
- 終端組件(瀏覽器、客戶端)
- 應用級組件(Web App、Service)
- 系統級組件(核心業務邏輯、數據訪問)
- 網關組件(支付網關、消息隊列、外部 API)
2. 組件間關係設計(接口驅動)
- 先設計 提供接口 (棒棒糖)——組件對外能力
- 再定義 消費接口 (插座)——組件依賴外部能力
- 接口名稱即服務契約名(如 IOrderService、IPaymentGateway)
3. 通訊協議綁定
使用 Dependency 連接提供/需求接口,命名為協議:HTTP、SOAP、TCP、Message Queue 等。
4. 數據庫依賴建模
系統組件與數據庫組件建立 Dependency,必要時設置屬性(連接字串、ORM 框架等)。
模型查看器輔助設計
VS2010 提供模型瀏覽器,可縱覽所有模型元素清單,輔助大型系統架構把控。
結語
組件圖是架構級產出,文檔化系統邏輯結構與接口契約,指導開發與運維。下篇將轉入邏輯類圖,實現組件定義的接口契約。
- 上一篇文章: NHibernate實戰(1):開篇導讀與學習資源指南
- 下一篇文章: Visual Studio 2010 序列圖實戰:動態行為建模與組合片段詳解
Copyright ©
程式碼之家 All Rights Reserved