元件套件与部署图课件_第1页
元件套件与部署图课件_第2页
元件套件与部署图课件_第3页
元件套件与部署图课件_第4页
元件套件与部署图课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第15章 組合結構、元件、套件與部署圖15-1 組合結構圖15-2 元件圖15-3 套件圖15-4 部署圖15-5 繪製本章的結構圖15-6 綜合練習15-1 組合結構圖15-1-1 內部結構15-1-2 連接埠15-1-3 合作 15-1 組合結構圖組合結構圖(Composite Structure Diagrams)是UML 2.0版新增的圖形,可以呈現類別的內部結構(Internal Structure),描述執行時物件和相關物件之間是如何合作。我們可以使用組合結構圖來呈現4+1觀點軟體系統模型的邏輯觀點,如下圖所示:15-1-1 內部結構-說明組合結構圖的內部結構是用來描述類別中元素的

2、關係和之間是如何合作,內部結構類似類別圖,但是它是使用組件和連接器來描述,其中組件並不是代表特定的實例,而是表示它在類別中扮演的角色。15-1-1 內部結構-組件(類別圖)組件(Parts)是一個位在實例(Instance)容器中,在執行期代表0至多個實例的元素,例如:在一個圖畫的實例中擁有一組圖形元素,這組圖形元素就是組件。例如:電子郵件的類別圖擁有組合關係,如下圖所示:15-1-1 內部結構-組件(內部結構)郵件類別與標題和內容類別擁有組合關係,其多重性為1,角色分別為:mailHead和mailBody,將這個類別圖轉換成內部結構,如下圖所示:15-1-1 內部結構-連接器連接器(Con

3、nector)是用來表示組件之間的關係,在實線連接線的兩端可以標示多重性,如下圖所示:15-1-2 連接埠-1連接埠(Ports)是定義類別與外部環境互動的點,以外部觀點來顯示類別如何被其他類別所使用。我們可以在組件、類別或組合結構圖的邊界顯示連接埠符號的小長方形,如右圖所示:15-1-2 連接埠-2連接埠也可以位在組件的邊界上,例如:車類別是由兩個前輪和引擎組成,兩個組件分別是輪子和引擎,如下圖所示:15-1-3 合作合作(Collaboration)是定義一組共同操作的角色來完成定義的工作或功能,一種很好的方式來描述設計樣式。合作的符號是虛線的橢圓形,外部參與可以連接至合作的橢圓形。例如:

4、Observer樣式,如右圖所示:15-2 元件圖15-2-1 元件15-2-2 元件的提供與需求介面15-2-3 元件實現與白箱觀點15-2-4 組裝連接器與黑箱觀點15-2-5 元件與連接埠15-2-6 委派連接器15-2 元件圖元件圖(Component Diagrams)是用來視覺化呈現系統元件的組織和之間的關係,元件可以將系統組織成可管理、可重複使用和可替換的軟體零件。我們可以使用元件圖來呈現4+1觀點軟體系統模型的開發觀點,如下圖所示:15-2-1 元件-說明元件(Components)是一個封裝、可重複使用和可替換的軟體零件,我們可以將元件想像成一塊一塊積木,將各種積木組合起來就

5、可以建立軟體系統,所以元件的尺寸可大可小,小到只有一個類別,或大到是一個子系統(Subsystems)。15-2-1 元件-符號1UML元件圖的元件是一個長方形框,在上方標示模版(也可以不標示模版,但一定要有右上角的圖示),右上方有一個標籤長方形的圖示。例如:訂單與客戶元件,如下圖所示:15-2-1 元件-符號2如果元件是一個大型軟體系統中的子系統,我們可以將模版從改為,例如:工作流程引擎(Workflow Engine)子系統,如下圖所示:15-2-2 元件的提供與需求介面-提供介面提供介面是描述元件本身提供的服務,其他元件和類別與之互動就是透過提供介面,在元件圖是使用小圓球符號來表示,例如

6、:客戶元件的客戶資料介面是一個提供介面,如下圖所示:15-2-2 元件的提供與需求介面-需求介面需求介面是一種使用的相依關係,更正確的說,元件需要其他元件和類別提供的功能,在元件圖是使用小半圓形凹槽符號來表示,例如:訂單元件的付款介面是一個需求介面,如下圖所示:15-2-3 元件實現與白箱觀點-元件實現1在元件內部可以包含描述元件功能的元素,這些是用來完成元件工作的元素,稱為元件實現(Component Realize),例如:在部落格元件包含部落格和項目的類別,和之間的聚合關係,如下圖所示:15-2-3 元件實現與白箱觀點-元件實現2元件實現的類別也可以置於元件之外,使用相依關係來連接元件,

7、如下圖所示:15-2-3 元件實現與白箱觀點-白箱觀點前述元件圖也稱為元件的白箱觀點(White-Box Views)或內部觀點(Internal View),可以從一個元件的內部來檢視實作功能的類別、介面或其他元件。15-2-4 組裝連接器與黑箱觀點-組裝連接器(說明)元件圖的連接器(Connectors)可以建立元件之間的連接,分為組裝連接器(Assembly Connectors)和委派連接器(Delegation Connectors)兩種。筆者在這一節說明組裝連接器,第15-2-6節說明委派連接器。組裝連接器連接元件的需求介面和其他元件的提供介面,允許一個元件提供其他元件需求的服務。

8、組裝連接器的符號是將提供介面的小圓球和需求介面的凹槽結合起來。15-2-4 組裝連接器與黑箱觀點-組裝連接器(範例)例如:訂單與產品;訂單與客戶元件,分別使用組裝連接器來連接,如下圖所示:15-2-4 組裝連接器與黑箱觀點-黑箱觀點一般來說,組裝連接器建立的元件圖是從外部將元件視為一個黑箱來檢視,而不考量元件內部的實作元素,就稱為元件的黑箱觀點(Black-Box Views)或外部觀點(External Views)。黑箱觀點通常超過一個元件,強調元件之間的連接;白箱觀點針對單一元件,在實作上,當塑模軟體系統時,因為黑箱觀點著重在系統架構的元件,我們可以使用黑箱觀點來顯示系統的關鍵元件和之間

9、的連接;白箱觀點顯示元件是使用哪些元素來完成其功能。15-2-5 元件與連接埠在第15-1節說明的連接埠(Ports)也可以使用在元件圖,我們可以在元件圖使用連接埠來群組相關介面,提供雙向的輸入與輸出,例如:訂單處理有1個提供介面和1個需求介面,如下圖所示:15-2-6 委派連接器-說明元件的介面可以使用內部元素來實現,委派連接器(Delegation Connectors)是用來連接外部介面連接的連接埠至內部組件的元素,指出哪一個元素與介面實現有關係和其通訊的方向。15-2-6 委派連接器-圖例委派連接器的符號就是單向結合關係,如果是元件的提供介面,箭頭方向是從連接埠至內部元素;需求介面是從

10、內部元素至連接埠,如下圖所示:15-3 套件圖15-3-1 套件15-3-2 套件的相依關係15-3-3 簡化複雜的UML圖形15-3 套件圖套件圖(Package Diagrams)是在中大型專案中描述模型元素的群組與組織,可以顯示子系統或模組之間的結構與關係。我們可以使用套件圖來呈現4+1觀點軟體系統模型的開發觀點,如下圖所示:15-3-1 套件-符號UML套件圖是一個邏輯容器來群組相關的元素,我們可以將套件視為Windows作業系統的資料夾,在其中的每一個檔案就是一個UML圖形;每一個資料夾是另一個套件。UML套件是使用資料夾符號來表示,在左上方標籤是套件名稱,例如:GUI和搜尋套件,如

11、下圖所示:15-3-1 套件-內容1套件的內容可以是其他UML圖形,以類別來說,其繪法有兩種:將類別置於套件中,或位在套件符號之外,如下圖所示:15-3-1 套件-內容2套件內容也可以是UML的使用案例圖,如下圖所示:15-3-1 套件-命名空間與類別的完整範圍名稱如果套件是用來群組類別,套件就是建立一個命名空間(Namespace),所以在套件中的所有類別名稱必須是唯一名稱。當有其他套件需要存取套件中的類別時,我們需要使用完整範圍名稱(Full-Scoped Name)來進行存取,其基本語法如下所示:套件名稱:類別名稱在使用上,如果是同一個套件的類別相互參考,只需使用類別名稱即可,並不需要使

12、用完整範圍名稱;如果是其他套件,例如:參考【安全】套件的【證件】類別時,就需要使用完整範圍名稱,如下所示:安全:證件15-3-2 套件的相依關係-套件匯入當套件匯入其他套件,表示匯入套件(Improting Package)的類別可以直接使用目標套件(Target Package或Imported Package)的類別,而不需使用完整範圍名稱,如下圖所示:15-3-2 套件的相依關係-套件存取套件存取是在連接線上使用模版取代模版,表示它是一種private的套件匯入,匯入的類別只能讓套件中的類別使用,並不能讓套件外的類別使用,如下圖所示:15-3-2 套件的相依關係-套件合併套件合併隱含是一

13、種類別的一般關係,表示在目標套件擁有來源套件的同名類別,這是在連接線上使用模版標示的相依關係,如下圖所示:15-3-3 簡化複雜的UML圖形-說明套件可以簡化複雜軟體系統的UML圖形,雖然套件可以使用在所有的UML圖形,不過,最常使用的是:使用案例圖和類別圖。當系統愈來愈複雜時,使用案例圖和類別圖也會一併愈來愈複雜,我們需要使用套件來適當切割成模組或子系統。15-3-3 簡化複雜的UML圖形-簡化使用案例圖在第6-5節大專院校的課程註冊系統使用案例圖有些複雜,我們可以將它分割成兩個套件【學生選課】和【學生註冊】的使用案例圖,如下圖所示:15-3-3 簡化複雜的UML圖形-使用套件的時機與基本原

14、則當UML圖形在一張紙上都畫不下時,我們就可以使用套件將UML圖形切割成幾個較小的子系統,通常包含59個使用案例和類別,可以讓UML圖形更加容易了解。在套件中的元素必須有內聚力(Cohesive),當我們考量將模型元素置於套件時,需要考慮加入元素後,套件是否仍然有意義,也就是能夠使用一個簡短名稱來代表套件的模組或子系統,如果可以,表示這些元素擁有內聚力,反之,可能只是一些不相關的元素。對於使用案例圖來說,我們需要將相關的使用案例包裝成套件。對於類別圖來說,我們需要將相關的類別包裝成套件。15-4 部署圖15-4-1 節點15-4-2 產出物15-4-3 在節點部署產出物15-4-4 通訊路徑1

15、5-4 部署圖部署圖(Deployment Diagrams)是用來視覺化呈現系統實際硬體元件的拓撲(Topology),即一種實體的電腦架構。換句話說,部署圖是描述安裝軟體系統的實際硬體環境,可以用來呈現4+1觀點軟體系統模型的實際觀點,如下圖所示:15-4-1 節點-硬體裝置節點硬體裝置節點就是代表擁有實際運算資源的硬體設備,例如:伺服器、工作站、桌上型電腦和行動裝置等,其符號是立體方塊,在上方標示模版,如下圖所示:15-4-1 節點-執行環境節點執行環境節點是一種軟體節點的作業系統、資料庫系統、工作流程引擎、J2EE Container、瀏覽程式和Web伺服器等,其符號是立體方塊,在上方

16、標示模版,如下圖所示:15-4-1 節點-節點實例當部署圖同時出現多個相同型態的節點時,我們可以使用節點實例來區分這些節點是不同的節點,其名稱的基本語法,如下所示:名稱:型態例如:Sun工作站ws1,其節點實例名稱為【ws1:Sun工作站】,和加上底線,如下圖所示:15-4-2 產出物-說明產出物(Artifact)是準備要部署在節點上的東西,它就是軟體執行時所需的一些實體檔案,包含:可執行檔.exe或Java的.jar檔案。函數庫檔案.dll,或Java支援的.jar檔。原始程式碼檔案的.java、.cpp、.cs和.vb等檔案。軟體執行時所需的設定檔.xml、.properties或.tx

17、t等檔案。15-4-2 產出物-符號產出物的符號是一個長方形,在上方標示模版(可有可無),右上角是文件的小圖示,如下圖所示:15-4-2 產出物-相依關係在產出物之間可以擁有相依關係,其符號就是類別的相依關係,如下圖所示:15-4-2 產出物-表現關係表現關係(Manifest Relationship)是指產出物實際上就是代表其他UML元素,例如:元件、套件或類別等,此時我們可以使用相依關係的虛線箭頭,在連接線上標示模版來表示,如下圖所示:15-4-3 在節點部署產出物-方式一在節點部署產出物有兩種方式:第一種是最簡單方式,就是直接將產出物置於節點的立體方塊中,如下圖所示:15-4-3 在節

18、點部署產出物-方式二第二種方式是將產出物置於節點外,然後使用相依關係的虛線箭頭連接產出物與節點,並且在連接線上標示模版,如下圖所示:15-4-4 通訊路徑通訊路徑(Communication Path)是用來顯示在執行時,節點和其他節點進行通訊的路徑,使用結合關係的實線來表示,如下圖所示:15-5 繪製本章的結構圖15-5-1 繪製組合結構圖15-5-2 繪製元件圖15-5-3 繪製套件圖15-5-4 繪製部署圖15-5-1 繪製組合結構圖-建立組件在SIM的工具箱視窗的【組合結構圖】區段,拖拉加入類別後,就可以放大類別尺寸,在之中拖拉建立組件和輸入組件名稱,如下圖所示:15-5-1 繪製組合

19、結構圖-建立連接埠在組件之間建立連接器是使用【結合關係】。連接埠可以拖拉至類別或組件的框線上,然後調整尺寸,如下圖所示:15-5-2 繪製元件圖-繪製元件在SIM的工具箱視窗的【元件圖】區段,拖拉加入元件後,就可以開啟屬性視窗新增自訂模版來建立元件,如果選可用模版是建立子系統,如下圖所示:15-5-2 繪製元件圖-繪製內部類別我們可以放大元件尺寸,在元件中新增子元件。如果新增的是內部類別,我們需要先在SIM建立一個【類別圖】,接著選取類別圖後,將它複製和貼上至元件之中,就可以建立實現元件的類別,如下圖所示:15-5-2 繪製元件圖-繪製需求與提供介面在SIM繪製需求介面只需選【需求介面】,然後選元件,再向外拖拉就可以建立。提供介面的建立有兩個步驟,請先選介面,然後放大介面尺寸,可以看到介面的小圓形,然後使用【結合關係】建立介面與元件之間的連接線,就可以建立提供介面和輸入名稱,不過,因為需求介面的名稱預設是位在連接線上,請拖拉至凹槽符號的上方,如下圖所示:15-5-2 繪製元件圖-繪製組裝連接器與委派連接器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论