1. 程式人生 > >【UML學習】--構件圖和部署圖

【UML學習】--構件圖和部署圖

一、構件圖(元件圖)

     一輛汽車由輪子、發動機等物理部件組成,一個軟體往往也是由很多“物理部件”(如:控制元件、重用構件等)組成的,元件圖就是用來描述軟體內部物理組成的一種圖。

1.構件表示的變化:

(1)UML1.4中


(2)UML2.0中


2.構件圖中的關係


3.構件圖的兩個示例:


4.主要目的:

      顯示系統構件間的結構關係,在UML2.0中,構件被認為是獨立的,在一個系統或子系統中的封裝單位,提供一個或多個介面。雖然 UML 2.0 規範沒有嚴格地宣告它,但是構件是呈現事物的更大的設計單元,這些事物一般將使用可更換的組構件來實現。但是,並不象在 UML 1. x中,現在,構件必須有嚴格的邏輯,設計時構造。主要思想是,你能容易地在你的設計中重用及/或替換一個不同的構件實現,因為一個構件封裝了行為,實現了特定介面。這也是軟體工程可重用思想的重要體現。

5.作用:

 構件圖對於不同的專案開發小組是有用的交流工具。
     (1)關鍵專案發起人及實現人員:通常,當構件圖將系統的實現人員連線起來的時候,構件圖通常可以使專案發起人感到輕鬆,因為圖展示了對將要被建立的整個系統的早期理解。
     (2)對於開發者: 構件圖給他們提供了將要建立的系統的高層次的架構檢視,這將幫助開發者開始建立實現的路標,並決定關於任務分配及(或)增進需求技能。
     (3)系統管理員:可以獲得將運行於他們系統上的邏輯軟體構件的早期檢視。雖然系統管理員無法從圖上確定物理裝置或物理的可執行程式,但是,他們仍然比較喜歡構件圖,因為它較早地提供了關於構件及其關係的資訊(這可以幫助系統管理員輕鬆地計劃後面的工作)。

    小結:

    元件圖經常是一個架構師在專案的初期就建立的非常重要的圖。然而,元件圖的有用性跨越了系統的壽命。元件圖是無價的,因為它們模型化和文件化了一個系統的架構。因為元件圖文件化了系統的架構,開發者和系統可能的系統管理員會發現這一工作的關鍵產品有助於他們理解系統。


二、部署圖:

    部署圖是用來描述系統如何部署、本系統與其他系統是怎樣的關係的圖,用於靜態建模,主要表示執行時過程節點結構、構件例項及其物件結構。

1.組成:

    部署圖包括兩種基本模型元素:節點和節點間的連線。每個模型中,僅包含一個部署圖。節點包括兩種型別:處理器和裝置。
    一個節點,通常描述成一個立體的盒子,表示一個計算裝置,一般是一個單獨的硬體裝置,例如一臺電腦,網路路由器,主機,感測器,或個人數字助理(PDA)。 


2.目的:

  (1)描述一個具體應用的主要部署結構,通過對各種硬體,在硬體中的軟體以及各種連線協議的顯示,可以很好的描述系統是如何部署的。
 (2)平衡系統執行時的計算資源分佈;可以通過連線描述組織的硬體網路結構或者是嵌入式系統等具有多種硬體和軟體相關的系統執行模型。

3.部署圖示例:



4.部署圖與構件圖關係

(1)部署圖與構件圖相同的構成元素:
構件、介面、構件例項、構件向外提供服務、構件要求外部提供的服務。
(2)部署圖與構件圖的區別:
①部署圖表現構件例項;  構件圖表現構件型別的定義。
②部署圖偏向於描述構件在節點中執行時的狀態,描述了構件執行的環境;

構件圖偏向於描述構件之間相互依賴支援的基本關係。

  總結:

       構件圖和部署圖屬於UML的實現圖,他們都是用來幫助設計系統的整體架構的。但是兩者的作用還有所不同,使用構件圖可以幫助讀者瞭解某一個功能位於軟體包的哪個位置,以及各個版本的軟體包含什麼功能。使用部署圖可以幫助讀者瞭解軟體中國各個構件駐留在硬體的哪個位置,以及這些硬體之間的互動關係。一般來說,當開發一個大型系統時,會比較需要組建圖和部署圖這兩個圖。


相關推薦

UML學習--構件部署

一、構件圖(元件圖)      一輛汽車由輪子、發動機等物理部件組成,一個軟體往往也是由很多“物理部件”(如:控制元件、重用構件等)組成的,元件圖就是用來描述軟體內部物理組成的一種圖。1.構件表示的變化: (1)UML1.4中 (2)UML2.0中 2.構件圖中的關係

UML學習--繪製的要點例項分析

先百度一下,Unified Modeling Language (UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準,它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援,包括由需求分析到規格,到構造和配置。

uml 9種構件部署

    構件圖(Component diagram)是面向物件系統從物理方面建模時用到的圖之一,顯示一組構件之間的組織和依賴關係。使用構件圖的思想是複用。就像是我們蓋房子,當房子的大體框架建好之後,剩

UML之實現---構件部署

簡介    UML中的實現圖是用來描述系統實現方面的資訊,從系統層次來描述硬體的組成和佈局還有軟體系統劃分和功能的實現等問題。實現圖分為構件圖和部署圖兩種。構件圖(Component diagram

UML---構件部署

前言: 我們在面向物件系統的物理方面建模時使用構件圖和部署圖,而這兩種圖從屬於實現檢視。 內容: 一、構件圖 1、構件圖 構件圖是用來表示系統中構件與構件之間,以及定義的類(或介面)與構件

UML建模之包、元件部署學習筆記

UML建模中包圖、元件圖和部署圖學習筆記 對於較大的專案進行UML建模,由於有很多的類和用例,僅僅利用類圖和用例圖的話,常常會使結構變得更為複雜。此時如果可以以功能模組劃將類圖和用例圖進行封裝,可以很好地簡化結構圖,讓開發人員或者使用人員更容易看懂整個結構或流程。此時包圖

機器學習--LDA初始應用

alloc learn .get lis oca pat 文章 text 對應關系 一、前述 LDA是一種 非監督機器學習 技術,可以用來識別大規模文檔集(document collection)或語料庫(corpus)中潛藏的主題信息。它采用了詞袋(bag of word

Fiddler學習Fiddler簡介Web抓包應用(轉)

  一、Fiddler是什麼?     Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊,設定斷點,檢視所有的進出Fiddler的資料。 Fiddler 要比其他的網路偵錯程式要更加簡單,因為它不僅僅暴露http通

機器學習生成模型判別模型

定義: 生成方法由資料學習聯合概率分佈P(x, y),然後求出條件概率分佈P(y|x)作為預測的模型。 包括樸素貝葉斯,貝葉斯網路,高斯混合模型,隱馬爾科夫模型等。 判別方法由資料直接學習決策函式

爬蟲工具Fiddler學習Fiddler簡介Web抓包應用-----------一

https://blog.csdn.net/persistencegoing/article/details/84376427 一、Fiddler是什麼?     Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊,設定

tensorflow 學習tf.get_variable()tf.Variable()的區別

1. tf.Variable() W = tf.Variable(<initial-value>, name=<optional-name>) 用於生成一個初始值為initial-value的變數。必須指定初始化值 2.tf.get_variab

C#學習delegate(委託) event(事件)

C# 中的委託(Delegate)類似於 C 或 C++ 中函式的指標。委託(Delegate) 是存有對某個方法的引用的一種引用型別變數。引用可在執行時被改變。在C#中方法不能作為引數直接傳遞,必須使用委託(用來委託方法)。delegate(委託)是一種特殊的引用型別,它將方法也作為特殊的物件封裝

機器學習Tensorflow:理解實現快速風格化影象fast neural style

Neural Style開闢了計算機與藝術的道路,可以將照片風格化為名家大師的畫風。然而這種方法即使使用GPU也要花上幾十分鐘。Fast Neural Style則啟用另外一種思路來快速構建風格化影象,在筆記本CPU上十幾秒就可以風格化一張圖片。我們來看看這是什

EasyAR學習縮放拖動模型

        開發AR手機端軟體時,雙手縮放、拖動模型是最常見的功能,也是一種最基本的互動手段。        在 Unity 中想要獲取使用者的鍵盤或滑鼠的事件的話,就必須使用 Input 類來獲取。一般來說 Input 類的方法需要寫在 Update() 方法中。   

IOS學習訊息轉發它的實際應用

訊息轉發,適用於把操作給另外一個類來實現 -(NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { NSMethodS

tensorflow 學習tf.split()tf.squeeze()

split( value, num_or_size_splits, axis=0, num=None, name='split' ) 輸入: value: 輸入的tensor num_or_size_splits:

軟考——面向物件技術(互動構件、組合結構、協作部署、包

互動圖???——》對系統的動態方面進行建模; 互動圖組成???——》物件、訊息、生命線等; 互動圖表現???——》序列圖、通訊圖、互動概覽圖、計時圖、狀態圖; 順序圖主要元素

UML-活動、狀態、互動部署構件

活動圖描述活動流程活動圖與流程圖區別:活動圖可以併發執行動作,流程圖不可以。描述動態資訊。活動圖基本要素:(開始和結束成對出現)在實際專案中,活動圖不是必須的。狀態圖描述特定物件所有可能狀態以及狀態的轉移狀態圖和活動圖區別:狀態圖側重行為結果,活動圖側重動作狀態圖基本要素:狀

UML物件

【包圖】 1.什麼是包圖 包圖是在UML中用類似於資料夾的符號來表示模型元素的組合。 2.包的圖符 3.包中的元素 類、介面、構件、用例、其他包等 如果包被撤銷,則其中的元素也被撤銷了。 4.包的作用 (1)邏輯上把一個複雜的圖模組化。 (2)組織原始碼。

看懂UML時序轉載

前言: 本文是在部落格上瀏覽了幾篇博文的基礎上進行的相應整理總結,感謝原創博主的無私分享。本文最後有附上原創博文地址,UML作為程式設計師的一個交流與規劃工具,我們還是要好好學習其中的約定和表示的: 看懂UML類圖和時序圖 這裡不會將UML的各種元素都提到